443 |
gdk_threads_leave(); |
gdk_threads_leave(); |
444 |
} |
} |
445 |
|
|
446 |
static jintArray |
JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GdkGraphics2D_initState__Lgnu_java_awt_peer_gtk_GtkComponentPeer_2 |
|
current_colors_of_widget (GtkWidget *widget, JNIEnv *env) |
|
|
{ |
|
|
GdkColor color; |
|
|
jintArray array; |
|
|
jint *rgb; |
|
|
|
|
|
g_assert (widget != NULL); |
|
|
g_assert (env != NULL); |
|
|
|
|
|
color = widget->style->fg[GTK_STATE_NORMAL]; |
|
|
array = (*env)->NewIntArray (env, 6); |
|
|
|
|
|
rgb = (*env)->GetIntArrayElements (env, array, NULL); |
|
|
rgb[0] = color.red >> 8; |
|
|
rgb[1] = color.green >> 8; |
|
|
rgb[2] = color.blue >> 8; |
|
|
|
|
|
color = widget->style->bg[GTK_STATE_NORMAL]; |
|
|
rgb[3] = color.red >> 8; |
|
|
rgb[4] = color.green >> 8; |
|
|
rgb[5] = color.blue >> 8; |
|
|
|
|
|
(*env)->ReleaseIntArrayElements (env, array, rgb, 0); |
|
|
|
|
|
return array; |
|
|
} |
|
|
|
|
|
JNIEXPORT jintArray JNICALL Java_gnu_java_awt_peer_gtk_GdkGraphics2D_initState__Lgnu_java_awt_peer_gtk_GtkComponentPeer_2 |
|
447 |
(JNIEnv *env, jobject obj, jobject peer) |
(JNIEnv *env, jobject obj, jobject peer) |
448 |
{ |
{ |
449 |
struct graphics2d *gr = NULL; |
struct graphics2d *gr = NULL; |
450 |
GtkWidget *widget = NULL; |
GtkWidget *widget = NULL; |
451 |
void *ptr = NULL; |
void *ptr = NULL; |
|
jintArray color; |
|
452 |
|
|
453 |
gdk_threads_enter(); |
gdk_threads_enter(); |
454 |
if (peer_is_disposed(env, obj)) { gdk_threads_leave(); return; } |
if (peer_is_disposed(env, obj)) { gdk_threads_leave(); return; } |
475 |
else |
else |
476 |
init_graphics2d_as_pixbuf (gr); |
init_graphics2d_as_pixbuf (gr); |
477 |
|
|
|
color = current_colors_of_widget (widget, env); |
|
|
|
|
478 |
NSA_SET_G2D_PTR (env, obj, gr); |
NSA_SET_G2D_PTR (env, obj, gr); |
479 |
gdk_threads_leave(); |
gdk_threads_leave(); |
|
return color; |
|
480 |
} |
} |
481 |
|
|
482 |
JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GdkGraphics2D_dispose |
JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GdkGraphics2D_dispose |