53 |
|
|
54 |
JNIEXPORT void JNICALL |
JNIEXPORT void JNICALL |
55 |
Java_gnu_java_awt_peer_gtk_GtkButtonPeer_gtkSetFont |
Java_gnu_java_awt_peer_gtk_GtkButtonPeer_gtkSetFont |
56 |
(JNIEnv *env, jobject obj, jstring jname, jint size) |
(JNIEnv *env, jobject obj, jstring name, jint style, jint size) |
57 |
{ |
{ |
58 |
const char *font_name; |
const char *font_name; |
59 |
void *ptr; |
void *ptr; |
69 |
if (!label) |
if (!label) |
70 |
return; |
return; |
71 |
|
|
72 |
font_name = (*env)->GetStringUTFChars (env, jname, NULL); |
font_name = (*env)->GetStringUTFChars (env, name, NULL); |
73 |
|
|
74 |
gdk_threads_enter(); |
gdk_threads_enter(); |
75 |
|
|
76 |
font_desc = pango_font_description_from_string (font_name); |
font_desc = pango_font_description_from_string (font_name); |
77 |
pango_font_description_set_size (font_desc, size * PANGO_SCALE); |
pango_font_description_set_size (font_desc, size * PANGO_SCALE); |
78 |
|
|
79 |
|
if (style & AWT_STYLE_BOLD) |
80 |
|
pango_font_description_set_weight (font_desc, PANGO_WEIGHT_BOLD); |
81 |
|
|
82 |
|
if (style & AWT_STYLE_ITALIC) |
83 |
|
pango_font_description_set_style (font_desc, PANGO_STYLE_OBLIQUE); |
84 |
|
|
85 |
gtk_widget_modify_font (GTK_WIDGET(label), font_desc); |
gtk_widget_modify_font (GTK_WIDGET(label), font_desc); |
86 |
|
|
87 |
pango_font_description_free (font_desc); |
pango_font_description_free (font_desc); |
88 |
|
|
89 |
gdk_threads_leave(); |
gdk_threads_leave(); |
90 |
|
|
91 |
(*env)->ReleaseStringUTFChars (env, jname, font_name); |
(*env)->ReleaseStringUTFChars (env, name, font_name); |
92 |
|
} |
93 |
|
|
94 |
|
JNIEXPORT void JNICALL |
95 |
|
Java_gnu_java_awt_peer_gtk_GtkButtonPeer_gtkWidgetSetForeground |
96 |
|
(JNIEnv *env, jobject obj, jint red, jint green, jint blue) |
97 |
|
{ |
98 |
|
GdkColor color; |
99 |
|
GtkWidget *label; |
100 |
|
void *ptr; |
101 |
|
|
102 |
|
ptr = NSA_GET_PTR (env, obj); |
103 |
|
|
104 |
|
color.red = (red / 255.0) * 65535; |
105 |
|
color.green = (green / 255.0) * 65535; |
106 |
|
color.blue = (blue / 255.0) * 65535; |
107 |
|
|
108 |
|
gdk_threads_enter (); |
109 |
|
|
110 |
|
label = gtk_bin_get_child (GTK_BIN(ptr)); |
111 |
|
|
112 |
|
if (!label) |
113 |
|
return; |
114 |
|
|
115 |
|
gtk_widget_modify_fg (label, GTK_STATE_NORMAL, &color); |
116 |
|
gtk_widget_modify_fg (label, GTK_STATE_ACTIVE, &color); |
117 |
|
gtk_widget_modify_fg (label, GTK_STATE_PRELIGHT, &color); |
118 |
|
|
119 |
|
gdk_threads_leave (); |
120 |
} |
} |