191 |
jstring fname, jint size) |
jstring fname, jint size) |
192 |
{ |
{ |
193 |
struct graphics *g; |
struct graphics *g; |
194 |
const char *cfname, *cstr; |
const char *cstr; |
195 |
gchar *xlfd; |
const char *font_name; |
196 |
|
PangoFontDescription *font_desc; |
197 |
|
PangoContext *context; |
198 |
|
PangoLayout *layout; |
199 |
|
|
200 |
g = (struct graphics *) NSA_GET_PTR (env, obj); |
g = (struct graphics *) NSA_GET_PTR (env, obj); |
|
|
|
|
cfname = (*env)->GetStringUTFChars (env, fname, NULL); |
|
|
xlfd = g_strdup_printf (cfname, (size * 10)); |
|
|
(*env)->ReleaseStringUTFChars (env, fname, cfname); |
|
201 |
|
|
202 |
cstr = (*env)->GetStringUTFChars (env, str, NULL); |
cstr = (*env)->GetStringUTFChars (env, str, NULL); |
203 |
|
font_name = (*env)->GetStringUTFChars (env, fname, NULL); |
204 |
|
|
205 |
gdk_threads_enter (); |
gdk_threads_enter (); |
206 |
gdk_draw_string (g->drawable, gdk_font_load (xlfd), g->gc, |
|
207 |
x + g->x_offset, y + g->y_offset, cstr); |
font_desc = pango_font_description_from_string (font_name); |
208 |
|
pango_font_description_set_size (font_desc, size * PANGO_SCALE); |
209 |
|
|
210 |
|
context = gdk_pango_context_get(); |
211 |
|
pango_context_set_font_description (context, font_desc); |
212 |
|
|
213 |
|
layout = pango_layout_new (context); |
214 |
|
|
215 |
|
pango_layout_set_text (layout, cstr, -1); |
216 |
|
|
217 |
|
gdk_draw_layout (g->drawable, g->gc, |
218 |
|
x + g->x_offset, y + g->y_offset, layout); |
219 |
|
|
220 |
|
pango_font_description_free (font_desc); |
221 |
|
|
222 |
gdk_threads_leave (); |
gdk_threads_leave (); |
223 |
|
|
224 |
|
(*env)->ReleaseStringUTFChars (env, fname, font_name); |
225 |
(*env)->ReleaseStringUTFChars (env, str, cstr); |
(*env)->ReleaseStringUTFChars (env, str, cstr); |
|
g_free (xlfd); |
|
226 |
} |
} |
227 |
|
|
|
|
|
228 |
JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GdkGraphics_drawLine |
JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GdkGraphics_drawLine |
229 |
(JNIEnv *env, jobject obj, jint x, jint y, jint x2, jint y2) |
(JNIEnv *env, jobject obj, jint x, jint y, jint x2, jint y2) |
230 |
{ |
{ |