206 |
jclass formatClass; |
jclass formatClass; |
207 |
jmethodID addExtensionID; |
jmethodID addExtensionID; |
208 |
jmethodID addMimeTypeID; |
jmethodID addMimeTypeID; |
209 |
|
jobject string; |
210 |
|
|
211 |
formatClass = (*env)->FindClass |
formatClass = (*env)->FindClass |
212 |
(env, "gnu/java/awt/peer/gtk/GdkPixbufDecoder$ImageFormatSpec"); |
(env, "gnu/java/awt/peer/gtk/GdkPixbufDecoder$ImageFormatSpec"); |
228 |
format = (GdkPixbufFormat *) f->data; |
format = (GdkPixbufFormat *) f->data; |
229 |
name = gdk_pixbuf_format_get_name(format); |
name = gdk_pixbuf_format_get_name(format); |
230 |
|
|
231 |
|
string = (*env)->NewStringUTF(env, name); |
232 |
|
g_assert(string != NULL); |
233 |
|
|
234 |
jformat = (*env)->CallStaticObjectMethod |
jformat = (*env)->CallStaticObjectMethod |
235 |
(env, clazz, registerFormatID, |
(env, clazz, registerFormatID, string, |
|
(*env)->NewStringUTF(env, name), |
|
236 |
(jboolean) gdk_pixbuf_format_is_writable(format)); |
(jboolean) gdk_pixbuf_format_is_writable(format)); |
237 |
|
(*env)->DeleteLocalRef(env, string); |
238 |
|
|
239 |
g_assert(jformat != NULL); |
g_assert(jformat != NULL); |
240 |
|
|
241 |
ch = gdk_pixbuf_format_get_extensions(format); |
ch = gdk_pixbuf_format_get_extensions(format); |
242 |
while (*ch) |
while (*ch) |
243 |
{ |
{ |
244 |
(*env)->CallVoidMethod (env, jformat, addExtensionID, |
string = (*env)->NewStringUTF(env, *ch); |
245 |
(*env)->NewStringUTF(env, *ch)); |
g_assert(string != NULL); |
246 |
|
(*env)->CallVoidMethod (env, jformat, addExtensionID, string); |
247 |
|
(*env)->DeleteLocalRef(env, string); |
248 |
++ch; |
++ch; |
249 |
} |
} |
250 |
|
|
251 |
ch = gdk_pixbuf_format_get_mime_types(format); |
ch = gdk_pixbuf_format_get_mime_types(format); |
252 |
while (*ch) |
while (*ch) |
253 |
{ |
{ |
254 |
(*env)->CallVoidMethod (env, jformat, addMimeTypeID, |
string = (*env)->NewStringUTF(env, *ch); |
255 |
(*env)->NewStringUTF(env, *ch)); |
g_assert(string != NULL); |
256 |
|
(*env)->CallVoidMethod (env, jformat, addMimeTypeID, string); |
257 |
|
(*env)->DeleteLocalRef(env, string); |
258 |
++ch; |
++ch; |
259 |
} |
} |
260 |
} |
} |