38 |
#include "gdkfont.h" |
#include "gdkfont.h" |
39 |
#include "gnu_java_awt_peer_gtk_GdkFontPeer.h" |
#include "gnu_java_awt_peer_gtk_GdkFontPeer.h" |
40 |
|
|
41 |
struct state_table *native_font_state_table; |
struct state_table *cp_gtk_native_font_state_table; |
42 |
|
|
43 |
enum java_awt_font_style { |
enum java_awt_font_style { |
44 |
java_awt_font_PLAIN = 0, |
java_awt_font_PLAIN = 0, |
134 |
pfont = (struct peerfont *)NSA_GET_FONT_PTR (env, self); |
pfont = (struct peerfont *)NSA_GET_FONT_PTR (env, self); |
135 |
g_assert (pfont != NULL); |
g_assert (pfont != NULL); |
136 |
|
|
137 |
len = (*gdk_env())->GetStringUTFLength (env, chars); |
len = (*cp_gtk_gdk_env())->GetStringUTFLength (env, chars); |
138 |
str = (gchar *)(*env)->GetStringUTFChars (env, chars, NULL); |
str = (gchar *)(*env)->GetStringUTFChars (env, chars, NULL); |
139 |
g_assert (str != NULL); |
g_assert (str != NULL); |
140 |
|
|
150 |
|
|
151 |
if (i == NULL) |
if (i == NULL) |
152 |
{ |
{ |
153 |
|
gdk_threads_leave (); |
154 |
|
|
155 |
java_extents = (*env)->NewDoubleArray (env, 0); |
java_extents = (*env)->NewDoubleArray (env, 0); |
156 |
java_codes = (*env)->NewIntArray (env, 0); |
java_codes = (*env)->NewIntArray (env, 0); |
157 |
|
|
158 |
|
gdk_threads_enter (); |
159 |
} |
} |
160 |
else |
else |
161 |
{ |
{ |
177 |
int x = 0; |
int x = 0; |
178 |
double scale = ((double) PANGO_SCALE); |
double scale = ((double) PANGO_SCALE); |
179 |
|
|
180 |
|
gdk_threads_leave (); |
181 |
|
|
182 |
java_extents = (*env)->NewDoubleArray (env, glyphs->num_glyphs * NUM_GLYPH_METRICS); |
java_extents = (*env)->NewDoubleArray (env, glyphs->num_glyphs * NUM_GLYPH_METRICS); |
183 |
java_codes = (*env)->NewIntArray (env, glyphs->num_glyphs); |
java_codes = (*env)->NewIntArray (env, glyphs->num_glyphs); |
184 |
|
|
185 |
|
gdk_threads_enter (); |
186 |
|
|
187 |
native_extents = (*env)->GetDoubleArrayElements (env, java_extents, NULL); |
native_extents = (*env)->GetDoubleArrayElements (env, java_extents, NULL); |
188 |
native_codes = (*env)->GetIntArrayElements (env, java_codes, NULL); |
native_codes = (*env)->GetIntArrayElements (env, java_codes, NULL); |
189 |
|
|
389 |
else |
else |
390 |
{ |
{ |
391 |
/* GDK uses a slightly different DPI setting. */ |
/* GDK uses a slightly different DPI setting. */ |
392 |
pango_font_description_set_size (pfont->desc, |
pango_font_description_set_size (pfont->desc, |
393 |
size * dpi_conversion_factor); |
size * cp_gtk_dpi_conversion_factor); |
394 |
if (pfont->ctx == NULL) |
if (pfont->ctx == NULL) |
395 |
pfont->ctx = gdk_pango_context_get(); |
pfont->ctx = gdk_pango_context_get(); |
396 |
} |
} |