/[classpath]/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkImage.c
ViewVC logotype

Diff of /classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkImage.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.13 by fitzsim, Thu Aug 18 03:15:15 2005 UTC revision 1.14 by fitzsim, Fri Sep 2 03:15:21 2005 UTC
# Line 97  Java_gnu_java_awt_peer_gtk_GtkImage_load Line 97  Java_gnu_java_awt_peer_gtk_GtkImage_load
97    return JNI_TRUE;    return JNI_TRUE;
98  }  }
99    
100    /*
101     * Creates the image from an array of java bytes.
102     */
103    JNIEXPORT jboolean JNICALL
104    Java_gnu_java_awt_peer_gtk_GtkImage_loadImageFromData
105      (JNIEnv *env, jobject obj, jbyteArray data)
106    {
107      jbyte *src;
108      GdkPixbuf* pixbuf;
109      GdkPixbufLoader* loader;
110      int len;
111      int width;
112      int height;
113    
114      gdk_threads_enter ();
115    
116      src = (*env)->GetByteArrayElements (env, data, NULL);
117      len = (*env)->GetArrayLength (env, data);
118    
119      loader = gdk_pixbuf_loader_new ();
120    
121      gdk_pixbuf_loader_write (loader, (guchar *)src, len, NULL);
122      gdk_pixbuf_loader_close (loader, NULL);
123    
124      (*env)->ReleaseByteArrayElements (env, data, src, 0);
125    
126      pixbuf = gdk_pixbuf_loader_get_pixbuf (loader);
127    
128      if (pixbuf == NULL)
129        {
130          createRawData (env, obj, NULL);
131    
132          gdk_threads_leave ();
133    
134          return JNI_FALSE;
135        }
136    
137      width =  gdk_pixbuf_get_width (pixbuf);
138      height = gdk_pixbuf_get_height (pixbuf);
139    
140      createRawData (env, obj, pixbuf);
141      setWidthHeight(env, obj, width, height);
142    
143      gdk_threads_leave ();
144    
145      return JNI_TRUE;
146    }
147    
148  JNIEXPORT void JNICALL  JNIEXPORT void JNICALL
149  Java_gnu_java_awt_peer_gtk_GtkImage_createFromPixbuf  Java_gnu_java_awt_peer_gtk_GtkImage_createFromPixbuf
150  (JNIEnv *env, jobject obj)  (JNIEnv *env, jobject obj)

Legend:
Removed from v.1.13  
changed lines
  Added in v.1.14

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26