Package com.itextpdf.layout.renderer
Class BlockRenderer
java.lang.Object
com.itextpdf.layout.renderer.AbstractRenderer
com.itextpdf.layout.renderer.BlockRenderer
- All Implemented Interfaces:
-
IPropertyContainer,IRenderer
- Direct Known Subclasses:
-
AbstractFormFieldRenderer,AbstractSelectFieldRenderer,CellRenderer,DivRenderer,GridContainerRenderer,LineSeparatorRenderer,ListRenderer,ParagraphRenderer
Represents a renderer for block elements.
-
Field Summary
Fields inherited from class com.itextpdf.layout.renderer.AbstractRenderer
childRenderers, EPS, flushed, INF, isLastRendererForModelElement, modelElement, occupiedArea, OVERLAP_EPSILON, parent, positionedRenderers, properties -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedBlockRenderer(IElement modelElement) Creates a BlockRenderer from its corresponding layout object. -
Method Summary
Modifier and TypeMethodDescriptionprotected voidapplyRotationLayout(Rectangle layoutBox) This method rotates content of the renderer and calculates correct occupied area for the rotated element.protected voidThis method applies vertical alignment for the occupied area of the renderer and its children renderers.protected voidbeginRotationIfApplied(PdfCanvas canvas) This method starts rotation for the renderer if rotation angle property is specified.protected AbstractRenderercreateOverflowRenderer(int layoutResult) Creates an overflow renderer.protected AffineTransformThis method createsAffineTransforminstance that could be used to rotate content inside the occupied area.protected AbstractRenderercreateSplitRenderer(int layoutResult) Creates a split renderer.voiddraw(DrawContext drawContext) Flushes the renderer subtree contents, i.e.protected voidendRotationIfApplied(PdfCanvas canvas) This method ends rotation for the renderer if applied.Calculates min and max width values for current renderer.getMinMaxWidth(Float parentBoxWidth) Calculates min and max width values for current renderer.Gets the bounding box that contains all content written to theDrawContextby thisIRenderer.protected PdfFontgetResolvedFont(PdfDocument pdfDocument) Get the font set in properties, if it is not set, then resolves the firstPdfFontfromFontProvider.layout(LayoutContext layoutContext) This method simulates positioning of the renderer, including all of its children, and returns theLayoutResult, representing the layout result, including occupied area, status, i.e.Methods inherited from class com.itextpdf.layout.renderer.AbstractRenderer
addAllProperties, addChild, alignChildHorizontally, allowLastYLineRecursiveExtraction, applyAbsolutePosition, applyAction, applyBorderBox, applyBorderBox, applyDestination, applyDestinationsAndAnnotation, applyLinkAnnotation, applyMargins, applyMargins, applyPaddings, applyPaddings, applyRelativePositioningTranslation, beginElementOpacityApplying, beginTransformationIfApplied, calculateAbsolutePdfBBox, calculateBBox, calculateShiftToPositionBBoxOfPointsAt, clipBackgroundArea, clipBackgroundArea, clipBorderArea, createXObject, deleteOwnProperty, deleteProperty, drawBackground, drawBorder, drawChildren, endElementOpacityApplying, endTransformationIfApplied, getBackgroundArea, getBorderAreaBBox, getBorderRadii, getBorders, getChildRenderers, getDefaultProperty, getFirstYLineRecursively, getInnerAreaBBox, getLastYLineRecursively, getMargins, getModelElement, getOccupiedArea, getOwnProperties, getOwnProperty, getPaddings, getParent, getProperty, getProperty, getPropertyAsBoolean, getPropertyAsColor, getPropertyAsFloat, getPropertyAsFloat, getPropertyAsFont, getPropertyAsInteger, getPropertyAsTransparentColor, getPropertyAsUnitValue, hasAbsoluteUnitValue, hasOwnOrModelProperty, hasOwnProperty, hasProperty, hasRelativeUnitValue, initElementAreas, isAbsolutePosition, isBorderBoxSizing, isFirstOnRootArea, isFixedLayout, isFlushed, isKeepTogether, isNotFittingHeight, isNotFittingLayoutArea, isNotFittingWidth, isOverflowFit, isOverflowProperty, isOverflowProperty, isOverflowProperty, isPositioned, isRelativePosition, isStaticLayout, move, rectangleToPointsList, retrieveHeight, retrieveMaxHeight, retrieveMaxWidth, retrieveMinHeight, retrieveMinWidth, retrieveResolvedDeclaredHeight, retrieveUnitValue, retrieveUnitValue, retrieveWidth, setBorders, setMinMaxWidthBasedOnFixedWidth, setParent, setProperty, toString, transformPoints, updateHeight, updateHeightsOnSplit, updateMaxHeight, updateMinHeight, updateWidthMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface com.itextpdf.layout.renderer.IRenderer
getNextRenderer
-
Constructor Details
-
BlockRenderer
Creates a BlockRenderer from its corresponding layout object.- Parameters:
-
modelElement- theIElementwhich this object should manage
-
-
Method Details
-
layout
This method simulates positioning of the renderer, including all of its children, and returns theLayoutResult, representing the layout result, including occupied area, status, i.e. if there was enough place to fit the renderer subtree, etc.LayoutResultcan be extended to return custom layout results for custom elements, e.g.TextRendererusesTextLayoutResultas its result. This method can be called standalone to learn how much area the renderer subtree needs, or can be called beforeIRenderer.draw(DrawContext), to prepare the renderer to be flushed to the output stream.- Parameters:
-
layoutContext- the description of layout area and any other additional information - Returns:
- result of the layout process
-
draw
Description copied from class:AbstractRendererFlushes the renderer subtree contents, i.e. draws itself on canvas, adds necessary objects to thePdfDocumentetc.- Specified by:
-
drawin interfaceIRenderer - Overrides:
-
drawin classAbstractRenderer - Parameters:
-
drawContext- contains thePdfDocumentto which the renderer subtree if flushed, thePdfCanvason which the renderer subtree is drawn and other additional parameters needed to perform drawing
-
getOccupiedAreaBBox
Description copied from class:AbstractRendererGets the bounding box that contains all content written to theDrawContextby thisIRenderer.- Overrides:
-
getOccupiedAreaBBoxin classAbstractRenderer - Returns:
-
the smallest
Rectanglethat surrounds the content
-
createSplitRenderer
Creates a split renderer.- Parameters:
-
layoutResult- the result of content layouting - Returns:
-
a new
AbstractRendererinstance
-
createOverflowRenderer
Creates an overflow renderer.- Parameters:
-
layoutResult- the result of content layouting - Returns:
-
a new
AbstractRendererinstance
-
applyVerticalAlignment
protected void applyVerticalAlignment()This method applies vertical alignment for the occupied area of the renderer and its children renderers. -
applyRotationLayout
This method rotates content of the renderer and calculates correct occupied area for the rotated element.- Parameters:
-
layoutBox- aRectangle
-
createRotationTransformInsideOccupiedArea
This method createsAffineTransforminstance that could be used to rotate content inside the occupied area. Be aware that it should be used only after layout rendering is finished and correct occupied area for the rotated element is calculated.- Returns:
-
AffineTransformthat rotates the content and places it inside occupied area.
-
beginRotationIfApplied
This method starts rotation for the renderer if rotation angle property is specified.- Parameters:
-
canvas- thePdfCanvasto draw on
-
endRotationIfApplied
This method ends rotation for the renderer if applied.- Parameters:
-
canvas- thePdfCanvasto draw on
-
getResolvedFont
Get the font set in properties, if it is not set, then resolves the firstPdfFontfromFontProvider. IfFontProvideris not set, then returns null.- Parameters:
-
pdfDocument- thePdfDocumentto get default font from. - Returns:
-
the font or null if it is not set and
FontProvideris not set.
-
getMinMaxWidth
Calculates min and max width values for current renderer.- Overrides:
-
getMinMaxWidthin classAbstractRenderer - Returns:
-
instance of
MinMaxWidth
-
getMinMaxWidth
Calculates min and max width values for current renderer.- Overrides:
-
getMinMaxWidthin classAbstractRenderer - Parameters:
-
parentBoxWidth- max width of the area on which current renderer will be laid out - Returns:
-
instance of
MinMaxWidth
-