public abstract class BlockRenderer extends AbstractRenderer
childRenderers, EPS, flushed, INF, isLastRendererForModelElement, modelElement, occupiedArea, OVERLAP_EPSILON, parent, positionedRenderers, properties
Modifier | Constructor and Description |
---|---|
protected |
BlockRenderer(IElement modelElement)
Creates a BlockRenderer from its corresponding layout object.
|
Modifier and Type | Method and Description |
---|---|
protected void |
applyRotationLayout(Rectangle layoutBox)
This method rotates content of the renderer and calculates correct occupied area for the rotated element.
|
protected void |
applyVerticalAlignment()
This method applies vertical alignment for the occupied area of the renderer and its children renderers.
|
protected void |
beginRotationIfApplied(PdfCanvas canvas)
This method starts rotation for the renderer if rotation angle property is specified.
|
protected AbstractRenderer |
createOverflowRenderer(int layoutResult)
Creates an overflow renderer.
|
protected AffineTransform |
createRotationTransformInsideOccupiedArea()
This method creates AffineTransform instance that could be used to rotate content inside the occupied area.
|
protected AbstractRenderer |
createSplitRenderer(int layoutResult)
Creates a split renderer.
|
void |
draw(DrawContext drawContext)
Flushes the renderer subtree contents, i.e.
|
protected void |
endRotationIfApplied(PdfCanvas canvas)
This method ends rotation for the renderer if applied.
|
MinMaxWidth |
getMinMaxWidth()
Calculates min and max width values for current renderer.
|
Rectangle |
getOccupiedAreaBBox()
Gets the bounding box that contains all content written to the DrawContext by this IRenderer .
|
LayoutResult |
layout(LayoutContext layoutContext)
This method simulates positioning of the renderer, including all of its children, and returns the LayoutResult , representing the layout result, including occupied area, status, i.e.
|
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, retrieveUnitValue, retrieveUnitValue, retrieveWidth, setBorders, setMinMaxWidthBasedOnFixedWidth, setParent, setProperty, toString, transformPoints, updateHeight, updateHeightsOnSplit, updateMaxHeight, updateMinHeight, updateWidth
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
getNextRenderer
public LayoutResult layout(LayoutContext layoutContext)
LayoutResult
, representing the layout result, including occupied area, status, i.e. if there was enough place to fit the renderer subtree, etc. LayoutResult
can be extended to return custom layout results for custom elements, e.g. TextRenderer
uses TextLayoutResult
as its result. This method can be called standalone to learn how much area the renderer subtree needs, or can be called before IRenderer.draw(DrawContext)
, to prepare the renderer to be flushed to the output stream.
layoutContext
- the description of layout area and any other additional information
public void draw(DrawContext drawContext)
AbstractRenderer
PdfDocument
etc.
draw
in interface IRenderer
draw
in class AbstractRenderer
drawContext
- contains the PdfDocument
to which the renderer subtree if flushed, the PdfCanvas
on which the renderer subtree is drawn and other additional parameters needed to perform drawing
public Rectangle getOccupiedAreaBBox()
AbstractRenderer
DrawContext
by this IRenderer
.
getOccupiedAreaBBox
in class AbstractRenderer
Rectangle
that surrounds the content
protected AbstractRenderer createSplitRenderer(int layoutResult)
layoutResult
- the result of content layouting
AbstractRenderer
instance
protected AbstractRenderer createOverflowRenderer(int layoutResult)
layoutResult
- the result of content layouting
AbstractRenderer
instance
protected void applyVerticalAlignment()
protected void applyRotationLayout(Rectangle layoutBox)
layoutBox
- a Rectangle
protected AffineTransform createRotationTransformInsideOccupiedArea()
AffineTransform
instance 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.
AffineTransform
that rotates the content and places it inside occupied area.
protected void beginRotationIfApplied(PdfCanvas canvas)
canvas
- the PdfCanvas
to draw on
protected void endRotationIfApplied(PdfCanvas canvas)
canvas
- the PdfCanvas
to draw on
public MinMaxWidth getMinMaxWidth()
getMinMaxWidth
in class AbstractRenderer
MinMaxWidth
Copyright © 1998–2022 iText Group NV. All rights reserved.