Class TagProcessingState


  • public class TagProcessingState
    extends java.lang.Object
    This class is used to keep track of the style setting regarding opened tags. It is needed to support styling ranges over several lines or rendering, because tags can be opened for rendering on one line, while it is closed on another line.
    • Field Detail

      • startingPoint

        private org.eclipse.swt.graphics.Point startingPoint
        The coordinates where the drawing operations should start from.
      • pointer

        private org.eclipse.swt.graphics.Point pointer
        The coordinates where the drawing operations should be performed from.
      • marginLeft

        private int marginLeft
        The left margin in a paragraph.
      • colorStack

        private java.util.Deque<org.eclipse.swt.graphics.Color> colorStack
        Stack of previous set foreground colors. Usually not necessary as the CKEDITOR closes spans before opening new ones regarding colors, but since HTML supports nesting of spans to apply colors on the way, a stack is necessary to avoid exceptions then.
      • bgColorStack

        private java.util.Deque<org.eclipse.swt.graphics.Color> bgColorStack
        Stack of previous set background colors. Usually not necessary as the CKEDITOR closes spans before opening new ones regarding colors, but since HTML supports nesting of spans to apply colors on the way, a stack is necessary to avoid exceptions then.
      • underlineActive

        private boolean underlineActive
        Flag that indicates whether underline styling is active or not. Necessary because the underline tag can wrap several other font or styling tags.
      • strikethroughActive

        private boolean strikethroughActive
        Flag that indicates whether strikethrough styling is active or not. Necessary because the strikethrough tag can wrap several other font or styling tags.
      • fontStack

        private java.util.Deque<org.eclipse.swt.graphics.Font> fontStack
        Stack of used fonts. Necessary because font styling options can be nested (e.g. bold, size, type) and therefore need to be reset in the correct order on close.
      • orderedListStack

        private java.util.Deque<java.lang.Boolean> orderedListStack
        Flag that indicates whether the current list is an ordered or unordered list. Necessary for rendering the list item bullet.
      • listNumberStack

        private java.util.Deque<java.lang.Integer> listNumberStack
        Current list item number. Necessary for rendering an ordered list.
      • listMarginStack

        private java.util.Deque<java.lang.Integer> listMarginStack
        The additional margin that is used on rendering a list. Necessary to align the text part of lists.
      • lineIterator

        private java.util.Iterator<LinePainter> lineIterator
        The Iterator used to iterate over the lines that are rendered.
      • rendering

        private boolean rendering
        Flag that indicates whether drawing operations should be performed or not. Necessary for embedded rendering to be able to calculate the dynamic dimensions without rendering directly.
      • paragraphCount

        private int paragraphCount
        The number of paragraphs that are found in a text. Needed to calculate the preferred height.
    • Constructor Detail

      • TagProcessingState

        public TagProcessingState()
    • Method Detail

      • addPreviousColor

        public void addPreviousColor​(org.eclipse.swt.graphics.Color prevColor)
        Add the given Color to the stack of previous set foreground colors.
        Parameters:
        prevColor - The Color to add to the previous foreground color stack.
      • pollPreviousColor

        public org.eclipse.swt.graphics.Color pollPreviousColor()
        Removes and returns the last color from the previous foreground color stack. (LIFO)
        Returns:
        The last Color that was added to the previous foreground color stack.
      • addPreviousBgColor

        public void addPreviousBgColor​(org.eclipse.swt.graphics.Color prevBgColor)
        Add the given Color to the stack of previous set background colors.
        Parameters:
        prevBgColor - The Color to add to the previous background color stack.
      • pollPreviousBgColor

        public org.eclipse.swt.graphics.Color pollPreviousBgColor()
        Removes and returns the last color from the previous background color stack. (LIFO)
        Returns:
        The last Color that was added to the previous background color stack.
      • hasPreviousBgColor

        public boolean hasPreviousBgColor()
        Returns:
        true if there is a previous background color registered on the stack, false if not.
      • addPreviousFont

        public void addPreviousFont​(org.eclipse.swt.graphics.Font font)
        Add the given Font to the stack of previous set fonts.
        Parameters:
        font - The Font to add to the previous font stack
      • pollPreviousFont

        public org.eclipse.swt.graphics.Font pollPreviousFont()
        Removes and returns the last font from the previous font stack. (LIFO)
        Returns:
        The last Font that was added to the previous font stack.
      • isUnderlineActive

        public boolean isUnderlineActive()
        Returns:
        true if underline styling is active, false if not.
      • setUnderlineActive

        public void setUnderlineActive​(boolean underlineActive)
        Parameters:
        underlineActive - true if underline styling should be active, false if not.
      • isStrikethroughActive

        public boolean isStrikethroughActive()
        Returns:
        true if strikethrough styling is active, false if not.
      • setStrikethroughActive

        public void setStrikethroughActive​(boolean strikethroughActive)
        Parameters:
        strikethroughActive - true if strikethrough styling should be active, false if not.
      • setStartingPoint

        public void setStartingPoint​(int startX,
                                     int startY)
      • getPointer

        public org.eclipse.swt.graphics.Point getPointer()
      • increaseX

        public void increaseX​(int x)
      • increaseY

        public void increaseY​(int y)
      • setX

        public void setX​(int x)
      • setY

        public void setY​(int y)
      • resetX

        public void resetX()
        Reset the x coordinate of the pointer to the value of the left margin. This is used to start a new line.
      • calculateX

        public void calculateX​(int areaWidth)
      • getMarginLeft

        public int getMarginLeft()
      • setMarginLeft

        public void setMarginLeft​(int marginLeft)
      • setLineIterator

        public void setLineIterator​(java.util.Iterator<LinePainter> lineIterator)
      • activateNextLine

        public void activateNextLine()
      • getCurrentLineHeight

        public int getCurrentLineHeight()
      • getCurrentBiggestFontMetrics

        public org.eclipse.swt.graphics.FontMetrics getCurrentBiggestFontMetrics()
      • isRendering

        public boolean isRendering()
      • setRendering

        public void setRendering​(boolean render)
      • isOrderedList

        public boolean isOrderedList()
      • setOrderedList

        public void setOrderedList​(boolean orderedList)
      • getListMargin

        public int getListMargin()
      • setListMargin

        public void setListMargin​(int listMargin)
      • getCurrentListNumber

        public java.lang.Integer getCurrentListNumber()
      • initCurrentListNumber

        public void initCurrentListNumber()
      • increaseCurrentListNumber

        public void increaseCurrentListNumber()
      • getListDepth

        public int getListDepth()
      • resetListConfiguration

        public void resetListConfiguration()
      • getParagraphCount

        public int getParagraphCount()
      • increaseParagraphCount

        public void increaseParagraphCount()