gnu.java.awt.peer.gtk

Class FreetypeGlyphVector

Implemented Interfaces:
Cloneable

public class FreetypeGlyphVector
extends GlyphVector

Field Summary

Fields inherited from class java.awt.font.GlyphVector

FLAG_COMPLEX_GLYPHS, FLAG_HAS_POSITION_ADJUSTMENTS, FLAG_HAS_TRANSFORMS, FLAG_MASK, FLAG_RUN_RTL

Constructor Summary

FreetypeGlyphVector(Font f, int[] codes, FontRenderContext frc)
Create a glyphvector from a given set of glyph codes.
FreetypeGlyphVector(Font f, String s, FontRenderContext frc)
Create a glyphvector from a given (Freetype) font and a String.
FreetypeGlyphVector(Font f, String s, FontRenderContext frc, int flags)
Create a glyphvector from a given (Freetype) font and a String.

Method Summary

Object
clone()
boolean
equals(GlyphVector gv)
Duh, compares two instances.
Font
getFont()
Returns the associated Font
FontRenderContext
getFontRenderContext()
Returns the associated FontRenderContext
int
getGlyphCode(int glyphIndex)
Returns the code of the glyph at glyphIndex;
int[]
getGlyphCodes(int beginGlyphIndex, int numEntries, int[] codeReturn)
Returns multiple glyphcodes.
GlyphJustificationInfo
getGlyphJustificationInfo(int glyphIndex)
TODO: FreeType does not currently have an API for the JSTF table.
Shape
getGlyphLogicalBounds(int glyphIndex)
FIXME: Implement me.
GlyphMetrics
getGlyphMetrics(int glyphIndex)
Returns the metrics of a single glyph.
Shape
getGlyphOutline(int glyphIndex)
Returns the outline of a single glyph.
Point2D
getGlyphPosition(int glyphIndex)
Returns the position of a single glyph.
float[]
getGlyphPositions(int beginGlyphIndex, int numEntries, float[] positionReturn)
Returns the positions of multiple glyphs.
AffineTransform
getGlyphTransform(int glyphIndex)
Returns the transform of a glyph.
Shape
getGlyphVisualBounds(int glyphIndex)
Returns the visual bounds of a glyph May be off by a pixel or two due to hinting/rasterization.
int[]
getGlyphs(int[] codepoints)
Returns the glyph code within the font for a given character
Rectangle2D
getLogicalBounds()
Return the logical bounds of the whole thing.
int
getNumGlyphs()
Returns the number of glyphs.
Shape
getOutline()
Returns the outline of the entire GlyphVector.
Shape
getOutline(float x, float y)
Returns the outline of the entire vector, drawn at (x,y).
Rectangle2D
getVisualBounds()
Returns the visual bounds of the entire GlyphVector.
void
performDefaultLayout()
Layout the glyphs.
void
setGlyphPosition(int glyphIndex, Point2D newPos)
Sets the position of a glyph.
void
setGlyphTransform(int glyphIndex, AffineTransform newTX)
Sets the transform of a single glyph.
void
setupGlyphMetrics()

Methods inherited from class java.awt.font.GlyphVector

equals, getFont, getFontRenderContext, getGlyphCharIndex, getGlyphCharIndices, getGlyphCode, getGlyphCodes, getGlyphJustificationInfo, getGlyphLogicalBounds, getGlyphMetrics, getGlyphOutline, getGlyphOutline, getGlyphPixelBounds, getGlyphPosition, getGlyphPositions, getGlyphTransform, getGlyphVisualBounds, getLayoutFlags, getLogicalBounds, getNumGlyphs, getOutline, getOutline, getPixelBounds, getVisualBounds, performDefaultLayout, setGlyphPosition, setGlyphTransform

Methods inherited from class java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Constructor Details

FreetypeGlyphVector

public FreetypeGlyphVector(Font f,
                           int[] codes,
                           FontRenderContext frc)
Create a glyphvector from a given set of glyph codes.

FreetypeGlyphVector

public FreetypeGlyphVector(Font f,
                           String s,
                           FontRenderContext frc)
Create a glyphvector from a given (Freetype) font and a String.

FreetypeGlyphVector

public FreetypeGlyphVector(Font f,
                           String s,
                           FontRenderContext frc,
                           int flags)
Create a glyphvector from a given (Freetype) font and a String.

