summaryrefslogtreecommitdiffstats
path: root/libjava/classpath/native
diff options
context:
space:
mode:
authoraph <aph@138bc75d-0d04-0410-961f-82ee72b054a4>2008-11-05 14:19:06 +0000
committeraph <aph@138bc75d-0d04-0410-961f-82ee72b054a4>2008-11-05 14:19:06 +0000
commitb416fda4bb58479d3d9d5be6a3c8c1f02731238a (patch)
treeeb0bac86065f33d2904121ba06374dc762ee7752 /libjava/classpath/native
parent6f58d17df94b89468b3929dcab3c2e572a476bb4 (diff)
downloadppe42-gcc-b416fda4bb58479d3d9d5be6a3c8c1f02731238a.tar.gz
ppe42-gcc-b416fda4bb58479d3d9d5be6a3c8c1f02731238a.zip
2008-11-05 Andrew Haley <aph@redhat.com>
* gnu/java/awt/peer/gtk/FreetypeGlyphVector.java (getKerning): Return result in a float[], not a Point2D. (performDefaultLayout): Call getKerning with a float[]. * native/jni/gtk-peer/gnu_java_awt_peer_gtk_FreetypeGlyphVector.c (getKerning): Return result in a float[], not a Point2D. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@141610 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava/classpath/native')
-rw-r--r--libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_FreetypeGlyphVector.c15
1 files changed, 7 insertions, 8 deletions
diff --git a/libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_FreetypeGlyphVector.c b/libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_FreetypeGlyphVector.c
index cea06f52d51..951b74558f2 100644
--- a/libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_FreetypeGlyphVector.c
+++ b/libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_FreetypeGlyphVector.c
@@ -169,9 +169,10 @@ Java_gnu_java_awt_peer_gtk_FreetypeGlyphVector_getGlyphs
(*env)->ReleaseLongArrayElements (env, fonts, fontArray, 0);
}
-JNIEXPORT jobject JNICALL
+JNIEXPORT void JNICALL
Java_gnu_java_awt_peer_gtk_FreetypeGlyphVector_getKerning
-(JNIEnv *env, jobject obj __attribute__((unused)), jint rightGlyph, jint leftGlyph, jlong fnt)
+ (JNIEnv *env, jobject obj __attribute__((unused)), jint rightGlyph,
+ jint leftGlyph, jlong fnt, jfloatArray p)
{
FT_Face ft_face;
FT_Vector kern;
@@ -187,12 +188,10 @@ Java_gnu_java_awt_peer_gtk_FreetypeGlyphVector_getKerning
pango_fc_font_unlock_face( font );
- values[0].d = (jdouble)kern.x/64.0;
- values[1].d = (jdouble)kern.y/64.0;
-
- cls = (*env)->FindClass (env, "java/awt/geom/Point2D$Double");
- method = (*env)->GetMethodID (env, cls, "<init>", "(DD)V");
- return (*env)->NewObjectA(env, cls, method, values);
+ jfloat *pelements = (*env)->GetPrimitiveArrayCritical(env, p, NULL);
+ pelements[0] = (jfloat)kern.x/64.0;
+ pelements[1] = (jfloat)kern.y/64.0;
+ (*env)->ReleasePrimitiveArrayCritical (env, p, pelements, 0);
}
JNIEXPORT jdoubleArray JNICALL
OpenPOWER on IntegriCloud