|
Java Platform 1.2 |
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Object | +--java.awt.font.GlyphVector
A GlyphVector object is a collection of glyphs
containing geometric information for the placement of each glyph
in a transformed coordinate space which corresponds to the
device on which the GlyphVector is ultimately
displayed.
The GlyphVector does not attempt any interpretation of
the sequence of glyphs it contains. Relationships between adjacent
glyphs in sequence are solely used to determine the placement of
the glyphs in the visual coordinate space.
Instances of GlyphVector are created by a Font.
In a text processing application that can cache intermediate
representations of text, creation and subsequent caching of a
GlyphVector for use during rendering is the fastest
method to present the visual representation of characters to a user.
A GlyphVector is associated with exactly one
Font, and can provide data useful only in relation to
this Font. In addition, metrics obtained from a
GlyphVector are not generally geometrically scaleable
since the pixelization and spacing are dependent on grid-fitting
algorithms within a Font. To facilitate accurate
measurement of a GlyphVector and its component
glyphs, you must specify a scaling transform, anti-alias mode, and
fractional metrics mode when creating the GlyphVector.
These characteristics can be derived from the destination device.
For each glyph in the GlyphVector, you can obtain:
GlyphVector. The metrics of the glyph may be
different under different transforms, application specified
rendering hints, and the specific instance of the glyph within
the GlyphVector.
GlyphVector objects are immutable. Altering the data
used to create the GlyphVector does not alter the
state of the GlyphVector.
Methods are provided to create new GlyphVector
objects which are the result of editing operations on the
GlyphVector, such as glyph insertion and deletion. These
methods are most appropriate for applications that are forming
combinations such as ligatures from existing glyphs or are breaking
such combinations into their component parts for visual presentation.
Methods are provided to create new GlyphVector
objects that are the result of specifying new positions for the glyphs
within the GlyphVector. These methods are most
appropriate for applications that are performing justification
operations for the presentation of the glyphs.
Methods are provided to return both the visual and logical bounds
of the entire GlyphVector or of individual glyphs within
the GlyphVector.
Methods are provided to return a Shape for the
GlyphVector, and for individual glyphs within the
GlyphVector.
Font,
GlyphMetrics,
TextLayout| Constructor Summary | |
GlyphVector()
|
|
| Method Summary | |
abstract boolean |
equals(GlyphVector set)
Tests if the specified GlyphVector exactly
equals this GlyphVector. |
abstract Font |
getFont()
Returns the Font associated with this
GlyphVector. |
abstract FontRenderContext |
getFontRenderContext()
Returns the FontRenderContext associated with this
GlyphVector. |
abstract int |
getGlyphCode(int glyphIndex)
Returns the glyphcode of the specified glyph. |
abstract int[] |
getGlyphCodes(int beginGlyphIndex,
int numEntries,
int[] codeReturn)
Returns an array of glyphcodes for the specified glyphs. |
abstract GlyphJustificationInfo |
getGlyphJustificationInfo(int glyphIndex)
Returns the justification information for the glyph at the specified index into this GlyphVector. |
abstract Shape |
getGlyphLogicalBounds(int glyphIndex)
Returns the logical bounds of the specified glyph within this GlyphVector. |
abstract GlyphMetrics |
getGlyphMetrics(int glyphIndex)
Returns the metrics of the glyph at the specified index into this GlyphVector. |
abstract Shape |
getGlyphOutline(int glyphIndex)
Returns a Shape whose interior corresponds to the
visual representation of the specified glyph
within this GlyphVector. |
abstract Point2D |
getGlyphPosition(int glyphIndex)
Returns the position of the specified glyph within this GlyphVector. |
abstract float[] |
getGlyphPositions(int beginGlyphIndex,
int numEntries,
float[] positionReturn)
Returns and array of glyph positions for the specified glyphs. |
abstract AffineTransform |
getGlyphTransform(int glyphIndex)
Gets the transform of the specified glyph within this GlyphVector. |
abstract Shape |
getGlyphVisualBounds(int glyphIndex)
Returns the visual bounds of the specified glyph within the GlyphVector. |
abstract Rectangle2D |
getLogicalBounds()
Returns the logical bounds of this GlyphVector. |
abstract int |
getNumGlyphs()
Returns the number of glyphs in this GlyphVector. |
abstract Shape |
getOutline()
Returns a Shape whose interior corresponds to the
visual representation of this GlyphVector. |
abstract Shape |
getOutline(float x,
float y)
Returns a Shape whose interior corresponds to the
visual representation of this GlyphVector, offset
to x, y. |
abstract Rectangle2D |
getVisualBounds()
Returns the visual bounds of this GlyphVector
The visual bounds is the tightest rectangle enclosing all
non-background pixels in the rendered representation of this
GlyphVector. |
abstract void |
performDefaultLayout()
Assigns default positions to each glyph in this GlyphVector. |
abstract void |
setGlyphPosition(int glyphIndex,
Point2D newPos)
Sets the position of the specified glyph within this GlyphVector. |
abstract void |
setGlyphTransform(int glyphIndex,
AffineTransform newTX)
Sets the transform of the specified glyph within this GlyphVector. |
| Methods inherited from class java.lang.Object |
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
toString,
wait,
wait,
wait |
| Constructor Detail |
public GlyphVector()
| Method Detail |
public abstract Font getFont()
Font associated with this
GlyphVector.Fontpublic abstract FontRenderContext getFontRenderContext()
FontRenderContext associated with this
GlyphVector.FontRenderContext used to create this
GlyphVector.FontRenderContext,
Fontpublic abstract void performDefaultLayout()
GlyphVector. No shaping, reordering, or contextual
substitution is performed.public abstract int getNumGlyphs()
GlyphVector.
This information is used to create arrays that are to be
filled with results of other information retreival
operations.GlyphVector.public abstract int getGlyphCode(int glyphIndex)
Font object and can be used to ask the
Font object about the existence of ligatures and
other context sensitive information.glyphIndex - the index into this GlyphVector
that corresponds to the glyph from which to retrieve the
glyphcode.glyphIndex.
public abstract int[] getGlyphCodes(int beginGlyphIndex,
int numEntries,
int[] codeReturn)
Font and can be used to ask the
Font about the existence of ligatures and other
context sensitive information. This method is used
for convenience and performance when processing glyphcodes.
If no array is passed in, an array is created.beginGlyphIndex - the index into this
GlyphVector at which to start retrieving glyphcodes
for the corresponding glyphsnumEntries - the offset from beginGlyphIndex at
which to stop retrieving glyphcodescodeReturn - the array that receives the glyphcodes and is
then returnedpublic abstract Rectangle2D getLogicalBounds()
GlyphVector.
This method is used when positioning this GlyphVector
in relation to visually adjacent GlyphVector objects.Rectangle2D that is the logical bounds of this
GlyphVector.public abstract Rectangle2D getVisualBounds()
GlyphVector
The visual bounds is the tightest rectangle enclosing all
non-background pixels in the rendered representation of this
GlyphVector.Rectangle2D that is the tightest bounds
of this GlyphVector.public abstract Shape getOutline()
Shape whose interior corresponds to the
visual representation of this GlyphVector.Shape that is the outline of this
GlyphVector.
public abstract Shape getOutline(float x,
float y)
Shape whose interior corresponds to the
visual representation of this GlyphVector, offset
to x, y.x, y - the coordinates of the location of the outline
ShapeShape that is the outline of this
GlyphVector, offset to the specified
coordinates.public abstract Shape getGlyphOutline(int glyphIndex)
Shape whose interior corresponds to the
visual representation of the specified glyph
within this GlyphVector.glyphIndex - the index into this GlyphVectorShape that is the outline of the glyph
at the specified glyphIndex of this
GlyphVector.public abstract Point2D getGlyphPosition(int glyphIndex)
GlyphVector.
This position corresponds to the leading edge of the baseline for
the glyph.glyphIndex - the index into this GlyphVectorPoint2D object that is the position of the glyph
at the specified glyphIndex.
public abstract void setGlyphPosition(int glyphIndex,
Point2D newPos)
GlyphVector.
This position corresponds to the leading edge of the baseline for
the glyph.glyphIndex - the index into this GlyphVectornewPos - the Point2D at which to position the
glyph at the specified glyphIndexpublic abstract AffineTransform getGlyphTransform(int glyphIndex)
GlyphVector.glyphIndex - the index into this GlyphVectorAffineTransform that is the transform of
the glyph at the specified glyphIndex.
public abstract void setGlyphTransform(int glyphIndex,
AffineTransform newTX)
GlyphVector.
This method can be used to rotate, mirror, translate and scale the
glyph. Adding a transform can result in signifant performance changes.glyphIndex - the index into this GlyphVectornewTx - the specified transform that the transform of the
glyph at the specified glyphIndex is set to
public abstract float[] getGlyphPositions(int beginGlyphIndex,
int numEntries,
float[] positionReturn)
beginGlyphIndex - the index at which to begin retrieving
glyph positionsnumEntries - the offset from beginGlyphIndex at
which to stop retrieving glyph positionspositionReturn - the array that receives the glyph positions
and is then returned.beginGlyphIndex and numEntries.public abstract Shape getGlyphLogicalBounds(int glyphIndex)
GlyphVector.
These logical bounds have a total of four edges, with two edges
parallel to the baseline under the glyph's transform and the other two
edges are shared with adjacent glyphs if they are present. This
method is useful for hit-testing of the specified glyph,
positioning of a caret at the leading or trailing edge of a glyph,
and for drawing a highlight region around the specified glyph.glyphIndex - the index into this GlyphVector
that corresponds to the glyph from which to retrieve its logical
boundsShape that is the logical bounds of the
glyph at the specified glyphIndex.getGlyphVisualBounds(int)public abstract Shape getGlyphVisualBounds(int glyphIndex)
GlyphVector.
These visual bounds have a total of four edges, representing the
tightest polygon enclosing non-background pixels in the rendered
representation of the glyph whose edges are parallel to the edges
of the logical bounds. Useful for hit-testing of the specified glyph.glyphIndex - the index into this GlyphVector
that corresponds to the glyph from which to retrieve its visual
boundsShape that is the visual bounds of the
glyph at the specified glyphIndex.getGlyphLogicalBounds(int)public abstract GlyphMetrics getGlyphMetrics(int glyphIndex)
GlyphVector.glyphIndex - the index into this GlyphVector
that corresponds to the glyph from which to retrieve its metricsGlyphMetrics object that represents the
metrics of the glyph at the specified glyphIndex
into this GlyphVector.public abstract GlyphJustificationInfo getGlyphJustificationInfo(int glyphIndex)
GlyphVector.glyphIndex - the index into this GlyphVector
that corresponds to the glyph from which to retrieve its
justification propertiesGlyphJustificationInfo object that
represents the justification properties of the glyph at the
specified glyphIndex into this
GlyphVector.public abstract boolean equals(GlyphVector set)
GlyphVector exactly
equals this GlyphVector.set - the specified GlyphVector to testtrue if the specified
GlyphVector equals this GlyphVector;
false otherwise.
|
Java Platform 1.2 |
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||