Package com.openhtmltopdf.render
Class LineBox
java.lang.Object
com.openhtmltopdf.render.Box
com.openhtmltopdf.render.LineBox
- All Implemented Interfaces:
InlinePaintable,Styleable,DisplayListItem
A line box contains a single line of text (or other inline content). It
is created during layout. It also tracks floated and absolute content
added while laying out the line.
-
Nested Class Summary
Nested classes/interfaces inherited from class com.openhtmltopdf.render.Box
Box.ChildIteratorOfType<T> -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate intprivate booleanprivate booleanprivate booleanprivate intprivate FloatDistancesprivate booleanprivate JustificationInfoprivate MarkerDataprivate intprivate intprivate List<TextDecoration> private byteprivate static final floatprivate static final floatFields inherited from class com.openhtmltopdf.render.Box
CHILDREN_FLUX, DONE, DUMP_LAYOUT, DUMP_RENDER, FLUX, LINE_SEPARATOR, NOTHING -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaddAllChildren(List<? super Box> list, Layer layer) voidvoidaddReferencedFootnoteBody(BlockBox footnoteBody) private voidprivate voidprivate voidvoidalign(boolean dynamic, CssContext c) voidanalyzePageBreaks(LayoutContext c, ContentLimitContainer container) private voidvoidvoidprivate voidcheckFootnoteReservedPage(LayoutContext c, PageBox pageBoxAfter, boolean runHooks) Checks that the line box is not on a footnote reserved page and if so pushes it down to the first non-reserved page.voidcheckPagePosition(LayoutContext c, boolean alwaysBreak) Checks if this line box crosses a page break and if so moves it to the next page.voidcollectText(RenderingContext c, StringBuilder buffer) private CharCountsdump(LayoutContext c, String indent, int which) voidexportText(RenderingContext c, Writer writer) find(CssContext cssCtx, int absX, int absY, boolean findAnonymous) intintgetMarginEdge(CssContext cssCtx, int tx, int ty) intintgetPaintingClipEdge(CssContext cssCtx) intintNarrows the return type of LineBox to a BlockBox.Gets the list of footnote bodies which have calls in this line of text.booleanbooleanbooleanintersects(CssContext cssCtx, Shape clip) NOTE: This method does not consider any children of this box but does consider the transformation matrix of the containing layer.private booleanintersectsInlineBlocks(CssContext cssCtx, Shape clip) private booleanintersectsLine(CssContext cssCtx, Shape clip) booleanbooleanWhether this line contains any actual text content.booleanbooleanbooleanbooleanbooleanprivate booleanbooleanbooleanIs this box unbreakable in regards to column break opportunities?voidprivate voidprivate booleanoverlapsFootnote(PageBox pageBox) voidvoidvoidResponsible for resetting the state of the box before a repeat call toBlockBox.layout(LayoutContext)or other layout methods.voidsetBaseline(int baseline) voidsetContainsBlockLevelContent(boolean containsBlockLevelContent) voidsetContainsContent(boolean containsContent) voidsetContainsDynamicFunction(boolean containsPageCounter) voidsetContentStart(int contentOffset) voidsetDirectionality(byte direction) voidsetEndsOnNL(boolean endsOnNL) voidsetFloatDistances(FloatDistances floatDistances) private voidsetJustificationInfo(JustificationInfo justificationInfo) voidsetMarkerData(MarkerData markerData) voidsetPaintingHeight(int paintingHeight) voidsetPaintingTop(int paintingTop) voidsetTextDecorations(List<TextDecoration> textDecorations) toString()voidMethods inherited from class com.openhtmltopdf.render.Box
addAllChildren, addChild, addChildForLayout, ancestors, ancestorsWhile, calcChildPaintingInfo, calcPaintingInfo, connectChildrenToCurrentLayer, crossesPageBreak, detach, dumpBoxes, exportPageBoxText, findAncestor, findColumnBreakOpportunities, forcePageBreakAfter, forcePageBreakBefore, forcePageBreakBefore, getAbsoluteClipBox, getAbsX, getAbsY, getAccessibilityObject, getBorder, getBorderBox, getBorderBoxHeight, getBorderBoxWidth, getBorderEdge, getBorderSides, getBoxDimensions, getChild, getChildCount, getChildIterator, getChildIteratorOfType, getChildren, getChildrenClipEdge, getClipBox, getContainingBlock, getContainingBlockWidth, getContainingLayer, getContentAreaEdge, getContentWidth, getDocumentParent, getEffBackgroundColor, getEffectiveWidth, getElement, getElementBoxes, getHeight, getIndex, getLayer, getLeftMBP, getMargin, getMarginBorderPadding, getMarginEdge, getNext, getNextSibling, getPadding, getPaddingEdge, getPaddingWidth, getPaintingBorderEdge, getPaintingInfo, getPaintingPaddingEdge, getParentClipBox, getPrevious, getPreviousSibling, getPseudoElementOrClass, getRelativeOffset, getRightMBP, getState, getStyle, getStyleMargin, getStyleMargin, getTx, getTy, getWidth, getX, getY, hasRootElementBackground, initContainingLayer, isAnonymous, isBody, isContainedInMarginBox, isFirstChild, isInDocumentFlow, isInitialContainingBlock, isInlineBlock, isMarginAreaRoot, isRoot, isStyled, moveIfGreater, paintBackground, paintBorder, paintRootElementBackground, positionRelative, removeAllChildren, removeChild, removeChild, resetChildren, resetChildren, resetTopMargin, rootBox, setAbsX, setAbsY, setAccessiblityObject, setAnonymous, setBorderBoxHeight, setBorderBoxWidth, setBoxDimensions, setContainingBlock, setContainingLayer, setContentWidth, setElement, setHeight, setIndex, setLayer, setLeftMBP, setMarginBottom, setMarginLeft, setMarginRight, setMarginTop, setParent, setPseudoElementOrClass, setRelativeOffset, setRightMBP, setState, setStyle, setTx, setTy, setX, setY, stateToString
-
Field Details
-
JUSTIFY_NON_SPACE_SHARE
private static final float JUSTIFY_NON_SPACE_SHARE- See Also:
-
JUSTIFY_SPACE_SHARE
private static final float JUSTIFY_SPACE_SHARE- See Also:
-
_containsContent
private boolean _containsContent -
_containsBlockLevelContent
private boolean _containsBlockLevelContent -
_isEndsOnNL
private boolean _isEndsOnNL -
_floatDistances
-
_textDecorations
-
_paintingTop
private int _paintingTop -
_paintingHeight
private int _paintingHeight -
_nonFlowContent
-
_markerData
-
_containsDynamicFunction
private boolean _containsDynamicFunction -
_contentStart
private int _contentStart -
_baseline
private int _baseline -
_justificationInfo
-
direction
private byte direction -
referencedFootnoteBodies
-
-
Constructor Details
-
LineBox
public LineBox()
-
-
Method Details
-
dump
-
toString
-
getMarginEdge
- Overrides:
getMarginEdgein classBox
-
paintInline
- Specified by:
paintInlinein interfaceInlinePaintable
-
lookForDynamicFunctions
-
isFirstLine
public boolean isFirstLine() -
prunePendingInlineBoxes
-
isContainsContent
public boolean isContainsContent()Whether this line contains any actual text content. -
setContainsContent
public void setContainsContent(boolean containsContent) -
align
-
justify
-
adjustChildren
-
adjustChildrenRTL
-
isLastLineWithContent
private boolean isLastLineWithContent() -
countJustifiableChars
-
getFloatDistances
-
setFloatDistances
-
isContainsBlockLevelContent
public boolean isContainsBlockLevelContent() -
setContainsBlockLevelContent
public void setContainsBlockLevelContent(boolean containsBlockLevelContent) -
intersects
Description copied from class:BoxNOTE: This method does not consider any children of this box but does consider the transformation matrix of the containing layer.- Overrides:
intersectsin classBox
-
intersectsLine
-
getPaintingClipEdge
- Overrides:
getPaintingClipEdgein classBox
-
intersectsInlineBlocks
-
getTextDecorations
-
setTextDecorations
-
getPaintingHeight
public int getPaintingHeight() -
setPaintingHeight
public void setPaintingHeight(int paintingHeight) -
getPaintingTop
public int getPaintingTop() -
setPaintingTop
public void setPaintingTop(int paintingTop) -
getMinPaintingTop
public int getMinPaintingTop() -
getMaxPaintingBottom
public int getMaxPaintingBottom() -
addAllChildren
-
getNonFlowContent
-
addNonFlowContent
-
reset
Description copied from class:BoxResponsible for resetting the state of the box before a repeat call toBlockBox.layout(LayoutContext)or other layout methods.
Any layout operation that is not idempotent MUST be reset in this method. Layout may be called several times on the one box. -
calcCanvasLocation
public void calcCanvasLocation()- Specified by:
calcCanvasLocationin classBox
-
calcChildLocations
public void calcChildLocations()- Overrides:
calcChildLocationsin classBox
-
getMarkerData
-
setMarkerData
-
isContainsDynamicFunction
public boolean isContainsDynamicFunction() -
setContainsDynamicFunction
public void setContainsDynamicFunction(boolean containsPageCounter) -
getContentStart
public int getContentStart() -
setContentStart
public void setContentStart(int contentOffset) -
findTrailingText
-
trimTrailingSpace
-
find
-
getBaseline
public int getBaseline() -
setBaseline
public void setBaseline(int baseline) -
isContainsOnlyBlockLevelContent
public boolean isContainsOnlyBlockLevelContent() -
isContainsVisibleContent
public boolean isContainsVisibleContent() -
collectText
- Overrides:
collectTextin classBox
-
exportText
- Overrides:
exportTextin classBox- Throws:
IOException
-
analyzePageBreaks
- Overrides:
analyzePageBreaksin classBox
-
checkPagePosition
Checks if this line box crosses a page break and if so moves it to the next page. Also takes care that in-flow lines do not overlap footnote content. -
afterChangePage
-
beforeChangePage
-
checkFootnoteReservedPage
Checks that the line box is not on a footnote reserved page and if so pushes it down to the first non-reserved page. -
overlapsFootnote
-
getJustificationInfo
-
setJustificationInfo
-
setDirectionality
public void setDirectionality(byte direction) -
isLayedOutRTL
public boolean isLayedOutRTL() -
hasNonTextContent
- Overrides:
hasNonTextContentin classBox
-
isTerminalColumnBreak
public boolean isTerminalColumnBreak()Description copied from class:BoxIs this box unbreakable in regards to column break opportunities?- Overrides:
isTerminalColumnBreakin classBox
-
isEndsOnNL
public boolean isEndsOnNL() -
setEndsOnNL
public void setEndsOnNL(boolean endsOnNL) -
getReferencedFootnoteBodies
Gets the list of footnote bodies which have calls in this line of text. Useful for moving those footnotes when this line is moved to a new page. -
hasFootnotes
public boolean hasFootnotes() -
addReferencedFootnoteBody
-
getParent
Narrows the return type of LineBox to a BlockBox. Reduces the need to cast everywhere.
-