Package com.itextpdf.layout.renderer
Class ListItemRenderer
- java.lang.Object
-
- com.itextpdf.layout.renderer.AbstractRenderer
-
- com.itextpdf.layout.renderer.BlockRenderer
-
- com.itextpdf.layout.renderer.DivRenderer
-
- com.itextpdf.layout.renderer.ListItemRenderer
-
- All Implemented Interfaces:
IPropertyContainer,IRenderer
public class ListItemRenderer extends DivRenderer
-
-
Field Summary
Fields Modifier and Type Field Description private booleansymbolAddedInsideprotected floatsymbolAreaWidthprotected IRenderersymbolRenderer-
Fields inherited from class com.itextpdf.layout.renderer.AbstractRenderer
BOTTOM_SIDE, childRenderers, EPS, flushed, INF, isLastRendererForModelElement, LEFT_SIDE, modelElement, occupiedArea, OVERLAP_EPSILON, parent, positionedRenderers, properties, RIGHT_SIDE, TOP_SIDE
-
-
Constructor Summary
Constructors Constructor Description ListItemRenderer(ListItem modelElement)Creates a ListItemRenderer from its corresponding layout object.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddSymbolRenderer(IRenderer symbolRenderer, float symbolAreaWidth)private voidapplyListSymbolPosition()private float[]calculateAscenderDescender()protected AbstractRenderercreateOverflowRenderer(int layoutResult)Creates an overflow renderer.protected AbstractRenderercreateSplitRenderer(int layoutResult)Creates a split renderer.voiddraw(DrawContext drawContext)Flushes the renderer subtree contents, i.e.IRenderergetNextRenderer()Gets a new instance of this class to be used as a next renderer, after this renderer is used, ifBlockRenderer.layout(LayoutContext)is called more than once.private voidinjectSymbolRendererIntoParagraphRenderer(ParagraphRenderer paragraphRenderer)private booleanisListSymbolEmpty(IRenderer listSymbolRenderer)LayoutResultlayout(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.private IRendererrenderSymbolInNeutralParagraph()-
Methods inherited from class com.itextpdf.layout.renderer.BlockRenderer
applyMaxHeight, applyMinHeight, applyRotationLayout, applyVerticalAlignment, applyWidth, beginRotationIfApplied, correctFixedLayout, createRotationTransformInsideOccupiedArea, createSplitAndOverflowRenderers, decreaseLayoutBoxAfterChildPlacement, endRotationIfApplied, fixOccupiedAreaIfOverflowedX, fixOccupiedAreaIfOverflowedY, getMinMaxWidth, getMinMaxWidth, getOccupiedAreaBBox, getResolvedFont, handleForcedPlacement, processNotFullChildResult, recalculateLayoutBoxBeforeChildLayout, recalculateOccupiedAreaAfterChildLayout, startChildMarginsHandling, stopLayoutingChildrenIfChildResultNotFull
-
Methods inherited from class com.itextpdf.layout.renderer.AbstractRenderer
addAllChildRenderers, addAllChildRenderers, addAllProperties, addChild, addChildRenderer, alignChildHorizontally, allowLastYLineRecursiveExtraction, applyAbsolutePosition, applyAbsolutePositionIfNeeded, applyAction, applyBorderBox, applyBorderBox, applyDestination, applyDestinationsAndAnnotation, applyLinkAnnotation, applyMargins, applyMargins, applyMarginsBordersPaddings, applyPaddings, applyPaddings, applyRelativePositioningTranslation, beginElementOpacityApplying, beginTransformationIfApplied, calculateAbsolutePdfBBox, calculateAdditionalWidth, calculateBBox, calculatePaddingBorderHeight, calculatePaddingBorderWidth, calculateShiftToPositionBBoxOfPointsAt, clipBackgroundArea, clipBackgroundArea, clipBorderArea, createFontCharacteristics, createXObject, deleteOwnProperty, deleteProperty, drawBackground, drawBorder, drawChildren, drawPositionedChildren, endElementOpacityApplying, endTransformationIfApplied, getAspectRatio, getBackgroundArea, getBorderAreaBBox, getBorderRadii, getBorders, getBorders, getChildRenderers, getDefaultProperty, getFirstYLineRecursively, getInnerAreaBBox, getLastYLineRecursively, getMargins, getModelElement, getOccupiedArea, getOwnProperties, getOwnProperty, getPaddings, getParent, getPdfDocument, getProperty, getProperty, getPropertyAsBoolean, getPropertyAsColor, getPropertyAsFloat, getPropertyAsFloat, getPropertyAsFloat, getPropertyAsFont, getPropertyAsInteger, getPropertyAsTransparentColor, getPropertyAsUnitValue, getPropertyAsUnitValue, getRootRenderer, hasAbsoluteUnitValue, hasAspectRatio, hasOwnOrModelProperty, hasOwnProperty, hasProperty, hasRelativeUnitValue, initElementAreas, isAbsolutePosition, isBorderBoxSizing, isFirstOnRootArea, isFirstOnRootArea, isFixedLayout, isFlushed, isKeepTogether, isKeepTogether, isNotFittingHeight, isNotFittingLayoutArea, isNotFittingWidth, isOverflowFit, isOverflowProperty, isOverflowProperty, isOverflowProperty, isPositioned, isRelativePosition, isStaticLayout, logWarningIfGetNextRendererNotOverridden, move, noAbsolutePositionInfo, preparePositionedRendererAndAreaForLayout, processWaitingDrawing, rectangleToPointsList, removeAllChildRenderers, removeChildRenderer, replaceOwnProperty, resolveFirstPdfFont, resolveFirstPdfFont, retrieveHeight, retrieveMaxHeight, retrieveMaxWidth, retrieveMinHeight, retrieveMinWidth, retrieveResolvedDeclaredHeight, retrieveUnitValue, retrieveUnitValue, retrieveWidth, returnBackOwnProperty, setBorders, setChildRenderer, setChildRenderers, setMinMaxWidthBasedOnFixedWidth, setParent, setProperty, setThisAsParent, shrinkOccupiedAreaForAbsolutePosition, toString, transformPoints, updateHeight, updateHeightsOnSplit, updateHeightsOnSplit, updateMaxHeight, updateMinHeight, updateWidth
-
-
-
-
Field Detail
-
symbolRenderer
protected IRenderer symbolRenderer
-
symbolAreaWidth
protected float symbolAreaWidth
-
symbolAddedInside
private boolean symbolAddedInside
-
-
Method Detail
-
addSymbolRenderer
public void addSymbolRenderer(IRenderer symbolRenderer, float symbolAreaWidth)
-
layout
public LayoutResult layout(LayoutContext layoutContext)
Description copied from class:BlockRendererThis 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.- Specified by:
layoutin interfaceIRenderer- Overrides:
layoutin classBlockRenderer- Parameters:
layoutContext- the description of layout area and any other additional information- Returns:
- result of the layout process
-
draw
public void draw(DrawContext drawContext)
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 classBlockRenderer- 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
-
getNextRenderer
public IRenderer getNextRenderer()
Description copied from class:DivRendererGets a new instance of this class to be used as a next renderer, after this renderer is used, ifBlockRenderer.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
DivRenderer, one should override this method: otherwise the default method will be used and thus the default rather than the custom renderer will be created.- Specified by:
getNextRendererin interfaceIRenderer- Overrides:
getNextRendererin classDivRenderer- Returns:
- new renderer instance
-
createSplitRenderer
protected AbstractRenderer createSplitRenderer(int layoutResult)
Description copied from class:BlockRendererCreates a split renderer.- Overrides:
createSplitRendererin classBlockRenderer- Parameters:
layoutResult- the result of content layouting- Returns:
- a new
AbstractRendererinstance
-
createOverflowRenderer
protected AbstractRenderer createOverflowRenderer(int layoutResult)
Description copied from class:BlockRendererCreates an overflow renderer.- Overrides:
createOverflowRendererin classBlockRenderer- Parameters:
layoutResult- the result of content layouting- Returns:
- a new
AbstractRendererinstance
-
applyListSymbolPosition
private void applyListSymbolPosition()
-
injectSymbolRendererIntoParagraphRenderer
private void injectSymbolRendererIntoParagraphRenderer(ParagraphRenderer paragraphRenderer)
-
renderSymbolInNeutralParagraph
private IRenderer renderSymbolInNeutralParagraph()
-
isListSymbolEmpty
private boolean isListSymbolEmpty(IRenderer listSymbolRenderer)
-
calculateAscenderDescender
private float[] calculateAscenderDescender()
-
-