ShapeGraphicAttribute (Java SE 13 & JDK 13 )
Description: declaration: module: java.desktop, package: java.awt.font, class: ShapeGraphicAttribute
Keywords: java.awt.font.ShapeGraphicAttribute class

Module java.desktop
Package java.awt.font

# 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:
  `GraphicAttribute`

- ## Field Summary

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

  ### Fields declared in class java.awt.font.GraphicAttribute

  `BOTTOM_ALIGNMENT, CENTER_BASELINE, HANGING_BASELINE, ROMAN_BASELINE, TOP_ALIGNMENT`

- ## 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
  --- | --- | ---
  `boolean` | `equals​(ShapeGraphicAttribute rhs)` | Compares this `ShapeGraphicAttribute` to the specified `ShapeGraphicAttribute`.
  `boolean` | `equals​(Object rhs)` | Compares this `ShapeGraphicAttribute` to the specified `Object`.
  `float` | `getAdvance()` | Returns the advance of this `ShapeGraphicAttribute`.
  `float` | `getAscent()` | Returns the ascent of this `ShapeGraphicAttribute`.
  `Rectangle2D` | `getBounds()` | Returns a `Rectangle2D` that encloses all of the bits drawn by this `ShapeGraphicAttribute` relative to the rendering position.
  `float` | `getDescent()` | Returns the descent of this `ShapeGraphicAttribute`.
  `Shape` | `getOutline​(AffineTransform tx)` | Return a `Shape` that represents the region that this `ShapeGraphicAttribute` renders.
  `int` | `hashCode()` | Returns a hashcode for this `ShapeGraphicAttribute`.

  ### Methods declared in class java.awt.font.GraphicAttribute

  `draw, getAlignment, getJustificationInfo`

  ### Methods declared in class java.lang.Object

  `clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait`

- ## Field Details

  - ### STROKE

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

  - ### FILL

    public static final boolean FILL
    A key indicating the shape should be filled.
    See Also:
      Constant Field Values

- ## 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:
      `GraphicAttribute.getBounds()`

  - ### 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:
      `GraphicAttribute.getBounds()`

  - ### 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:
      `GraphicAttribute.getBounds()`

  - ### 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:
      `Object.equals(java.lang.Object)`, `System.identityHashCode(java.lang.Object)`

  - ### 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:
      `Object.hashCode()`, `HashMap`

  - ### 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.