Prev Class | Next Class | Frames | No Frames |
Summary: Nested | Field | Method | Constr | Detail: Nested | Field | Method | Constr |
java.lang.Object
java.awt.font.GlyphVector
gnu.java.awt.peer.gtk.FreetypeGlyphVector
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 | |
| |
| |
|
Method Summary | |
Object |
|
boolean |
|
void |
|
Font |
|
FontRenderContext |
|
int |
|
int[] |
|
protected long[] |
|
GlyphJustificationInfo |
|
Shape |
|
GlyphMetrics |
|
Shape |
|
Point2D |
|
float[] |
|
AffineTransform |
|
Shape |
|
void |
|
Rectangle2D |
|
int |
|
Shape |
|
Shape |
|
Rectangle2D |
|
protected boolean |
|
void |
|
void |
|
void |
|
void |
Methods inherited from class java.lang.Object | |
clone , equals , extends Object> getClass , finalize , hashCode , notify , notifyAll , toString , wait , wait , wait |
public FreetypeGlyphVector(Font f, char[] chars, int start, int len, FontRenderContext frc, int flags)
Create a glyphvector from a given (Freetype) font and a String.
public FreetypeGlyphVector(Font f, int[] codes, FontRenderContext frc)
Create a glyphvector from a given set of glyph codes.
public FreetypeGlyphVector(Font f, String s, FontRenderContext frc)
Create a glyphvector from a given (Freetype) font and a String.
public Object clone()
This method may be called to create a new copy of the Object. The typical behavior is as follows:
However, these are not strict requirements, and may be violated if necessary. Of the three requirements, the last is the most commonly violated, particularly if the subclass does not override
o == o.clone()
is falseo.getClass() == o.clone().getClass()
is trueo.equals(o)
is trueObject.equals(Object)
. If the Object you call clone() on does not implementCloneable
(which is a placeholder interface), then a CloneNotSupportedException is thrown. Notice that Object does not implement Cloneable; this method exists as a convenience for subclasses that do. Object's implementation of clone allocates space for the new Object using the correct class, without calling any constructors, and then fills in all of the new field values with the old field values. Thus, it is a shallow copy. However, subclasses are permitted to make a deep copy. All array types implement Cloneable, and override this method as follows (it should never fail):
public Object clone() { try { super.clone(); } catch (CloneNotSupportedException e) { throw new InternalError(e.getMessage()); } }
- Returns:
- a copy of the Object
- See Also:
Cloneable
public boolean equals(GlyphVector gv)
Duh, compares two instances.
- Overrides:
- equals in interface GlyphVector
public void finalize()
Called on an object by the Virtual Machine at most once, at some point after the Object is determined unreachable but before it is destroyed. You would think that this means it eventually is called on every Object, but this is not necessarily the case. If execution terminates abnormally, garbage collection does not always happen. Thus you cannot rely on this method to always work. For finer control over garbage collection, use references from thejava.lang.ref
package. Virtual Machines are free to not call this method if they can determine that it does nothing important; for example, if your class extends Object and overrides finalize to do simplysuper.finalize()
. finalize() will be called by aThread
that has no locks on any Objects, and may be called concurrently. There are no guarantees on the order in which multiple objects are finalized. This means that finalize() is usually unsuited for performing actions that must be thread-safe, and that your implementation must be use defensive programming if it is to always work. If an Exception is thrown from finalize() during garbage collection, it will be patently ignored and the Object will still be destroyed. It is allowed, although not typical, for user code to call finalize() directly. User invocation does not affect whether automatic invocation will occur. It is also permitted, although not recommended, for a finalize() method to "revive" an object by making it reachable from normal code again. Unlike constructors, finalize() does not get called for an object's superclass unless the implementation specifically callssuper.finalize()
. The default implementation does nothing.
- See Also:
System.gc()
,System.runFinalizersOnExit(boolean)
,java.lang.ref
public FontRenderContext getFontRenderContext()
Returns the associated FontRenderContext
- Overrides:
- getFontRenderContext in interface GlyphVector
public int getGlyphCode(int glyphIndex)
Returns the code of the glyph at glyphIndex;
- Overrides:
- getGlyphCode in interface GlyphVector
public int[] getGlyphCodes(int beginGlyphIndex, int numEntries, int[] codeReturn)
Returns multiple glyphcodes.
- Overrides:
- getGlyphCodes in interface GlyphVector
protected long[] getGlyphFonts(int beginGlyphIndex, int numEntries, long[] codeReturn)
Returns pointers to the fonts used in this glyph vector. The array index matches that of the glyph vector itself.
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
public Shape getGlyphLogicalBounds(int glyphIndex)
- Overrides:
- getGlyphLogicalBounds in interface GlyphVector
public GlyphMetrics getGlyphMetrics(int glyphIndex)
Returns the metrics of a single glyph.
- Overrides:
- getGlyphMetrics in interface GlyphVector
public Shape getGlyphOutline(int glyphIndex)
Returns the outline of a single glyph. Despite what the Sun API says, this method returns the glyph relative to the origin of the *entire string*, not each individual glyph.
- Overrides:
- getGlyphOutline in interface GlyphVector
public Point2D getGlyphPosition(int glyphIndex)
Returns the position of a single glyph.
- Overrides:
- getGlyphPosition in interface GlyphVector
public float[] getGlyphPositions(int beginGlyphIndex, int numEntries, float[] positionReturn)
Returns the positions of multiple glyphs.
- Overrides:
- getGlyphPositions in interface GlyphVector
public AffineTransform getGlyphTransform(int glyphIndex)
Returns the transform of a glyph.
- Overrides:
- getGlyphTransform in interface GlyphVector
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
public void getGlyphs(int[] codepoints, int[] glyphs, long[] fonts)
Returns the glyph code within the font for a given character
public Rectangle2D getLogicalBounds()
Return the logical bounds of the whole thing.
- Overrides:
- getLogicalBounds in interface GlyphVector
public int getNumGlyphs()
Returns the number of glyphs.
- Overrides:
- getNumGlyphs in interface GlyphVector
public Shape getOutline()
Returns the outline of the entire GlyphVector.
- Overrides:
- getOutline in interface GlyphVector
public Shape getOutline(float x, float y)
Returns the outline of the entire vector, drawn at (x,y).
- Overrides:
- getOutline in interface GlyphVector
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
protected boolean hasTransforms()
Checks whether any transform has been set on any glyphs.
public void performDefaultLayout()
Layout the glyphs.
- Overrides:
- performDefaultLayout in interface GlyphVector
public void setGlyphPosition(int glyphIndex, Point2D newPos)
Sets the position of a glyph.
- Overrides:
- setGlyphPosition in interface GlyphVector
public void setGlyphTransform(int glyphIndex, AffineTransform newTX)
Sets the transform of a single glyph.
- Overrides:
- setGlyphTransform in interface GlyphVector