Package org.apache.fop.layoutmgr
Class TraitSetter
java.lang.Object
org.apache.fop.layoutmgr.TraitSetter
This is a helper class used for setting common traits on areas.
-
Method Summary
Modifier and TypeMethodDescriptionstatic void
addBackground
(Area area, CommonBorderPaddingBackground backProps, PercentBaseContext context) Add background to an area.static void
addBackground
(Area area, CommonBorderPaddingBackground backProps, PercentBaseContext context, int ipdShift, int bpdShift, int referenceIPD, int referenceBPD) Add background to an area.static void
addBorders
(Area area, CommonBorderPaddingBackground borderProps, boolean discardBefore, boolean discardAfter, boolean discardStart, boolean discardEnd, PercentBaseContext context) Add borders to an area.static void
addBorders
(Area area, CommonBorderPaddingBackground borderProps, PercentBaseContext context) Deprecated.Call the other addBorders() method and addPadding separately.static void
Sets the traits for breaks on an area.static void
addCollapsingBorders
(Area area, CommonBorderPaddingBackground.BorderInfo borderBefore, CommonBorderPaddingBackground.BorderInfo borderAfter, CommonBorderPaddingBackground.BorderInfo borderStart, CommonBorderPaddingBackground.BorderInfo borderEnd, boolean[] outer) Add borders to an area for the collapsing border model in tables.static void
addFontTraits
(Area area, Font font) Adds font traits to an areastatic void
addMargins
(Area area, CommonBorderPaddingBackground bpProps, int startIndent, int endIndent, PercentBaseContext context) Add space to a block area.static void
addMargins
(Area area, CommonBorderPaddingBackground bpProps, CommonMarginBlock marginProps, PercentBaseContext context) Add space to a block area.static void
addPadding
(Area area, CommonBorderPaddingBackground bordProps, boolean discardBefore, boolean discardAfter, boolean discardStart, boolean discardEnd, PercentBaseContext context) Add padding to an area.static void
addSpaceBeforeAfter
(Area area, double adjust, MinOptMax spaceBefore, MinOptMax spaceAfter) Adds traits for space-before and space-after to an area.static void
addStructureTreeElement
(Area area, StructureTreeElement structureTreeElement) Sets the structure tree element associated to the given area.static void
addTextDecoration
(Area area, CommonTextDecoration deco) Adds the text-decoration traits to the area.static int
getEffectiveSpace
(double adjust, MinOptMax space) Returns the effective space length of a resolved space specifier based on the adjustment value.static void
setBorderPaddingTraits
(Area area, CommonBorderPaddingBackground bpProps, boolean isNotFirst, boolean isNotLast, PercentBaseContext context) Sets border and padding traits on areas.static void
Sets the optional content group layer as a trait on the area.static void
setProducerID
(Area area, String id) Sets the producer's ID as a trait on the area.static void
setVisibility
(Area area, int visibility)
-
Method Details
-
setBorderPaddingTraits
public static void setBorderPaddingTraits(Area area, CommonBorderPaddingBackground bpProps, boolean isNotFirst, boolean isNotLast, PercentBaseContext context) Sets border and padding traits on areas.- Parameters:
area
- area to set the traits onbpProps
- border and padding propertiesisNotFirst
- True if the area is not the first areaisNotLast
- True if the area is not the last areacontext
- Property evaluation context
-
addBorders
public static void addBorders(Area area, CommonBorderPaddingBackground borderProps, PercentBaseContext context) Deprecated.Call the other addBorders() method and addPadding separately.Add borders to an area. Note: this method also adds unconditional padding. Don't use! Layout managers that create areas with borders can use this to add the borders to the area.- Parameters:
area
- the area to set the traits on.borderProps
- border propertiescontext
- Property evaluation context
-
addBorders
public static void addBorders(Area area, CommonBorderPaddingBackground borderProps, boolean discardBefore, boolean discardAfter, boolean discardStart, boolean discardEnd, PercentBaseContext context) Add borders to an area. Layout managers that create areas with borders can use this to add the borders to the area.- Parameters:
area
- the area to set the traits on.borderProps
- border propertiesdiscardBefore
- true if the before border should be discardeddiscardAfter
- true if the after border should be discardeddiscardStart
- true if the start border should be discardeddiscardEnd
- true if the end border should be discardedcontext
- Property evaluation context
-
addCollapsingBorders
public static void addCollapsingBorders(Area area, CommonBorderPaddingBackground.BorderInfo borderBefore, CommonBorderPaddingBackground.BorderInfo borderAfter, CommonBorderPaddingBackground.BorderInfo borderStart, CommonBorderPaddingBackground.BorderInfo borderEnd, boolean[] outer) Add borders to an area for the collapsing border model in tables. Layout managers that create areas with borders can use this to add the borders to the area.- Parameters:
area
- the area to set the traits on.borderBefore
- the resolved before borderborderAfter
- the resolved after borderborderStart
- the resolved start borderborderEnd
- the resolved end borderouter
- 4 boolean values indicating if the side represents the table's outer border. Order: before, after, start, end
-
addPadding
public static void addPadding(Area area, CommonBorderPaddingBackground bordProps, boolean discardBefore, boolean discardAfter, boolean discardStart, boolean discardEnd, PercentBaseContext context) Add padding to an area. Layout managers that create areas with padding can use this to add the borders to the area.- Parameters:
area
- the area to set the traits on.bordProps
- border and padding propertiesdiscardBefore
- true if the before padding should be discardeddiscardAfter
- true if the after padding should be discardeddiscardStart
- true if the start padding should be discardeddiscardEnd
- true if the end padding should be discardedcontext
- Property evaluation context
-
addBackground
public static void addBackground(Area area, CommonBorderPaddingBackground backProps, PercentBaseContext context, int ipdShift, int bpdShift, int referenceIPD, int referenceBPD) Add background to an area. This method is mainly used by table-related layout managers to add background for column, body or row. Since the area corresponding to border-separation must be filled with the table's background, for every cell an additional area with the same dimensions is created to hold the background for the corresponding column/body/row. An additional shift must then be added to background-position-horizontal/vertical to ensure the background images are correctly placed. Indeed the placement of images must be made WRT the column/body/row and not the cell.Note: The area's IPD and BPD must be set before calling this method.
TODO the regular
addBackground(Area, CommonBorderPaddingBackground, PercentBaseContext)
method should be used instead, and a means to retrieve the original area's dimensions must be found.TODO the placement of images in the x- or y-direction will be incorrect if background-repeat is set for that direction.
- Parameters:
area
- the area to set the traits onbackProps
- the background propertiescontext
- Property evaluation contextipdShift
- horizontal shift to affect to the background, in addition to the value of the background-position-horizontal propertybpdShift
- vertical shift to affect to the background, in addition to the value of the background-position-vertical propertyreferenceIPD
- value to use as a reference for percentage calculationreferenceBPD
- value to use as a reference for percentage calculation
-
addBackground
public static void addBackground(Area area, CommonBorderPaddingBackground backProps, PercentBaseContext context) Add background to an area. Layout managers that create areas with a background can use this to add the background to the area. Note: The area's IPD and BPD must be set before calling this method.- Parameters:
area
- the area to set the traits onbackProps
- the background propertiescontext
- Property evaluation context
-
addMargins
public static void addMargins(Area area, CommonBorderPaddingBackground bpProps, int startIndent, int endIndent, PercentBaseContext context) Add space to a block area. Layout managers that create block areas can use this to add space outside of the border rectangle to the area.- Parameters:
area
- the area to set the traits on.bpProps
- the border, padding and background propertiesstartIndent
- the effective start-indent valueendIndent
- the effective end-indent valuecontext
- the context for evaluation of percentages
-
addMargins
public static void addMargins(Area area, CommonBorderPaddingBackground bpProps, CommonMarginBlock marginProps, PercentBaseContext context) Add space to a block area. Layout managers that create block areas can use this to add space outside of the border rectangle to the area.- Parameters:
area
- the area to set the traits on.bpProps
- the border, padding and background propertiesmarginProps
- the margin properties.context
- the context for evaluation of percentages
-
getEffectiveSpace
Returns the effective space length of a resolved space specifier based on the adjustment value.- Parameters:
adjust
- the adjustment valuespace
- the space specifier- Returns:
- the effective space length
-
addSpaceBeforeAfter
public static void addSpaceBeforeAfter(Area area, double adjust, MinOptMax spaceBefore, MinOptMax spaceAfter) Adds traits for space-before and space-after to an area.- Parameters:
area
- the target areaadjust
- the adjustment valuespaceBefore
- the space-before space specifierspaceAfter
- the space-after space specifier
-
addBreaks
Sets the traits for breaks on an area.- Parameters:
area
- the area to set the traits on.breakBefore
- the value for break-beforebreakAfter
- the value for break-after
-
addFontTraits
Adds font traits to an area- Parameters:
area
- the target arefont
- the font to use
-
addTextDecoration
Adds the text-decoration traits to the area.- Parameters:
area
- the area to set the traits ondeco
- the text decorations
-
setVisibility
-
addStructureTreeElement
Sets the structure tree element associated to the given area.- Parameters:
area
- the area to set the traits onstructureTreeElement
- the element the area is associated to in the document structure
-
setProducerID
Sets the producer's ID as a trait on the area. This can be used to track back the generating FO node.- Parameters:
area
- the area to set the traits onid
- the ID to set
-
setLayer
Sets the optional content group layer as a trait on the area.- Parameters:
area
- the area to set the traits onlayer
- the layer ID to set
-