Method Details

clone

public Object clone()
Overrides:
clone in interface Object

equals

public boolean equals(GlyphVector gv)
Duh, compares two instances.
Overrides:
equals in interface GlyphVector

getFont

public Font getFont()
Returns the associated Font
Overrides:
getFont in interface GlyphVector

getFontRenderContext

public FontRenderContext getFontRenderContext()
Returns the associated FontRenderContext
Overrides:
getFontRenderContext in interface GlyphVector

getGlyphCode

public int getGlyphCode(int glyphIndex)
Returns the code of the glyph at glyphIndex;
Overrides:
getGlyphCode in interface GlyphVector

getGlyphCodes

public int[] getGlyphCodes(int beginGlyphIndex,
                           int numEntries,
                           int[] codeReturn)
Returns multiple glyphcodes.
Overrides:
getGlyphCodes in interface GlyphVector

getGlyphJustificationInfo

public GlyphJustificationInfo getGlyphJustificationInfo(int glyphIndex)
TODO: FreeType does not currently have an API for the JSTF table. We should probably get the table ourselves from FT and pass it to some parser which the native font peers will need.
Overrides:
getGlyphJustificationInfo in interface GlyphVector

getGlyphLogicalBounds

public Shape getGlyphLogicalBounds(int glyphIndex)
FIXME: Implement me.
Overrides:
getGlyphLogicalBounds in interface GlyphVector

getGlyphMetrics

public GlyphMetrics getGlyphMetrics(int glyphIndex)
Returns the metrics of a single glyph.
Overrides:
getGlyphMetrics in interface GlyphVector

getGlyphOutline

public Shape getGlyphOutline(int glyphIndex)
Returns the outline of a single glyph.
Overrides:
getGlyphOutline in interface GlyphVector

getGlyphPosition

public Point2D getGlyphPosition(int glyphIndex)
Returns the position of a single glyph.
Overrides:
getGlyphPosition in interface GlyphVector

getGlyphPositions

public float[] getGlyphPositions(int beginGlyphIndex,
                                 int numEntries,
                                 float[] positionReturn)
Returns the positions of multiple glyphs.
Overrides:
getGlyphPositions in interface GlyphVector

getGlyphTransform

public AffineTransform getGlyphTransform(int glyphIndex)
Returns the transform of a glyph.
Overrides:
getGlyphTransform in interface GlyphVector

getGlyphVisualBounds

public Shape getGlyphVisualBounds(int glyphIndex)
Returns the visual bounds of a glyph May be off by a pixel or two due to hinting/rasterization.
Overrides:
getGlyphVisualBounds in interface GlyphVector

getGlyphs

public int[] getGlyphs(int[] codepoints)
Returns the glyph code within the font for a given character

getLogicalBounds

public Rectangle2D getLogicalBounds()
Return the logical bounds of the whole thing.
Overrides:
getLogicalBounds in interface GlyphVector

getNumGlyphs

public int getNumGlyphs()
Returns the number of glyphs.
Overrides:
getNumGlyphs in interface GlyphVector

getOutline

public Shape getOutline()
Returns the outline of the entire GlyphVector.
Overrides:
getOutline in interface GlyphVector

getOutline

public Shape getOutline(float x,
                        float y)
Returns the outline of the entire vector, drawn at (x,y).
Overrides:
getOutline in interface GlyphVector

getVisualBounds

public Rectangle2D getVisualBounds()
Returns the visual bounds of the entire GlyphVector. May be off by a pixel or two due to hinting/rasterization.
Overrides:
getVisualBounds in interface GlyphVector

performDefaultLayout

public void performDefaultLayout()
Layout the glyphs.
Overrides:
performDefaultLayout in interface GlyphVector

setGlyphPosition

public void setGlyphPosition(int glyphIndex,
                             Point2D newPos)
Sets the position of a glyph.
Overrides:
setGlyphPosition in interface GlyphVector

setGlyphTransform

public void setGlyphTransform(int glyphIndex,
                              AffineTransform newTX)
Sets the transform of a single glyph.
Overrides:
setGlyphTransform in interface GlyphVector

setupGlyphMetrics

public void setupGlyphMetrics()

FreetypeGlyphVector.java Copyright (C) 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. GNU Classpath is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. GNU Classpath is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Classpath; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version.