Class 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:
    InlineLayoutBox
    • Constructor Detail

      • InlineBox

        public InlineBox​(String text)
    • Method Detail

      • 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)
      • setContentFunction

        public void setContentFunction​(ContentFunction contentFunction)
      • isDynamicFunction

        public boolean isDynamicFunction()
      • getTrailingSpaceWidth

        public int getTrailingSpaceWidth​(LayoutContext c)
      • calcMinMaxWidth

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

        public int getMaxWidth()
      • getMinWidth

        public int getMinWidth()
      • getFirstLineWidth

        public int getFirstLineWidth()
      • setPseudoElementOrClass

        public void setPseudoElementOrClass​(String pseudoElementOrClass)
      • appendPositioningInfo

        protected void appendPositioningInfo​(StringBuilder result)
      • setFunction

        public void setFunction​(FSFunction function)
      • truncateText

        public void truncateText()
      • setFootnote

        public void setFootnote​(BlockBox footnoteBody)
      • hasFootnote

        public boolean hasFootnote()
      • getFootnoteBody

        public BlockBox getFootnoteBody()