Package com.itextpdf.layout.renderer
Class MulticolRenderer
java.lang.Object
com.itextpdf.layout.renderer.AbstractRenderer
com.itextpdf.layout.renderer.MulticolRenderer
- All Implemented Interfaces:
-
IPropertyContainer
,IRenderer
Represents a renderer for columns.
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic interface
Interface which used for additional height calculationstatic class
static class
Represents result of one iteration of MulticolRenderer layouting It contains split renderers which were lauded on a given height and overflow renderer for which height should be increased, so it can be lauded. -
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
ConstructorDescriptionMulticolRenderer
(MulticolContainer modelElement) Creates a DivRenderer from its corresponding layout object. -
Method Summary
Modifier and TypeMethodDescriptionprotected AbstractRenderer
createOverflowRenderer
(IRenderer overflowedContentRenderer) Creates an overflow renderer.protected AbstractRenderer
createSplitRenderer
(List<IRenderer> children) Deprecated.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.Gets a new instance of this class to be used as a next renderer, after this renderer is used, ifIRenderer.layout(LayoutContext)
is called more than once.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.protected MulticolRenderer.MulticolLayoutResult
layoutInColumns
(LayoutContext layoutContext, Rectangle actualBBox) Layouts multicol in the passed area.final void
setHeightCalculator
(MulticolRenderer.ColumnHeightCalculator heightCalculator) Sets the height calculator to be used by this renderer.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, draw, drawBackground, drawChildren, endElementOpacityApplying, endTransformationIfApplied, getBackgroundArea, getBorderAreaBBox, getBorderRadii, getBorders, getChildRenderers, getDefaultProperty, getFirstYLineRecursively, getInnerAreaBBox, getLastYLineRecursively, getMargins, getMinMaxWidth, getModelElement, getOccupiedArea, getOccupiedAreaBBox, 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
-
Constructor Details
-
MulticolRenderer
Creates a DivRenderer from its corresponding layout object.- Parameters:
-
modelElement
- theMulticolContainer
which this object should manage
-
-
Method Details
-
setHeightCalculator
Sets the height calculator to be used by this renderer.- Parameters:
-
heightCalculator
- the height calculator to be used by this renderer.
-
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.LayoutResult
can be extended to return custom layout results for custom elements, e.g.TextRenderer
usesTextLayoutResult
as 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
-
getNextRenderer
Gets a new instance of this class to be used as a next renderer, after this renderer is used, ifIRenderer.layout(LayoutContext)
is called more than once.- Returns:
- new renderer instance
-
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.- Overrides:
-
drawBorder
in classAbstractRenderer
- Parameters:
-
drawContext
- the context (canvas, document, etc) of this drawing operation.
-
layoutInColumns
protected MulticolRenderer.MulticolLayoutResult layoutInColumns(LayoutContext layoutContext, Rectangle actualBBox) Layouts multicol in the passed area.- Parameters:
-
layoutContext
- the layout context -
actualBBox
- the area to layout multicol on - Returns:
-
the
MulticolRenderer.MulticolLayoutResult
instance
-
createSplitRenderer
Deprecated.useGridMulticolUtil.createSplitRenderer(List, AbstractRenderer)
Creates a split renderer.- Parameters:
-
children
- children of the split renderer - Returns:
-
a new
AbstractRenderer
instance
-
createOverflowRenderer
Creates an overflow renderer.- Parameters:
-
overflowedContentRenderer
- an overflowed content renderer - Returns:
-
a new
AbstractRenderer
instance
-
GridMulticolUtil.createSplitRenderer(List, AbstractRenderer)