Class InlineBox

  • All Implemented Interfaces:
    Styleable

    public class InlineBox
    extends java.lang.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
    • Field Detail

      • _element

        private org.w3c.dom.Element _element
      • _originalText

        private java.lang.String _originalText
      • _text

        private java.lang.String _text
      • _removableWhitespace

        private boolean _removableWhitespace
      • _minMaxCalculated

        private boolean _minMaxCalculated
      • _maxWidth

        private int _maxWidth
      • _minWidth

        private int _minWidth
      • _firstLineWidth

        private int _firstLineWidth
      • _pseudoElementOrClass

        private java.lang.String _pseudoElementOrClass
      • _textDirection

        private byte _textDirection
      • _footnoteBody

        private BlockBox _footnoteBody
    • Constructor Detail

      • InlineBox

        public InlineBox​(java.lang.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 java.lang.String getText()
      • setText

        public void setText​(java.lang.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)
      • getElement

        public org.w3c.dom.Element getElement()
        Specified by:
        getElement in interface Styleable
      • setElement

        public void setElement​(org.w3c.dom.Element element)
        Specified by:
        setElement in interface Styleable
      • setContentFunction

        public void setContentFunction​(ContentFunction contentFunction)
      • isDynamicFunction

        public boolean isDynamicFunction()
      • getTextWidth

        private int getTextWidth​(LayoutContext c,
                                 java.lang.String s)
      • getMaxCharWidth

        private int getMaxCharWidth​(LayoutContext c,
                                    java.lang.String s)
      • calcMaxWidthFromLineLength

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

        public int getTrailingSpaceWidth​(LayoutContext c)
      • calcMinWidthFromWordLength

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

        private java.lang.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()
      • setPseudoElementOrClass

        public void setPseudoElementOrClass​(java.lang.String pseudoElementOrClass)
      • toString

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

        protected void appendPositioningInfo​(java.lang.StringBuilder result)
      • shortText

        private java.lang.String shortText()
      • setFunction

        public void setFunction​(FSFunction function)
      • truncateText

        public void truncateText()
      • setFootnote

        public void setFootnote​(BlockBox footnoteBody)
      • hasFootnote

        public boolean hasFootnote()
      • getFootnoteBody

        public BlockBox getFootnoteBody()