public class CellRenderer extends BlockRenderer
childRenderers, EPS, flushed, INF, isLastRendererForModelElement, modelElement, occupiedArea, OVERLAP_EPSILON, parent, positionedRenderers, properties
Constructor and Description |
---|
CellRenderer(Cell modelElement)
Creates a CellRenderer from its corresponding layout object.
|
Modifier and Type | Method and Description |
---|---|
protected Rectangle |
applyBorderBox(Rectangle rect, Border[] borders, boolean reverse)
Applies the given border box (borders) on the given rectangle
|
protected Rectangle |
applyMargins(Rectangle rect, UnitValue[] margins, boolean reverse)
Applies given margins on the given rectangle
|
protected Rectangle |
applySpacings(Rectangle rect, boolean reverse) |
protected Rectangle |
applySpacings(Rectangle rect, float[] spacings, boolean reverse) |
protected AbstractRenderer |
createOverflowRenderer(int layoutResult) |
protected AbstractRenderer |
createSplitRenderer(int layoutResult) |
void |
drawBackground(DrawContext drawContext)
Draws a background layer if it is defined by a key Property.BACKGROUND in either the layout element or this IRenderer itself.
|
void |
drawBorder(DrawContext drawContext)
Performs the drawing operation for the border of this renderer, if defined by any of the Property.BORDER values in either the layout element or this IRenderer itself.
|
IPropertyContainer |
getModelElement()
Gets the model element associated with this renderer.
|
IRenderer |
getNextRenderer()
Gets a new instance of this class to be used as a next renderer, after this renderer is used, if BlockRenderer.layout(LayoutContext) is called more than once.
|
protected Float |
retrieveWidth(float parentBoxWidth)
Retrieves element's fixed content box width, if it's set.
|
applyBordersPaddingsMargins, applyRotationLayout, applyVerticalAlignment, beginRotationIfApplied, createRotationTransformInsideOccupiedArea, draw, endRotationIfApplied, getMinMaxWidth, getOccupiedAreaBBox, layout
addAllProperties, addChild, alignChildHorizontally, allowLastYLineRecursiveExtraction, applyAbsolutePosition, applyAction, applyBorderBox, applyDestination, applyDestinationsAndAnnotation, applyLinkAnnotation, applyMargins, applyPaddings, applyPaddings, applyRelativePositioningTranslation, beginElementOpacityApplying, beginTransformationIfApplied, calculateAbsolutePdfBBox, calculateBBox, calculateShiftToPositionBBoxOfPointsAt, clipBackgroundArea, clipBackgroundArea, clipBorderArea, createXObject, deleteOwnProperty, deleteProperty, drawChildren, endElementOpacityApplying, endTransformationIfApplied, getBackgroundArea, getBorderAreaBBox, getBorderRadii, getBorders, getChildRenderers, getDefaultProperty, getFirstYLineRecursively, getInnerAreaBBox, getLastYLineRecursively, getMargins, 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, setBorders, setMinMaxWidthBasedOnFixedWidth, setParent, setProperty, toString, transformPoints, updateHeight, updateHeightsOnSplit, updateMaxHeight, updateMinHeight, updateWidth
public IPropertyContainer getModelElement()
getModelElement
in interface IRenderer
getModelElement
in class AbstractRenderer
container of properties
protected Float retrieveWidth(float parentBoxWidth)
AbstractRenderer
Property.BOX_SIZING
, Property.MIN_WIDTH
, and Property.MAX_WIDTH
properties.
retrieveWidth
in class AbstractRenderer
parentBoxWidth
- width of the parent element content box. If element has relative width, it will be calculated relatively to this parameter.
AbstractRenderer.hasAbsoluteUnitValue(int)
protected AbstractRenderer createSplitRenderer(int layoutResult)
createSplitRenderer
in class BlockRenderer
protected AbstractRenderer createOverflowRenderer(int layoutResult)
createOverflowRenderer
in class BlockRenderer
public void drawBackground(DrawContext drawContext)
AbstractRenderer
Property.BACKGROUND
in either the layout element or this IRenderer
itself.
drawBackground
in class AbstractRenderer
drawContext
- the context (canvas, document, etc) of this drawing operation.
public void drawBorder(DrawContext drawContext)
Property.BORDER
values in either the layout element or this IRenderer
itself.
drawBorder
in class AbstractRenderer
drawContext
- the context (canvas, document, etc) of this drawing operation.
protected Rectangle applyBorderBox(Rectangle rect, Border[] borders, boolean reverse)
AbstractRenderer
applyBorderBox
in class AbstractRenderer
rect
- a rectangle paddings will be applied on.
borders
- the borders
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.
border box
of the renderer
protected Rectangle applyMargins(Rectangle rect, UnitValue[] margins, boolean reverse)
AbstractRenderer
applyMargins
in class AbstractRenderer
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.
border box
of the renderer
public IRenderer getNextRenderer()
BlockRenderer.layout(LayoutContext)
is called more than once.
If a renderer overflows to the next area, iText uses this method to create a renderer for the overflow part. So if one wants to extend CellRenderer
, one should override this method: otherwise the default method will be used and thus the default rather than the custom renderer will be created.
Copyright © 1998–2023 iText Group NV. All rights reserved.