Class ShapeGraphicAttribute

java.lang.Object
java.awt.font.GraphicAttribute
java.awt.font.ShapeGraphicAttribute

public final class ShapeGraphicAttribute extends GraphicAttribute
The ShapeGraphicAttribute class is an implementation of GraphicAttribute that draws shapes in a TextLayout.
See Also:
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final boolean
    A key indicating the shape should be filled.
    static final boolean
    A key indicating the shape should be stroked with a 1-pixel wide stroke.

    Fields declared in class GraphicAttribute

    BOTTOM_ALIGNMENT, CENTER_BASELINE, HANGING_BASELINE, ROMAN_BASELINE, TOP_ALIGNMENT
    Modifier and Type
    Field
    Description
    static final int
    Aligns bottom of graphic to bottom of line.
    static final int
    Aligns origin of graphic to center baseline of line.
    static final int
    Aligns origin of graphic to hanging baseline of line.
    static final int
    Aligns origin of graphic to roman baseline of line.
    static final int
    Aligns top of graphic to top of line.
  • Constructor Summary

    Constructors
    Constructor
    Description
    ShapeGraphicAttribute(Shape shape, int alignment, boolean stroke)
    Constructs a ShapeGraphicAttribute for the specified Shape.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    draw(Graphics2D graphics, float x, float y)
    Renders this GraphicAttribute at the specified location.
    boolean
    Compares this ShapeGraphicAttribute to the specified ShapeGraphicAttribute.
    boolean
    Compares this ShapeGraphicAttribute to the specified Object.
    float
    Returns the advance of this ShapeGraphicAttribute.
    float
    Returns the ascent of this ShapeGraphicAttribute.
    Returns a Rectangle2D that encloses all of the bits drawn by this ShapeGraphicAttribute relative to the rendering position.
    float
    Returns the descent of this ShapeGraphicAttribute.
    Return a Shape that represents the region that this ShapeGraphicAttribute renders.
    int
    Returns a hashcode for this ShapeGraphicAttribute.

    Methods declared in class GraphicAttribute

    getAlignment, getJustificationInfo
    Modifier and Type
    Method
    Description
    final int
    Returns the alignment of this GraphicAttribute.
    Returns the justification information for this GraphicAttribute.

    Methods declared in class Object

    clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
    Modifier and Type
    Method
    Description
    protected Object
    Creates and returns a copy of this object.
    protected void
    Deprecated, for removal: This API element is subject to removal in a future version.
    Finalization is deprecated and subject to removal in a future release.
    final Class<?>
    Returns the runtime class of this Object.
    final void
    Wakes up a single thread that is waiting on this object's monitor.
    final void
    Wakes up all threads that are waiting on this object's monitor.
    Returns a string representation of the object.
    final void
    Causes the current thread to wait until it is awakened, typically by being notified or interrupted.
    final void
    wait(long timeoutMillis)
    Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.
    final void
    wait(long timeoutMillis, int nanos)
    Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.
  • Field Details

    • STROKE

      public static final boolean STROKE
      A key indicating the shape should be stroked with a 1-pixel wide stroke.
      See Also:
    • FILL

      public static final boolean FILL
      A key indicating the shape should be filled.
      See Also:
  • Constructor Details

    • ShapeGraphicAttribute

      public ShapeGraphicAttribute(Shape shape, int alignment, boolean stroke)
      Constructs a ShapeGraphicAttribute for the specified Shape.
      Parameters:
      shape - the Shape to render. The Shape is rendered with its origin at the origin of this ShapeGraphicAttribute in the host TextLayout. This object maintains a reference to shape.
      alignment - one of the alignments from this ShapeGraphicAttribute.
      stroke - true if the Shape should be stroked; false if the Shape should be filled.
  • Method Details

    • getAscent

      public float getAscent()
      Returns the ascent of this ShapeGraphicAttribute. The ascent of a ShapeGraphicAttribute is the positive distance from the origin of its Shape to the top of bounds of its Shape.
      Specified by:
      getAscent in class GraphicAttribute
      Returns:
      the ascent of this ShapeGraphicAttribute.
      See Also:
    • getDescent

      public float getDescent()
      Returns the descent of this ShapeGraphicAttribute. The descent of a ShapeGraphicAttribute is the distance from the origin of its Shape to the bottom of the bounds of its Shape.
      Specified by:
      getDescent in class GraphicAttribute
      Returns:
      the descent of this ShapeGraphicAttribute.
      See Also:
    • getAdvance

      public float getAdvance()
      Returns the advance of this ShapeGraphicAttribute. The advance of a ShapeGraphicAttribute is the distance from the origin of its Shape to the right side of the bounds of its Shape.
      Specified by:
      getAdvance in class GraphicAttribute
      Returns:
      the advance of this ShapeGraphicAttribute.
      See Also:
    • draw

      public void draw(Graphics2D graphics, float x, float y)
      Renders this GraphicAttribute at the specified location.
      Specified by:
      draw in class GraphicAttribute
      Parameters:
      graphics - the Graphics2D into which to render the graphic
      x - the user-space X coordinate where the graphic is rendered
      y - the user-space Y coordinate where the graphic is rendered
    • getBounds

      public Rectangle2D getBounds()
      Returns a Rectangle2D that encloses all of the bits drawn by this ShapeGraphicAttribute relative to the rendering position. A graphic can be rendered beyond its origin, ascent, descent, or advance; but if it does, this method's implementation should indicate where the graphic is rendered.
      Overrides:
      getBounds in class GraphicAttribute
      Returns:
      a Rectangle2D that encloses all of the bits rendered by this ShapeGraphicAttribute.
    • getOutline

      public Shape getOutline(AffineTransform tx)
      Return a Shape that represents the region that this ShapeGraphicAttribute renders. This is used when a TextLayout is requested to return the outline of the text. The (untransformed) shape must not extend outside the rectangular bounds returned by getBounds.
      Overrides:
      getOutline in class GraphicAttribute
      Parameters:
      tx - an optional AffineTransform to apply to the this ShapeGraphicAttribute. This can be null.
      Returns:
      the Shape representing this graphic attribute, suitable for stroking or filling.
      Since:
      1.6
    • hashCode

      public int hashCode()
      Returns a hashcode for this ShapeGraphicAttribute.
      Overrides:
      hashCode in class Object
      Returns:
      a hash code value for this ShapeGraphicAttribute.
      See Also:
    • equals

      public boolean equals(Object rhs)
      Compares this ShapeGraphicAttribute to the specified Object.
      Overrides:
      equals in class Object
      Parameters:
      rhs - the Object to compare for equality
      Returns:
      true if this ShapeGraphicAttribute equals rhs; false otherwise.
      See Also:
    • equals

      public boolean equals(ShapeGraphicAttribute rhs)
      Compares this ShapeGraphicAttribute to the specified ShapeGraphicAttribute.
      Parameters:
      rhs - the ShapeGraphicAttribute to compare for equality
      Returns:
      true if this ShapeGraphicAttribute equals rhs; false otherwise.