- java.lang.Object
-
- java.awt.font.GraphicAttribute
-
- java.awt.font.ShapeGraphicAttribute
-
public final class ShapeGraphicAttribute extends GraphicAttribute
TheShapeGraphicAttributeclass is an implementation ofGraphicAttributethat draws shapes in aTextLayout.- See Also:
GraphicAttribute
-
-
Field Summary
Fields Modifier and Type Field Description static booleanFILLA key indicating the shape should be filled.static booleanSTROKEA key indicating the shape should be stroked with a 1-pixel wide stroke.-
Fields inherited from 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 aShapeGraphicAttributefor the specifiedShape.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voiddraw(Graphics2D graphics, float x, float y)Renders thisGraphicAttributeat the specified location.booleanequals(ShapeGraphicAttribute rhs)Compares thisShapeGraphicAttributeto the specifiedShapeGraphicAttribute.booleanequals(Object rhs)Compares thisShapeGraphicAttributeto the specifiedObject.floatgetAdvance()Returns the advance of thisShapeGraphicAttribute.floatgetAscent()Returns the ascent of thisShapeGraphicAttribute.Rectangle2DgetBounds()Returns aRectangle2Dthat encloses all of the bits drawn by thisShapeGraphicAttributerelative to the rendering position.floatgetDescent()Returns the descent of thisShapeGraphicAttribute.ShapegetOutline(AffineTransform tx)Return aShapethat represents the region that thisShapeGraphicAttributerenders.inthashCode()Returns a hashcode for thisShapeGraphicAttribute.-
Methods inherited from class java.awt.font.GraphicAttribute
getAlignment, getJustificationInfo
-
-
-
-
Field Detail
-
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 Detail
-
ShapeGraphicAttribute
public ShapeGraphicAttribute(Shape shape, int alignment, boolean stroke)
Constructs aShapeGraphicAttributefor the specifiedShape.- Parameters:
shape- theShapeto render. TheShapeis rendered with its origin at the origin of thisShapeGraphicAttributein the hostTextLayout. This object maintains a reference toshape.alignment- one of the alignments from thisShapeGraphicAttribute.stroke-trueif theShapeshould be stroked;falseif theShapeshould be filled.
-
-
Method Detail
-
getAscent
public float getAscent()
Returns the ascent of thisShapeGraphicAttribute. The ascent of aShapeGraphicAttributeis the positive distance from the origin of itsShapeto the top of bounds of itsShape.- Specified by:
getAscentin classGraphicAttribute- Returns:
- the ascent of this
ShapeGraphicAttribute. - See Also:
GraphicAttribute.getBounds()
-
getDescent
public float getDescent()
Returns the descent of thisShapeGraphicAttribute. The descent of aShapeGraphicAttributeis the distance from the origin of itsShapeto the bottom of the bounds of itsShape.- Specified by:
getDescentin classGraphicAttribute- Returns:
- the descent of this
ShapeGraphicAttribute. - See Also:
GraphicAttribute.getBounds()
-
getAdvance
public float getAdvance()
Returns the advance of thisShapeGraphicAttribute. The advance of aShapeGraphicAttributeis the distance from the origin of itsShapeto the right side of the bounds of itsShape.- Specified by:
getAdvancein classGraphicAttribute- Returns:
- the advance of this
ShapeGraphicAttribute. - See Also:
GraphicAttribute.getBounds()
-
draw
public void draw(Graphics2D graphics, float x, float y)
Renders thisGraphicAttributeat the specified location.- Specified by:
drawin classGraphicAttribute- Parameters:
graphics- theGraphics2Dinto which to render the graphicx- the user-space X coordinate where the graphic is renderedy- the user-space Y coordinate where the graphic is rendered
-
getBounds
public Rectangle2D getBounds()
Returns aRectangle2Dthat encloses all of the bits drawn by thisShapeGraphicAttributerelative 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:
getBoundsin classGraphicAttribute- Returns:
- a
Rectangle2Dthat encloses all of the bits rendered by thisShapeGraphicAttribute.
-
getOutline
public Shape getOutline(AffineTransform tx)
Return aShapethat represents the region that thisShapeGraphicAttributerenders. This is used when aTextLayoutis requested to return the outline of the text. The (untransformed) shape must not extend outside the rectangular bounds returned bygetBounds.- Overrides:
getOutlinein classGraphicAttribute- Parameters:
tx- an optionalAffineTransformto apply to the thisShapeGraphicAttribute. This can be null.- Returns:
- the
Shaperepresenting this graphic attribute, suitable for stroking or filling. - Since:
- 1.6
-
hashCode
public int hashCode()
Returns a hashcode for thisShapeGraphicAttribute.- Overrides:
hashCodein classObject- 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 thisShapeGraphicAttributeto the specifiedObject.- Overrides:
equalsin classObject- Parameters:
rhs- theObjectto compare for equality- Returns:
trueif thisShapeGraphicAttributeequalsrhs;falseotherwise.- See Also:
Object.hashCode(),HashMap
-
equals
public boolean equals(ShapeGraphicAttribute rhs)
Compares thisShapeGraphicAttributeto the specifiedShapeGraphicAttribute.- Parameters:
rhs- theShapeGraphicAttributeto compare for equality- Returns:
trueif thisShapeGraphicAttributeequalsrhs;falseotherwise.
-
-