public final class ShapeGraphicAttribute extends GraphicAttribute
The ShapeGraphicAttribute
class is an implementation of GraphicAttribute
that draws shapes in a TextLayout
.
GraphicAttribute
public static final boolean STROKE
A key indicating the shape should be stroked with a 1-pixel wide stroke.
public static final boolean FILL
A key indicating the shape should be filled.
public ShapeGraphicAttribute(Shape shape, int alignment, boolean stroke)
Constructs a ShapeGraphicAttribute
for the specified Shape
.
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.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
.
getAscent
in class GraphicAttribute
ShapeGraphicAttribute
.GraphicAttribute.getBounds()
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
.
getDescent
in class GraphicAttribute
ShapeGraphicAttribute
.GraphicAttribute.getBounds()
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
.
getAdvance
in class GraphicAttribute
ShapeGraphicAttribute
.GraphicAttribute.getBounds()
public void draw(Graphics2D graphics, float x, float y)
Renders this GraphicAttribute
at the specified location.
draw
in class GraphicAttribute
graphics
- the Graphics2D
into which to render the graphicx
- the user-space X coordinate where the graphic is renderedy
- the user-space Y coordinate where the graphic is renderedpublic 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.
getBounds
in class GraphicAttribute
Rectangle2D
that encloses all of the bits rendered by this ShapeGraphicAttribute
.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
.
getOutline
in class GraphicAttribute
tx
- an optional AffineTransform
to apply to the this ShapeGraphicAttribute
. This can be null.Shape
representing this graphic attribute, suitable for stroking or filling.public int hashCode()
Returns a hashcode for this ShapeGraphicAttribute
.
hashCode
in class Object
ShapeGraphicAttribute
.Object.equals(java.lang.Object)
, System.identityHashCode(java.lang.Object)
public boolean equals(Object rhs)
Compares this ShapeGraphicAttribute
to the specified Object
.
equals
in class Object
rhs
- the Object
to compare for equalitytrue
if this ShapeGraphicAttribute
equals rhs
; false
otherwise.Object.hashCode()
, HashMap
public boolean equals(ShapeGraphicAttribute rhs)
Compares this ShapeGraphicAttribute
to the specified ShapeGraphicAttribute
.
rhs
- the ShapeGraphicAttribute
to compare for equalitytrue
if this ShapeGraphicAttribute
equals rhs
; false
otherwise.
© 1993–2017, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.