48 |
jdouble *native_metrics = NULL; |
jdouble *native_metrics = NULL; |
49 |
PangoFontMetrics *pango_metrics; |
PangoFontMetrics *pango_metrics; |
50 |
|
|
51 |
gdk_threads_enter (); |
gdk_threads_enter(); |
52 |
|
|
53 |
pfont = (struct peerfont *) NSA_GET_FONT_PTR (env, java_font); |
pfont = (struct peerfont *) NSA_GET_FONT_PTR (env, java_font); |
54 |
g_assert (pfont != NULL); |
g_assert (pfont != NULL); |
66 |
native_metrics[FONT_METRICS_DESCENT] = - native_metrics[FONT_METRICS_DESCENT]; |
native_metrics[FONT_METRICS_DESCENT] = - native_metrics[FONT_METRICS_DESCENT]; |
67 |
native_metrics[FONT_METRICS_MAX_DESCENT] = native_metrics[FONT_METRICS_DESCENT]; |
native_metrics[FONT_METRICS_MAX_DESCENT] = native_metrics[FONT_METRICS_DESCENT]; |
68 |
native_metrics[FONT_METRICS_MAX_ADVANCE] = PANGO_PIXELS (pango_font_metrics_get_approximate_char_width (pango_metrics)); |
native_metrics[FONT_METRICS_MAX_ADVANCE] = PANGO_PIXELS (pango_font_metrics_get_approximate_char_width (pango_metrics)); |
69 |
|
|
70 |
(*env)->ReleaseDoubleArrayElements (env, java_metrics, native_metrics, 0); |
(*env)->ReleaseDoubleArrayElements (env, java_metrics, native_metrics, 0); |
71 |
|
|
72 |
pango_font_metrics_unref (pango_metrics); |
pango_font_metrics_unref (pango_metrics); |
73 |
|
|
74 |
gdk_threads_leave (); |
gdk_threads_leave(); |
75 |
} |
} |
76 |
|
|
77 |
JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GdkFontMetrics_getPeerTextMetrics |
JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GdkFontMetrics_getPeerTextMetrics |
82 |
jdouble *native_metrics = NULL; |
jdouble *native_metrics = NULL; |
83 |
PangoRectangle log; |
PangoRectangle log; |
84 |
|
|
85 |
gdk_threads_enter (); |
gdk_threads_enter(); |
86 |
|
|
87 |
pfont = (struct peerfont *)NSA_GET_FONT_PTR (env, java_font); |
pfont = (struct peerfont *)NSA_GET_FONT_PTR (env, java_font); |
88 |
g_assert (pfont != NULL); |
g_assert (pfont != NULL); |
105 |
native_metrics[TEXT_METRICS_HEIGHT] = PANGO_PIXELS(log.height); |
native_metrics[TEXT_METRICS_HEIGHT] = PANGO_PIXELS(log.height); |
106 |
native_metrics[TEXT_METRICS_X_ADVANCE] = PANGO_PIXELS(log.x + log.width); |
native_metrics[TEXT_METRICS_X_ADVANCE] = PANGO_PIXELS(log.x + log.width); |
107 |
native_metrics[TEXT_METRICS_Y_ADVANCE] = PANGO_PIXELS(log.y + log.height); |
native_metrics[TEXT_METRICS_Y_ADVANCE] = PANGO_PIXELS(log.y + log.height); |
108 |
|
|
109 |
(*env)->ReleaseDoubleArrayElements (env, java_metrics, native_metrics, 0); |
(*env)->ReleaseDoubleArrayElements (env, java_metrics, native_metrics, 0); |
110 |
|
|
111 |
gdk_threads_leave (); |
gdk_threads_leave(); |
112 |
} |
} |
113 |
|
|