Package com.itextpdf.layout.renderer
Class AbstractRenderer
java.lang.Object
com.itextpdf.layout.renderer.AbstractRenderer
- All Implemented Interfaces:
-
IPropertyContainer
,IRenderer
- Direct Known Subclasses:
-
BlockRenderer
,ImageRenderer
,LineRenderer
,RootRenderer
,TableRenderer
,TabRenderer
,TextRenderer
Defines the most common properties and behavior that are shared by most
IRenderer
implementations. All default Renderers are subclasses of this default implementation.
-
Field Summary
Modifier and TypeFieldDescriptionprotected static final float
The maximum difference betweenRectangle
coordinates to consider rectangles equalprotected boolean
protected static final float
The infinity value which is used while layoutingprotected boolean
protected IPropertyContainer
protected LayoutArea
static final float
protected IRenderer
-
Constructor Summary
ModifierConstructorDescriptionprotected
Creates a renderer.protected
AbstractRenderer
(IElement modelElement) Creates a renderer for the specified layout element.protected
AbstractRenderer
(AbstractRenderer other) -
Method Summary
Modifier and TypeMethodDescriptionprotected void
addAllProperties
(Map<Integer, Object> properties) void
Adds a child to the current rendererprotected void
alignChildHorizontally
(IRenderer childRenderer, Rectangle currentArea) protected boolean
protected void
applyAbsolutePosition
(Rectangle parentRect) protected void
applyAction
(PdfDocument document) applyBorderBox
(Rectangle rect, boolean reverse) Applies the border box of the renderer on the given rectangle If the border of a certain side is null, the side will remain as it was.protected Rectangle
applyBorderBox
(Rectangle rect, Border[] borders, boolean reverse) Applies the given border box (borders) on the given rectangleprotected void
applyDestination
(PdfDocument document) protected void
applyDestinationsAndAnnotation
(DrawContext drawContext) protected void
applyLinkAnnotation
(PdfDocument document) applyMargins
(Rectangle rect, boolean reverse) Applies margins of the renderer on the given rectangleprotected Rectangle
applyMargins
(Rectangle rect, UnitValue[] margins, boolean reverse) Applies given margins on the given rectangleapplyPaddings
(Rectangle rect, boolean reverse) Applies paddings of the renderer on the given rectangleprotected Rectangle
applyPaddings
(Rectangle rect, UnitValue[] paddings, boolean reverse) Applies given paddings on the given rectangleprotected void
applyRelativePositioningTranslation
(boolean reverse) protected void
beginElementOpacityApplying
(DrawContext drawContext) protected void
protected Rectangle
Calculates the bounding box of the content in the coordinate system of the pdf entity on which content is placed, e.g.protected Rectangle
calculateBBox
(List<Point> points) Calculates bounding box around points.protected float[]
calculateShiftToPositionBBoxOfPointsAt
(float left, float top, List<Point> points) This method calculates the shift needed to be applied to the points in order to position upper and left borders of their bounding box at the given lines.protected boolean
clipBackgroundArea
(DrawContext drawContext, Rectangle outerBorderBox) protected boolean
clipBackgroundArea
(DrawContext drawContext, Rectangle outerBorderBox, boolean considerBordersBeforeClipping) protected boolean
clipBorderArea
(DrawContext drawContext, Rectangle outerBorderBox) static PdfFormXObject
createXObject
(AbstractLinearGradientBuilder linearGradientBuilder, Rectangle xObjectArea, PdfDocument document) Create aPdfFormXObject
with the given area and containing a linear gradient inside.void
deleteOwnProperty
(int property) Deletes the own property of this entity.void
deleteProperty
(int property) Deletes property from this very renderer, or in case the property is specified on its model element, the property of the model element is deletedvoid
draw
(DrawContext drawContext) Flushes the renderer subtree contents, i.e.void
drawBackground
(DrawContext drawContext) Draws a background layer if it is defined by a keyProperty.BACKGROUND
in either the layout element or thisIRenderer
itself.void
drawBorder
(DrawContext drawContext) Performs the drawing operation for the border of this renderer, if defined by any of theProperty.BORDER
values in either the layout element or thisIRenderer
itself.void
drawChildren
(DrawContext drawContext) Performs the drawing operation for allchildren
of this renderer.protected void
endElementOpacityApplying
(DrawContext drawContext) protected void
endTransformationIfApplied
(PdfCanvas canvas) protected Rectangle
getBackgroundArea
(Rectangle occupiedAreaWithMargins) Evaluate the actual backgroundGets the border box of a renderer.protected BorderRadius[]
Gets border radii of the element in the specified order: top-left, top-right, bottom-right, bottom-left.protected Border[]
Gets borders of the element in the specified order: top, right, bottom, left.Gets the childIRenderer
s.T1 getDefaultProperty
(int property) Gets the default property from this entity.protected Float
Gets the first yLine of the nested children recursively.protected Float
protected UnitValue[]
Returns margins of the rendererCalculates min and max width values for current renderer.Gets the model element associated with this renderer.Gets the resultant occupied area after the last call to theIRenderer.layout(LayoutContext)
method.Gets the bounding box that contains all content written to theDrawContext
by thisIRenderer
.T1 getOwnProperty
(int property) Gets own property from this entity.protected UnitValue[]
Returns paddings of the rendererGets the parentIRenderer
.T1 getProperty
(int key) Gets the property from this entity.T1 getProperty
(int property, T1 defaultValue) Gets a property from this entity or one of its hierarchical parents.getPropertyAsBoolean
(int property) Returns a property with a certain key, as a boolean value.getPropertyAsColor
(int property) Returns a property with a certain key, as a color.getPropertyAsFloat
(int property) Returns a property with a certain key, as a floating point value.getPropertyAsFloat
(int property, Float defaultValue) Returns a property with a certain key, as a floating point value.getPropertyAsFont
(int property) Returns a property with a certain key, as a font object.getPropertyAsInteger
(int property) Returns a property with a certain key, as an integer value.getPropertyAsTransparentColor
(int property) Returns a property with a certain key, as aTransparentColor
.getPropertyAsUnitValue
(int property) Returns a property with a certain key, as a unit value.protected boolean
hasAbsoluteUnitValue
(int property) Check if corresponding property has point value.boolean
hasOwnOrModelProperty
(int property) Checks if this renderer or its model element have the specified property, i.e.boolean
hasOwnProperty
(int property) Checks if this entity has the specified property, i.e.boolean
hasProperty
(int property) Checks if this entity has the specified property.protected boolean
hasRelativeUnitValue
(int property) Check if corresponding property has relative value.initElementAreas
(LayoutArea area) Gets all rectangles that thisIRenderer
can draw upon in the given area.protected boolean
protected static boolean
isBorderBoxSizing
(IRenderer renderer) boolean
protected boolean
Indicates whether the renderer's position is fixed or not.boolean
Indicates whether this renderer is flushed or not, i.e.protected boolean
protected boolean
isNotFittingHeight
(LayoutArea layoutArea) protected boolean
isNotFittingLayoutArea
(LayoutArea layoutArea) protected boolean
isNotFittingWidth
(LayoutArea layoutArea) protected static boolean
isOverflowFit
(OverflowPropertyValue rendererOverflowProperty) protected boolean
isOverflowProperty
(OverflowPropertyValue equalsTo, int overflowProperty) protected static boolean
isOverflowProperty
(OverflowPropertyValue equalsTo, OverflowPropertyValue rendererOverflowProperty) protected static boolean
isOverflowProperty
(OverflowPropertyValue equalsTo, IRenderer renderer, int overflowProperty) protected boolean
Indicates whether the renderer's position is fixed or not.protected boolean
protected boolean
void
move
(float dxRight, float dyUp) Moves the renderer subtree by the specified offset.protected Float
Retrieves the element's fixed content box height, if it's set.protected Float
Retrieve element's content box max-ehight, if it's set.protected Float
retrieveMaxWidth
(float parentBoxWidth) Retrieves element's fixed content box max width, if it's set.protected Float
Retrieves element's content box min-height, if it's set.protected Float
retrieveMinWidth
(float parentBoxWidth) Retrieves element's fixed content box max width, if it's set.protected Float
retrieveUnitValue
(float baseValue, int property) protected Float
retrieveUnitValue
(float baseValue, int property, boolean pointOnly) protected Float
retrieveWidth
(float parentBoxWidth) Retrieves element's fixed content box width, if it's set.protected AbstractRenderer
setBorders
(Border border, int borderNumber) protected boolean
setMinMaxWidthBasedOnFixedWidth
(MinMaxWidth minMaxWidth) Explicitly sets this object as the child of anotherIRenderer
in the renderer hierarchy.void
setProperty
(int property, Object value) Sets a property for this entity.toString()
Returns a string representation of the renderer.transformPoints
(List<Point> points, AffineTransform transform) protected void
updateHeight
(UnitValue updatedHeight) Updates fixed content box height value for this renderer.protected void
updateHeightsOnSplit
(boolean wasHeightClipped, AbstractRenderer splitRenderer, AbstractRenderer overflowRenderer) protected void
updateMaxHeight
(UnitValue updatedMaxHeight) Updates content box max-height value for this renderer.protected void
updateMinHeight
(UnitValue updatedMinHeight) Updates content box min-height value for this renderer.protected void
updateWidth
(UnitValue updatedWidthValue) Updates fixed content box width value for this renderer.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface com.itextpdf.layout.renderer.IRenderer
getNextRenderer, layout
-
Field Details
-
OVERLAP_EPSILON
public static final float OVERLAP_EPSILON- See Also:
-
EPS
protected static final float EPSThe maximum difference betweenRectangle
coordinates to consider rectangles equal- See Also:
-
INF
protected static final float INFThe infinity value which is used while layouting- See Also:
-
childRenderers
-
positionedRenderers
-
modelElement
-
flushed
protected boolean flushed -
occupiedArea
-
parent
-
properties
-
isLastRendererForModelElement
protected boolean isLastRendererForModelElement
-
-
Constructor Details
-
AbstractRenderer
protected AbstractRenderer()Creates a renderer. -
AbstractRenderer
Creates a renderer for the specified layout element.- Parameters:
-
modelElement
- the layout element that will be drawn by this renderer
-
AbstractRenderer
-
-
Method Details
-
addChild
Adds a child to the current renderer -
getModelElement
Gets the model element associated with this renderer.- Specified by:
-
getModelElement
in interfaceIRenderer
- Returns:
-
the model element, as a
container of properties
-
getChildRenderers
Gets the childIRenderer
s.- Specified by:
-
getChildRenderers
in interfaceIRenderer
- Returns:
-
a list of direct child
renderers
of this instance
-
hasProperty
public boolean hasProperty(int property) Checks if this entity has the specified property. Compared toIPropertyContainer.hasOwnProperty(int)
, this method can check parent's properties, styles, etc, depending on the origin of the instance- Specified by:
-
hasProperty
in interfaceIPropertyContainer
- Parameters:
-
property
- the property to be checked - Returns:
-
true
if this instance has given property,false
otherwise
-
hasOwnProperty
public boolean hasOwnProperty(int property) Checks if this entity has the specified property, i.e. if it was set to this very element earlier- Specified by:
-
hasOwnProperty
in interfaceIPropertyContainer
- Parameters:
-
property
- the property to be checked - Returns:
-
true
if this instance has given own property,false
otherwise
-
hasOwnOrModelProperty
public boolean hasOwnOrModelProperty(int property) Checks if this renderer or its model element have the specified property, i.e. if it was set to this very element or its very model element earlier.- Parameters:
-
property
- the property to be checked - Returns:
-
true
if this instance or its model element have given own property,false
otherwise
-
deleteOwnProperty
public void deleteOwnProperty(int property) Deletes the own property of this entity.- Specified by:
-
deleteOwnProperty
in interfaceIPropertyContainer
- Parameters:
-
property
- the property to be deleted
-
deleteProperty
public void deleteProperty(int property) Deletes property from this very renderer, or in case the property is specified on its model element, the property of the model element is deleted- Parameters:
-
property
- the property key to be deleted
-
getProperty
publicT1 getProperty (int key) Gets the property from this entity. Compared toIPropertyContainer.getOwnProperty(int)
, this method can check parent's properties, styles, etc, depending on the origin of the instance- Specified by:
-
getProperty
in interfaceIPropertyContainer
- Type Parameters:
-
T1
- the return type associated with the property - Parameters:
-
key
- the property to be retrieved - Returns:
-
the value of the given property.
null
will be returned if the property value was not found
-
getOwnProperty
publicT1 getOwnProperty (int property) Gets own property from this entity. The property must have been set earlier to this entity. If the property is not found,null
will be returned.- Specified by:
-
getOwnProperty
in interfaceIPropertyContainer
- Type Parameters:
-
T1
- the return type associated with the property - Parameters:
-
property
- the property to be retrieved - Returns:
-
the value of the given own property.
null
will be returned if the property value was not found
-
getProperty
publicT1 getProperty (int property, T1 defaultValue) Gets a property from this entity or one of its hierarchical parents. If the property is not found,defaultValue
will be returned.- Specified by:
-
getProperty
in interfaceIRenderer
- Type Parameters:
-
T1
- the return type associated with the property - Parameters:
-
property
- the property to be retrieved -
defaultValue
- a fallback value - Returns:
- the value of the given property
-
setProperty
Sets a property for this entity.- Specified by:
-
setProperty
in interfaceIPropertyContainer
- Parameters:
-
property
- the property to be set -
value
- the value of the property
-
getDefaultProperty
publicT1 getDefaultProperty (int property) Gets the default property from this entity.- Specified by:
-
getDefaultProperty
in interfaceIPropertyContainer
- Type Parameters:
-
T1
- the return type associated with the property - Parameters:
-
property
- the property to be retrieved - Returns:
-
the default property value. If the default property is not defined,
null
will be returned
-
getPropertyAsFont
Returns a property with a certain key, as a font object.- Parameters:
-
property
- anenum value
- Returns:
-
a
PdfFont
-
getPropertyAsColor
Returns a property with a certain key, as a color.- Parameters:
-
property
- anenum value
- Returns:
-
a
Color
-
getPropertyAsTransparentColor
Returns a property with a certain key, as aTransparentColor
.- Parameters:
-
property
- anenum value
- Returns:
-
a
TransparentColor
-
getPropertyAsFloat
Returns a property with a certain key, as a floating point value.- Parameters:
-
property
- anenum value
- Returns:
-
a
Float
-
getPropertyAsFloat
Returns a property with a certain key, as a floating point value.- Parameters:
-
property
- anenum value
-
defaultValue
- default value to be returned if property is not found - Returns:
-
a
Float
-
getPropertyAsBoolean
Returns a property with a certain key, as a boolean value.- Parameters:
-
property
- anenum value
- Returns:
-
a
Boolean
-
getPropertyAsUnitValue
Returns a property with a certain key, as a unit value.- Parameters:
-
property
- anenum value
- Returns:
-
a
UnitValue
-
getPropertyAsInteger
Returns a property with a certain key, as an integer value.- Parameters:
-
property
- anenum value
- Returns:
-
a
Integer
-
toString
Returns a string representation of the renderer. -
getOccupiedArea
Gets the resultant occupied area after the last call to theIRenderer.layout(LayoutContext)
method.- Specified by:
-
getOccupiedArea
in interfaceIRenderer
- Returns:
-
LayoutArea
instance
-
draw
Flushes the renderer subtree contents, i.e. draws itself on canvas, adds necessary objects to thePdfDocument
etc.- Specified by:
-
draw
in interfaceIRenderer
- Parameters:
-
drawContext
- contains thePdfDocument
to which the renderer subtree if flushed, thePdfCanvas
on which the renderer subtree is drawn and other additional parameters needed to perform drawing
-
beginElementOpacityApplying
-
endElementOpacityApplying
-
drawBackground
Draws a background layer if it is defined by a keyProperty.BACKGROUND
in either the layout element or thisIRenderer
itself.- Parameters:
-
drawContext
- the context (canvas, document, etc) of this drawing operation.
-
createXObject
public static PdfFormXObject createXObject(AbstractLinearGradientBuilder linearGradientBuilder, Rectangle xObjectArea, PdfDocument document) Create aPdfFormXObject
with the given area and containing a linear gradient inside.- Parameters:
-
linearGradientBuilder
- the linear gradient builder -
xObjectArea
- the result object area -
document
- the pdf document - Returns:
- the xObject with a specified area and a linear gradient
-
getBackgroundArea
Evaluate the actual background- Parameters:
-
occupiedAreaWithMargins
- the current occupied area with applied margins - Returns:
- the actual background area
-
clipBorderArea
-
clipBackgroundArea
-
clipBackgroundArea
protected boolean clipBackgroundArea(DrawContext drawContext, Rectangle outerBorderBox, boolean considerBordersBeforeClipping) -
drawChildren
Performs the drawing operation for allchildren
of this renderer.- Parameters:
-
drawContext
- the context (canvas, document, etc) of this drawing operation.
-
drawBorder
Performs the drawing operation for the border of this renderer, if defined by any of theProperty.BORDER
values in either the layout element or thisIRenderer
itself.- Parameters:
-
drawContext
- the context (canvas, document, etc) of this drawing operation.
-
isFlushed
public boolean isFlushed()Indicates whether this renderer is flushed or not, i.e. ifdraw(DrawContext)
has already been called. -
setParent
Explicitly sets this object as the child of anotherIRenderer
in the renderer hierarchy. Some implementations also use this method internally to create a consistent hierarchy tree. -
getParent
Gets the parentIRenderer
. -
move
public void move(float dxRight, float dyUp) Moves the renderer subtree by the specified offset. This method affects occupied area of the renderer. -
initElementAreas
Gets all rectangles that thisIRenderer
can draw upon in the given area.- Parameters:
-
area
- a physical area on theDrawContext
- Returns:
-
a list of
rectangles
-
getOccupiedAreaBBox
Gets the bounding box that contains all content written to theDrawContext
by thisIRenderer
.- Returns:
-
the smallest
Rectangle
that surrounds the content
-
getBorderAreaBBox
Gets the border box of a renderer. This is a box used to draw borders.- Returns:
- border box of a renderer
-
getInnerAreaBBox
-
applyMargins
Applies margins of the renderer on the given rectangle- Parameters:
-
rect
- a rectangle margins will be applied on. -
reverse
- indicates whether margins will be applied inside (in case of false) or outside (in case of true) the rectangle. - Returns:
-
a
border box
of the renderer - See Also:
-
applyBorderBox
Applies the border box of the renderer on the given rectangle If the border of a certain side is null, the side will remain as it was.- Parameters:
-
rect
- a rectangle the border box will be applied on. -
reverse
- indicates whether the border box will be applied inside (in case of false) or outside (in case of false) the rectangle. - Returns:
-
a
border box
of the renderer - See Also:
-
applyPaddings
Applies paddings of the renderer on the given rectangle- Parameters:
-
rect
- a rectangle paddings will be applied on. -
reverse
- indicates whether paddings will be applied inside (in case of false) or outside (in case of false) the rectangle. - Returns:
-
a
border box
of the renderer - See Also:
-
isFirstOnRootArea
public boolean isFirstOnRootArea() -
applyDestinationsAndAnnotation
-
isBorderBoxSizing
-
isOverflowProperty
-
isOverflowProperty
protected static boolean isOverflowProperty(OverflowPropertyValue equalsTo, IRenderer renderer, int overflowProperty) -
isOverflowProperty
protected static boolean isOverflowProperty(OverflowPropertyValue equalsTo, OverflowPropertyValue rendererOverflowProperty) -
isOverflowFit
-
retrieveWidth
Retrieves element's fixed content box width, if it's set. Takes into accountProperty.BOX_SIZING
,Property.MIN_WIDTH
, andProperty.MAX_WIDTH
properties.- Parameters:
-
parentBoxWidth
- width of the parent element content box. If element has relative width, it will be calculated relatively to this parameter. - Returns:
- element's fixed content box width or null if it's not set.
- See Also:
-
retrieveMaxWidth
Retrieves element's fixed content box max width, if it's set. Takes into accountProperty.BOX_SIZING
andProperty.MIN_WIDTH
properties.- Parameters:
-
parentBoxWidth
- width of the parent element content box. If element has relative width, it will be calculated relatively to this parameter. - Returns:
- element's fixed content box max width or null if it's not set.
- See Also:
-
retrieveMinWidth
Retrieves element's fixed content box max width, if it's set. Takes into accountProperty.BOX_SIZING
property value.- Parameters:
-
parentBoxWidth
- width of the parent element content box. If element has relative width, it will be calculated relatively to this parameter. - Returns:
- element's fixed content box max width or null if it's not set.
- See Also:
-
updateWidth
Updates fixed content box width value for this renderer. Takes into accountProperty.BOX_SIZING
property value.- Parameters:
-
updatedWidthValue
- element's new fixed content box width.
-
retrieveHeight
Retrieves the element's fixed content box height, if it's set. Takes into accountProperty.BOX_SIZING
,Property.MIN_HEIGHT
, andProperty.MAX_HEIGHT
properties.- Returns:
- element's fixed content box height or null if it's not set.
-
updateHeight
Updates fixed content box height value for this renderer. Takes into accountProperty.BOX_SIZING
property value.- Parameters:
-
updatedHeight
- element's new fixed content box height, shall be not null.
-
retrieveMaxHeight
Retrieve element's content box max-ehight, if it's set. Takes into accountProperty.BOX_SIZING
property value.- Returns:
- element's content box max-height or null if it's not set.
-
updateMaxHeight
Updates content box max-height value for this renderer. Takes into accountProperty.BOX_SIZING
property value.- Parameters:
-
updatedMaxHeight
- element's new content box max-height, shall be not null.
-
retrieveMinHeight
Retrieves element's content box min-height, if it's set. Takes into accountProperty.BOX_SIZING
property value.- Returns:
- element's content box min-height or null if it's not set.
-
updateMinHeight
Updates content box min-height value for this renderer. Takes into accountProperty.BOX_SIZING
property value.- Parameters:
-
updatedMinHeight
- element's new content box min-height, shall be not null.
-
retrieveUnitValue
-
retrieveUnitValue
-
getOwnProperties
-
addAllProperties
-
getFirstYLineRecursively
Gets the first yLine of the nested children recursively. E.g. for a list, this will be the yLine of the first item (if the first item is indeed a paragraph). NOTE: this method will no go further than the first child.- Returns:
- the first yline of the nested children, null if there is no text found
-
getLastYLineRecursively
-
allowLastYLineRecursiveExtraction
protected boolean allowLastYLineRecursiveExtraction() -
applyMargins
Applies given margins on the given rectangle- Parameters:
-
rect
- a rectangle margins will be applied on. -
margins
- the margins to be applied on the given rectangle -
reverse
- indicates whether margins will be applied inside (in case of false) or outside (in case of true) the rectangle. - Returns:
-
a
border box
of the renderer
-
getMargins
Returns margins of the renderer- Returns:
-
a
float[]
margins of the renderer
-
getPaddings
Returns paddings of the renderer- Returns:
-
a
float[]
paddings of the renderer
-
applyPaddings
Applies given paddings on the given rectangle- Parameters:
-
rect
- a rectangle paddings will be applied on. -
paddings
- the paddings to be applied on the given rectangle -
reverse
- indicates whether paddings will be applied inside (in case of false) or outside (in case of false) the rectangle. - Returns:
-
a
border box
of the renderer
-
applyBorderBox
Applies the given border box (borders) on the given rectangle- Parameters:
-
rect
- a rectangle paddings will be applied on. -
borders
- theborders
to be applied on the given rectangle -
reverse
- indicates whether the border box will be applied inside (in case of false) or outside (in case of false) the rectangle. - Returns:
-
a
border box
of the renderer
-
applyAbsolutePosition
-
applyRelativePositioningTranslation
protected void applyRelativePositioningTranslation(boolean reverse) -
applyDestination
-
applyAction
-
applyLinkAnnotation
-
updateHeightsOnSplit
protected void updateHeightsOnSplit(boolean wasHeightClipped, AbstractRenderer splitRenderer, AbstractRenderer overflowRenderer) -
getMinMaxWidth
Calculates min and max width values for current renderer.- Returns:
-
instance of
MinMaxWidth
-
setMinMaxWidthBasedOnFixedWidth
-
isNotFittingHeight
-
isNotFittingWidth
-
isNotFittingLayoutArea
-
isPositioned
protected boolean isPositioned()Indicates whether the renderer's position is fixed or not.- Returns:
-
a
boolean
-
isFixedLayout
protected boolean isFixedLayout()Indicates whether the renderer's position is fixed or not.- Returns:
-
a
boolean
-
isStaticLayout
protected boolean isStaticLayout() -
isRelativePosition
protected boolean isRelativePosition() -
isAbsolutePosition
protected boolean isAbsolutePosition() -
isKeepTogether
protected boolean isKeepTogether() -
alignChildHorizontally
-
getBorders
Gets borders of the element in the specified order: top, right, bottom, left.- Returns:
-
an array of BorderDrawer objects. In case when certain border isn't set
Property.BORDER
is used, and ifProperty.BORDER
is also not set thennull
is returned on position of this border
-
getBorderRadii
Gets border radii of the element in the specified order: top-left, top-right, bottom-right, bottom-left.- Returns:
-
an array of BorderRadius objects. In case when certain border radius isn't set
Property.BORDER_RADIUS
is used, and ifProperty.BORDER_RADIUS
is also not set thennull
is returned on position of this border radius
-
setBorders
-
calculateAbsolutePdfBBox
Calculates the bounding box of the content in the coordinate system of the pdf entity on which content is placed, e.g. document page or form xObject. This is particularly useful for the cases when element is nested in the rotated element.- Returns:
-
a
Rectangle
which is a bbox of the content not relative to the parent's layout area but rather to the some pdf entity coordinate system.
-
calculateBBox
Calculates bounding box around points.- Parameters:
-
points
- list of the points calculated bbox will enclose. - Returns:
- array of float values which denote left, bottom, right, top lines of bbox in this specific order
-
rectangleToPointsList
-
transformPoints
-
calculateShiftToPositionBBoxOfPointsAt
protected float[] calculateShiftToPositionBBoxOfPointsAt(float left, float top, List<Point> points) This method calculates the shift needed to be applied to the points in order to position upper and left borders of their bounding box at the given lines.- Parameters:
-
left
- x coordinate at which points bbox left border is to be aligned -
top
- y coordinate at which points bbox upper border is to be aligned -
points
- the points, which bbox will be aligned at the given position - Returns:
- array of two floats, where first element denotes x-coordinate shift and the second element denotes y-coordinate shift which are needed to align points bbox at the given lines.
-
hasAbsoluteUnitValue
protected boolean hasAbsoluteUnitValue(int property) Check if corresponding property has point value.- Parameters:
-
property
-Property
- Returns:
- false if property value either null, or percent, otherwise true.
-
hasRelativeUnitValue
protected boolean hasRelativeUnitValue(int property) Check if corresponding property has relative value.- Parameters:
-
property
-Property
- Returns:
- false if property value either null, or point, otherwise true.
-
beginTransformationIfApplied
-
endTransformationIfApplied
-