158 |
|
|
159 |
JNIEXPORT void JNICALL |
JNIEXPORT void JNICALL |
160 |
Java_gnu_java_awt_peer_gtk_GtkTextAreaPeer_gtkSetFont |
Java_gnu_java_awt_peer_gtk_GtkTextAreaPeer_gtkSetFont |
161 |
(JNIEnv *env, jobject obj, jstring jname, jint size) |
(JNIEnv *env, jobject obj, jstring name, jint style, jint size) |
162 |
{ |
{ |
163 |
const char *font_name; |
const char *font_name; |
164 |
void *ptr; |
void *ptr; |
169 |
|
|
170 |
text = GTK_WIDGET (TEXT_FROM_SW (ptr)); |
text = GTK_WIDGET (TEXT_FROM_SW (ptr)); |
171 |
|
|
172 |
font_name = (*env)->GetStringUTFChars (env, jname, NULL); |
font_name = (*env)->GetStringUTFChars (env, name, NULL); |
173 |
|
|
174 |
gdk_threads_enter(); |
gdk_threads_enter(); |
175 |
|
|
176 |
font_desc = pango_font_description_from_string (font_name); |
font_desc = pango_font_description_from_string (font_name); |
177 |
pango_font_description_set_size (font_desc, size * PANGO_SCALE); |
pango_font_description_set_size (font_desc, size * PANGO_SCALE); |
178 |
|
|
179 |
|
if (style & AWT_STYLE_BOLD) |
180 |
|
pango_font_description_set_weight (font_desc, PANGO_WEIGHT_BOLD); |
181 |
|
|
182 |
|
if (style & AWT_STYLE_ITALIC) |
183 |
|
pango_font_description_set_style (font_desc, PANGO_STYLE_OBLIQUE); |
184 |
|
|
185 |
gtk_widget_modify_font (GTK_WIDGET(text), font_desc); |
gtk_widget_modify_font (GTK_WIDGET(text), font_desc); |
186 |
|
|
187 |
pango_font_description_free (font_desc); |
pango_font_description_free (font_desc); |
188 |
|
|
189 |
gdk_threads_leave(); |
gdk_threads_leave(); |
190 |
|
|
191 |
(*env)->ReleaseStringUTFChars (env, jname, font_name); |
(*env)->ReleaseStringUTFChars (env, name, font_name); |
192 |
} |
} |