97 |
e.jni_env = &env; |
e.jni_env = &env; |
98 |
(*vm)->GetEnv (vm, e.void_env, JNI_VERSION_1_1); |
(*vm)->GetEnv (vm, e.void_env, JNI_VERSION_1_1); |
99 |
|
|
|
gdk_threads_leave (); |
|
|
|
|
100 |
(*env)->CallVoidMethod (env, |
(*env)->CallVoidMethod (env, |
101 |
*decoder, |
*decoder, |
102 |
areaPreparedID, |
areaPreparedID, |
103 |
width, height); |
width, height); |
|
|
|
|
gdk_threads_enter (); |
|
104 |
} |
} |
105 |
|
|
106 |
static void |
static void |
139 |
e.jni_env = &env; |
e.jni_env = &env; |
140 |
(*vm)->GetEnv (vm, e.void_env, JNI_VERSION_1_1); |
(*vm)->GetEnv (vm, e.void_env, JNI_VERSION_1_1); |
141 |
|
|
|
gdk_threads_leave (); |
|
|
|
|
142 |
jpixels = (*env)->NewIntArray (env, n_pixels); |
jpixels = (*env)->NewIntArray (env, n_pixels); |
143 |
|
|
|
gdk_threads_enter (); |
|
|
|
|
144 |
java_pixels = (*env)->GetIntArrayElements (env, jpixels, NULL); |
java_pixels = (*env)->GetIntArrayElements (env, jpixels, NULL); |
145 |
|
|
146 |
memcpy (java_pixels, |
memcpy (java_pixels, |
157 |
|
|
158 |
g_object_unref (pixbuf); |
g_object_unref (pixbuf); |
159 |
|
|
|
gdk_threads_leave (); |
|
|
|
|
160 |
(*env)->ReleaseIntArrayElements (env, jpixels, java_pixels, 0); |
(*env)->ReleaseIntArrayElements (env, jpixels, java_pixels, 0); |
161 |
|
|
162 |
(*env)->CallVoidMethod (env, |
(*env)->CallVoidMethod (env, |
168 |
stride_pixels); |
stride_pixels); |
169 |
|
|
170 |
(*env)->DeleteLocalRef(env, jpixels); |
(*env)->DeleteLocalRef(env, jpixels); |
|
|
|
|
gdk_threads_enter (); |
|
171 |
} |
} |
172 |
|
|
173 |
static void |
static void |
178 |
e.jni_env = &env; |
e.jni_env = &env; |
179 |
(*vm)->GetEnv (vm, e.void_env, JNI_VERSION_1_1); |
(*vm)->GetEnv (vm, e.void_env, JNI_VERSION_1_1); |
180 |
|
|
|
gdk_threads_leave (); |
|
|
|
|
181 |
(*env)->DeleteGlobalRef (env, *decoder); |
(*env)->DeleteGlobalRef (env, *decoder); |
182 |
g_free (decoder); |
g_free (decoder); |
|
|
|
|
gdk_threads_enter (); |
|
183 |
} |
} |
184 |
|
|
185 |
|
|