Class InlineBox

java.lang.Object
com.openhtmltopdf.render.InlineBox
All Implemented Interfaces:
Styleable

public class InlineBox extends Object implements Styleable
A class which represents a portion of an inline element. If an inline element does not contain any nested elements, then a single InlineBox object will contain the content for the entire element. Otherwise multiple InlineBox objects will be created corresponding to each discrete chunk of text appearing in the element. It is not rendered directly (and hence does not extend from Box), but does play an important role in layout (for example, when calculating min/max widths). Note that it does not contain children. Inline content is stored as a flat list in the layout tree. However, InlineBox does contain enough information to reconstruct the original element nesting and this is, in fact, done during inline layout.
See Also:
  • Field Details

    • _element

      private Element _element
    • _originalText

      private String _originalText
    • _text

      private String _text
    • _removableWhitespace

      private boolean _removableWhitespace
    • _startsHere

      private boolean _startsHere
    • _endsHere

      private boolean _endsHere
    • _style

      private CalculatedStyle _style
    • _contentFunction

      private ContentFunction _contentFunction
    • _function

      private FSFunction _function
    • _minMaxCalculated

      private boolean _minMaxCalculated
    • _maxWidth

      private int _maxWidth
    • _minWidth

      private int _minWidth
    • _firstLineWidth

      private int _firstLineWidth
    • _pseudoElementOrClass

      private String _pseudoElementOrClass
    • _textDirection

      private byte _textDirection
    • _footnoteBody

      private BlockBox _footnoteBody
  • Constructor Details

    • InlineBox

      public InlineBox(String text)
  • Method Details

    • setTextDirection

      public void setTextDirection(byte direction)
      Parameters:
      direction - either LTR or RTL from BidiSplitter interface.
    • getTextDirection

      public byte getTextDirection()
      Returns:
      either LTR or RTL from BidiSplitter interface.
    • getText

      public String getText()
    • setText

      public void setText(String text)
    • applyTextTransform

      public void applyTextTransform()
    • isRemovableWhitespace

      public boolean isRemovableWhitespace()
    • setRemovableWhitespace

      public void setRemovableWhitespace(boolean removeableWhitespace)
    • isEndsHere

      public boolean isEndsHere()
      The opposite of isStartsHere()
    • setEndsHere

      public void setEndsHere(boolean endsHere)
    • isStartsHere

      public boolean isStartsHere()
      Whether this is the first InlineBox for a box. For example: [b]one[i]two[/i]three[/b] will create three InlineBox objects and one and two will return true for isStartsHere. This is used for example to decide whether left margin needs to be applied.
    • setStartsHere

      public void setStartsHere(boolean startsHere)
    • getStyle

      public CalculatedStyle getStyle()
      Specified by:
      getStyle in interface Styleable
    • setStyle

      public void setStyle(CalculatedStyle style)
      Specified by:
      setStyle in interface Styleable
    • getElement

      public Element getElement()
      Specified by:
      getElement in interface Styleable
    • setElement

      public void setElement(Element element)
      Specified by:
      setElement in interface Styleable
    • getContentFunction

      public ContentFunction getContentFunction()
    • setContentFunction

      public void setContentFunction(ContentFunction contentFunction)
    • isDynamicFunction

      public boolean isDynamicFunction()
    • getTextWidth

      private int getTextWidth(LayoutContext c, String s)
    • getMaxCharWidth

      private int getMaxCharWidth(LayoutContext c, String s)
    • calcMaxWidthFromLineLength

      private void calcMaxWidthFromLineLength(LayoutContext c, int cbWidth, boolean trim)
    • getSpaceWidth

      public int getSpaceWidth(LayoutContext c)
    • getTrailingSpaceWidth

      public int getTrailingSpaceWidth(LayoutContext c)
    • calcMinWidthFromWordLength

      private int calcMinWidthFromWordLength(LayoutContext c, int cbWidth, boolean trimLeadingSpace, boolean includeWS)
    • getText

      private String getText(boolean trimLeadingSpace)
    • getInlineMBP

      private int getInlineMBP(LayoutContext c, int cbWidth)
    • calcMinMaxWidth

      public void calcMinMaxWidth(LayoutContext c, int cbWidth, boolean trimLeadingSpace)
    • getMaxWidth

      public int getMaxWidth()
    • getMinWidth

      public int getMinWidth()
    • getFirstLineWidth

      public int getFirstLineWidth()
    • getPseudoElementOrClass

      public String getPseudoElementOrClass()
      Specified by:
      getPseudoElementOrClass in interface Styleable
    • setPseudoElementOrClass

      public void setPseudoElementOrClass(String pseudoElementOrClass)
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • appendPositioningInfo

      protected void appendPositioningInfo(StringBuilder result)
    • shortText

      private String shortText()
    • getFunction

      public FSFunction getFunction()
    • setFunction

      public void setFunction(FSFunction function)
    • truncateText

      public void truncateText()
    • setFootnote

      public void setFootnote(BlockBox footnoteBody)
    • hasFootnote

      public boolean hasFootnote()
    • getFootnoteBody

      public BlockBox getFootnoteBody()