Class TextBlock

    • Constructor Summary

      Constructors 
      Constructor Description
      TextBlock()
      Creates a new empty text block.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void addLine​(java.lang.String text, java.awt.Font font, java.awt.Paint paint)
      Adds a line of text that will be displayed using the specified font.
      void addLine​(TextLine line)
      Adds a TextLine to the block.
      java.awt.Shape calculateBounds​(java.awt.Graphics2D g2, float anchorX, float anchorY, TextBlockAnchor anchor, float rotateX, float rotateY, double angle)
      Returns the bounds of the text block.
      Size2D calculateDimensions​(java.awt.Graphics2D g2)
      Returns the width and height of the text block.
      private float[] calculateOffsets​(TextBlockAnchor anchor, double width, double height)
      Calculates the x and y offsets required to align the text block with the specified anchor point.
      void draw​(java.awt.Graphics2D g2, float x, float y, TextBlockAnchor anchor)
      Draws the text block at a specific location.
      void draw​(java.awt.Graphics2D g2, float anchorX, float anchorY, TextBlockAnchor anchor, float rotateX, float rotateY, double angle)
      Draws the text block, aligning it with the specified anchor point and rotating it about the specified rotation point.
      boolean equals​(java.lang.Object obj)
      Tests this object for equality with an arbitrary object.
      TextLine getLastLine()
      Returns the last line in the block.
      HorizontalAlignment getLineAlignment()
      Returns the alignment of the lines of text within the block.
      java.util.List getLines()
      Returns an unmodifiable list containing the lines for the text block.
      int hashCode()
      Returns a hash code for this object.
      void setLineAlignment​(HorizontalAlignment alignment)
      Sets the alignment of the lines of text within the block.
      • Methods inherited from class java.lang.Object

        clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • serialVersionUID

        private static final long serialVersionUID
        For serialization.
        See Also:
        Constant Field Values
      • lines

        private java.util.List lines
        Storage for the lines of text.
    • Constructor Detail

      • TextBlock

        public TextBlock()
        Creates a new empty text block.
    • Method Detail

      • getLineAlignment

        public HorizontalAlignment getLineAlignment()
        Returns the alignment of the lines of text within the block.
        Returns:
        The alignment (never null).
      • setLineAlignment

        public void setLineAlignment​(HorizontalAlignment alignment)
        Sets the alignment of the lines of text within the block.
        Parameters:
        alignment - the alignment (null not permitted).
      • addLine

        public void addLine​(java.lang.String text,
                            java.awt.Font font,
                            java.awt.Paint paint)
        Adds a line of text that will be displayed using the specified font.
        Parameters:
        text - the text.
        font - the font.
        paint - the paint.
      • addLine

        public void addLine​(TextLine line)
        Adds a TextLine to the block.
        Parameters:
        line - the line.
      • getLastLine

        public TextLine getLastLine()
        Returns the last line in the block.
        Returns:
        The last line in the block.
      • getLines

        public java.util.List getLines()
        Returns an unmodifiable list containing the lines for the text block.
        Returns:
        A list of TextLine objects.
      • calculateDimensions

        public Size2D calculateDimensions​(java.awt.Graphics2D g2)
        Returns the width and height of the text block.
        Parameters:
        g2 - the graphics device.
        Returns:
        The width and height.
      • calculateBounds

        public java.awt.Shape calculateBounds​(java.awt.Graphics2D g2,
                                              float anchorX,
                                              float anchorY,
                                              TextBlockAnchor anchor,
                                              float rotateX,
                                              float rotateY,
                                              double angle)
        Returns the bounds of the text block.
        Parameters:
        g2 - the graphics device (null not permitted).
        anchorX - the x-coordinate for the anchor point.
        anchorY - the y-coordinate for the anchor point.
        anchor - the text block anchor (null not permitted).
        rotateX - the x-coordinate for the rotation point.
        rotateY - the y-coordinate for the rotation point.
        angle - the rotation angle.
        Returns:
        The bounds.
      • draw

        public void draw​(java.awt.Graphics2D g2,
                         float x,
                         float y,
                         TextBlockAnchor anchor)
        Draws the text block at a specific location.
        Parameters:
        g2 - the graphics device.
        x - the x-coordinate for the anchor point.
        y - the y-coordinate for the anchor point.
        anchor - the anchor point.
      • draw

        public void draw​(java.awt.Graphics2D g2,
                         float anchorX,
                         float anchorY,
                         TextBlockAnchor anchor,
                         float rotateX,
                         float rotateY,
                         double angle)
        Draws the text block, aligning it with the specified anchor point and rotating it about the specified rotation point.
        Parameters:
        g2 - the graphics device.
        anchorX - the x-coordinate for the anchor point.
        anchorY - the y-coordinate for the anchor point.
        anchor - the point on the text block that is aligned to the anchor point.
        rotateX - the x-coordinate for the rotation point.
        rotateY - the x-coordinate for the rotation point.
        angle - the rotation (in radians).
      • calculateOffsets

        private float[] calculateOffsets​(TextBlockAnchor anchor,
                                         double width,
                                         double height)
        Calculates the x and y offsets required to align the text block with the specified anchor point. This assumes that the top left of the text block is at (0.0, 0.0).
        Parameters:
        anchor - the anchor position.
        width - the width of the text block.
        height - the height of the text block.
        Returns:
        The offsets (float[0] = x offset, float[1] = y offset).
      • equals

        public boolean equals​(java.lang.Object obj)
        Tests this object for equality with an arbitrary object.
        Overrides:
        equals in class java.lang.Object
        Parameters:
        obj - the object to test against (null permitted).
        Returns:
        A boolean.
      • hashCode

        public int hashCode()
        Returns a hash code for this object.
        Overrides:
        hashCode in class java.lang.Object
        Returns:
        A hash code.