Class LineBox

java.lang.Object
com.openhtmltopdf.render.Box
com.openhtmltopdf.render.LineBox
All Implemented Interfaces:
InlinePaintable, Styleable, DisplayListItem

public class LineBox extends Box implements InlinePaintable
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.
  • Constructor Details

    • LineBox

      public LineBox()
  • Method Details

    • dump

      public String dump(LayoutContext c, String indent, int which)
      Specified by:
      dump in class Box
    • toString

      public String toString()
      Overrides:
      toString in class Box
    • getMarginEdge

      public Rectangle getMarginEdge(CssContext cssCtx, int tx, int ty)
      Overrides:
      getMarginEdge in class Box
    • paintInline

      public void paintInline(RenderingContext c)
      Specified by:
      paintInline in interface InlinePaintable
    • isFirstLine

      public boolean isFirstLine()
    • prunePendingInlineBoxes

      public void prunePendingInlineBoxes(LayoutContext c)
    • isContainsContent

      public boolean isContainsContent()
      Whether this line contains any actual text content.
    • setContainsContent

      public void setContainsContent(boolean containsContent)
    • align

      public void align(boolean dynamic, CssContext c)
    • justify

      public void justify(CssContext c)
    • getFloatDistances

      public FloatDistances getFloatDistances()
    • setFloatDistances

      public void setFloatDistances(FloatDistances floatDistances)
    • isContainsBlockLevelContent

      public boolean isContainsBlockLevelContent()
    • setContainsBlockLevelContent

      public void setContainsBlockLevelContent(boolean containsBlockLevelContent)
    • intersects

      public boolean intersects(CssContext cssCtx, Shape clip)
      Description copied from class: Box
      NOTE: This method does not consider any children of this box but does consider the transformation matrix of the containing layer.
      Overrides:
      intersects in class Box
    • getPaintingClipEdge

      public Rectangle getPaintingClipEdge(CssContext cssCtx)
      Overrides:
      getPaintingClipEdge in class Box
    • getTextDecorations

      public List<TextDecoration> getTextDecorations()
    • setTextDecorations

      public void setTextDecorations(List<TextDecoration> textDecorations)
    • 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

      public void addAllChildren(List<? super Box> list, Layer layer)
    • getNonFlowContent

      public List<Box> getNonFlowContent()
    • addNonFlowContent

      public void addNonFlowContent(BlockBox box)
    • reset

      public void reset(LayoutContext c)
      Description copied from class: Box
      Responsible for resetting the state of the box before a repeat call to BlockBox.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.
      Overrides:
      reset in class Box
    • calcCanvasLocation

      public void calcCanvasLocation()
      Specified by:
      calcCanvasLocation in class Box
    • calcChildLocations

      public void calcChildLocations()
      Overrides:
      calcChildLocations in class Box
    • getMarkerData

      public MarkerData getMarkerData()
    • setMarkerData

      public void setMarkerData(MarkerData markerData)
    • isContainsDynamicFunction

      public boolean isContainsDynamicFunction()
    • setContainsDynamicFunction

      public void setContainsDynamicFunction(boolean containsPageCounter)
    • getContentStart

      public int getContentStart()
    • setContentStart

      public void setContentStart(int contentOffset)
    • findTrailingText

      public InlineText findTrailingText()
    • trimTrailingSpace

      public void trimTrailingSpace(LayoutContext c)
    • find

      public Box find(CssContext cssCtx, int absX, int absY, boolean findAnonymous)
      Overrides:
      find in class Box
    • getBaseline

      public int getBaseline()
    • setBaseline

      public void setBaseline(int baseline)
    • isContainsOnlyBlockLevelContent

      public boolean isContainsOnlyBlockLevelContent()
    • isContainsVisibleContent

      public boolean isContainsVisibleContent()
    • collectText

      public void collectText(RenderingContext c, StringBuilder buffer)
      Overrides:
      collectText in class Box
    • exportText

      public void exportText(RenderingContext c, Writer writer) throws IOException
      Overrides:
      exportText in class Box
      Throws:
      IOException
    • analyzePageBreaks

      public void analyzePageBreaks(LayoutContext c, ContentLimitContainer container)
      Overrides:
      analyzePageBreaks in class Box
    • checkPagePosition

      public void checkPagePosition(LayoutContext c, boolean alwaysBreak)
      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.
    • getJustificationInfo

      public JustificationInfo getJustificationInfo()
    • setDirectionality

      public void setDirectionality(byte direction)
    • isLayedOutRTL

      public boolean isLayedOutRTL()
    • hasNonTextContent

      public boolean hasNonTextContent(CssContext c)
      Overrides:
      hasNonTextContent in class Box
    • isTerminalColumnBreak

      public boolean isTerminalColumnBreak()
      Description copied from class: Box
      Is this box unbreakable in regards to column break opportunities?
      Overrides:
      isTerminalColumnBreak in class Box
    • isEndsOnNL

      public boolean isEndsOnNL()
    • setEndsOnNL

      public void setEndsOnNL(boolean endsOnNL)
    • getReferencedFootnoteBodies

      public List<BlockBox> 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

      public void addReferencedFootnoteBody(BlockBox footnoteBody)
    • getParent

      public BlockBox getParent()
      Narrows the return type of LineBox to a BlockBox. Reduces the need to cast everywhere.
      Overrides:
      getParent in class Box