| 
JavaTM 2 Platform Std. Ed. v1.3.1  | 
|||||||||
| 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.
   
   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 an 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 retrieval
   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.IndexOutOfBoundsException - if glyphIndex
           is less than 0 or greater than or equal to the 
           number of glyphs in this GlyphVector
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 number of glyphs to retrievecodeReturn - the array that receives the glyphcodes and is
		then returnedIllegalArgumentException - if numEntries is 
           less than 0IndexOutOfBoundsException - if beginGlyphIndex 
           is less than 0IndexOutOfBoundsException - if the sum of 
           beginGlyphIndex and numEntries is 
           greater than the number of glyphs in this
           GlyphVectorpublic 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.IndexOutOfBoundsException - if glyphIndex
           is less than 0 or greater than or equal to the number
           of glyphs in this GlyphVectorpublic abstract Point2D getGlyphPosition(int glyphIndex)
GlyphVector.
   This position corresponds to the leading edge of the baseline for
   the glyph.
   If glyphIndex equals the number of of glyphs in 
   this GlyphVector, this method gets the position after
   the last glyph and this position is used to define the advance of 
   the entire GlyphVector.glyphIndex - the index into this GlyphVectorPoint2D object that is the position of the glyph
		at the specified glyphIndex.IndexOutOfBoundsException - if glyphIndex
           is less than 0 or greater than the number of glyphs
           in this GlyphVector
public abstract void setGlyphPosition(int glyphIndex,
                                      Point2D newPos)
GlyphVector.
   This position corresponds to the leading edge of the baseline for
   the glyph.
   If glyphIndex equals the number of of glyphs in 
   this GlyphVector, this method sets the position after
   the last glyph and this position is used to define the advance of 
   the entire GlyphVector.glyphIndex - the index into this GlyphVectornewPos - the Point2D at which to position the
		glyph at the specified glyphIndexIndexOutOfBoundsException - if glyphIndex
           is less than 0 or greater than the number of glyphs
           in this GlyphVectorpublic abstract AffineTransform getGlyphTransform(int glyphIndex)
GlyphVector.  The transform is relative to the
   glyph position.  If no special transform has been applied, 
   null can be returned.  Such a transform would 
   be an identity transform.glyphIndex - the index into this GlyphVectorAffineTransform that is the transform of
		the glyph at the specified glyphIndex.IndexOutOfBoundsException - if glyphIndex
           is less than 0 or greater than or equal to the number 
           of glyphs in this GlyphVector
public abstract void setGlyphTransform(int glyphIndex,
                                       AffineTransform newTX)
GlyphVector.  The transform is relative to the glyph
   position.  A null argument for newTX
   indicates that no special transform is applied for the specified
   glyph.
   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 toIndexOutOfBoundsException - if glyphIndex
           is less than 0 or greater than or equal to the number 
           of glyphs in this GlyphVector
public abstract float[] getGlyphPositions(int beginGlyphIndex,
                                          int numEntries,
                                          float[] positionReturn)
beginGlyphIndex equals the number of of glyphs in 
   this GlyphVector, this method gets the position after
   the last glyph and this position is used to define the advance of 
   the entire GlyphVector.beginGlyphIndex - the index at which to begin retrieving
        glyph positionsnumEntries - the number of glyphs to retrievepositionReturn - the array that receives the glyph positions
     and is then returned.beginGlyphIndex and numEntries.IllegalArgumentException - if numEntries is
           less than 0IndexOutOfBoundsException - if beginGlyphIndex
           is less than 0IndexOutOfBoundsException - if the sum of 
           beginGlyphIndex and numEntries 
           is greater than the number of glyphs in this 
           GlyphVector plus onepublic 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.IndexOutOfBoundsException - if glyphIndex
           is less than 0 or greater than or equal to the number 
           of glyphs in this GlyphVectorgetGlyphVisualBounds(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.IndexOutOfBoundsException - if glyphIndex
           is less than 0 or greater than or equal to the number 
           of glyphs in this GlyphVectorgetGlyphLogicalBounds(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.IndexOutOfBoundsException - if glyphIndex
           is less than 0 or greater than or equal to the number 
           of glyphs in this GlyphVectorpublic 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.IndexOutOfBoundsException - if glyphIndex
           is less than 0 or greater than or equal to the number 
           of glyphs in this GlyphVectorpublic 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.
  | 
JavaTM 2 Platform Std. Ed. v1.3.1  | 
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
Java, Java 2D, and JDBC are trademarks or registered trademarks of Sun Microsystems, Inc. in the US and other countries.
Copyright 1993-2001 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A.  All Rights Reserved.