diff options
Diffstat (limited to 'libjava/classpath/gnu/java')
-rw-r--r-- | libjava/classpath/gnu/java/awt/peer/gtk/FreetypeGlyphVector.java | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/libjava/classpath/gnu/java/awt/peer/gtk/FreetypeGlyphVector.java b/libjava/classpath/gnu/java/awt/peer/gtk/FreetypeGlyphVector.java index 8d6d01a..af975f3 100644 --- a/libjava/classpath/gnu/java/awt/peer/gtk/FreetypeGlyphVector.java +++ b/libjava/classpath/gnu/java/awt/peer/gtk/FreetypeGlyphVector.java @@ -247,7 +247,8 @@ public class FreetypeGlyphVector extends GlyphVector /** * Returns the kerning of a glyph pair */ - private native Point2D getKerning(int leftGlyph, int rightGlyph, long font); + private native void getKerning(int leftGlyph, int rightGlyph, long font, + float[] p); private native double[] getMetricsNative(int glyphCode, long font); @@ -301,6 +302,7 @@ public class FreetypeGlyphVector extends GlyphVector GlyphMetrics gm = null; float x = 0; float y = 0; + float[] p = {0.0f, 0.0f}; for(int i = 0; i < nGlyphs; i++) { gm = getGlyphMetrics( i ); @@ -314,9 +316,9 @@ public class FreetypeGlyphVector extends GlyphVector // using the same font if (i != nGlyphs-1 && fontSet[i] == fontSet[i+1]) { - Point2D p = getKerning(glyphCodes[i], glyphCodes[i + 1], fontSet[i]); - x += p.getX(); - y += p.getY(); + getKerning(glyphCodes[i], glyphCodes[i + 1], fontSet[i], p); + x += p[0]; + y += p[1]; } } glyphPositions[nGlyphs * 2] = x; |