public final class ShapeGraphicAttribute extends GraphicAttribute
ShapeGraphicAttribute
class is an implementation of
GraphicAttribute
that draws shapes in a TextLayout
.GraphicAttribute
Modifier and Type | Field and 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.
|
BOTTOM_ALIGNMENT, CENTER_BASELINE, HANGING_BASELINE, ROMAN_BASELINE, TOP_ALIGNMENT
Constructor and Description |
---|
ShapeGraphicAttribute(Shape shape,
int alignment,
boolean stroke)
Constructs a
ShapeGraphicAttribute for the specified
Shape . |
Modifier and Type | Method and Description |
---|---|
void |
draw(Graphics2D graphics,
float x,
float y)
Renders this
GraphicAttribute at the specified
location. |
boolean |
equals(Object rhs)
Compares this
ShapeGraphicAttribute to the specified
Object . |
boolean |
equals(ShapeGraphicAttribute rhs)
Compares this
ShapeGraphicAttribute to the specified
ShapeGraphicAttribute . |
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 . |
getAlignment, getJustificationInfo
public static final boolean STROKE
public static final boolean FILL
public ShapeGraphicAttribute(Shape shape, int alignment, boolean stroke)
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()
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()
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()
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)
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()
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)
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()
ShapeGraphicAttribute
.hashCode
in class Object
ShapeGraphicAttribute
.Object.equals(java.lang.Object)
,
System.identityHashCode(java.lang.Object)
public boolean equals(Object rhs)
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)
ShapeGraphicAttribute
to the specified
ShapeGraphicAttribute
.rhs
- the ShapeGraphicAttribute
to compare for
equalitytrue
if this
ShapeGraphicAttribute
equals rhs
;
false
otherwise. Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2022, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.