commit-classpath
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[commit-cp] classpath ChangeLog gnu/java/awt/peer/gtk/Cairo...


From: Sven de Marothy
Subject: [commit-cp] classpath ChangeLog gnu/java/awt/peer/gtk/Cairo...
Date: Sun, 04 Jun 2006 19:44:40 +0000

CVSROOT:        /sources/classpath
Module name:    classpath
Changes by:     Sven de Marothy <smarothy>      06/06/04 19:44:39

Modified files:
        .              : ChangeLog 
        gnu/java/awt/peer/gtk: CairoSurface.java 
                               ComponentGraphicsCopy.java 
                               GtkVolatileImage.java 
        include        : gnu_java_awt_peer_gtk_CairoSurface.h 
        native/jni/gtk-peer: gnu_java_awt_peer_gtk_CairoSurface.c 
                             gnu_java_awt_peer_gtk_ComponentGraphics.c 

Log message:
        2006-06-04  Sven de Marothy  <address@hidden>
        
                * gnu/java/awt/peer/gtk/CairoSurface.java
                (getFlippedBuffer): New method.
                (getGtkImage): Renamed method.
                * gnu/java/awt/peer/gtk/ComponentGraphicsCopy.java
                * gnu/java/awt/peer/gtk/GtkVolatileImage.java
                Renamed getSharedImage to getGtkImage.
                * include/gnu_java_awt_peer_gtk_CairoSurface.h
                * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoSurface.c
                (getFlippedBuffer): New method
                * native/jni/gtk-peer/gnu_java_awt_peer_gtk_ComponentGraphics.c
                Avoid window casts.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/classpath/ChangeLog?cvsroot=classpath&r1=1.7648&r2=1.7649
http://cvs.savannah.gnu.org/viewcvs/classpath/gnu/java/awt/peer/gtk/CairoSurface.java?cvsroot=classpath&r1=1.5&r2=1.6
http://cvs.savannah.gnu.org/viewcvs/classpath/gnu/java/awt/peer/gtk/ComponentGraphicsCopy.java?cvsroot=classpath&r1=1.1&r2=1.2
http://cvs.savannah.gnu.org/viewcvs/classpath/gnu/java/awt/peer/gtk/GtkVolatileImage.java?cvsroot=classpath&r1=1.4&r2=1.5
http://cvs.savannah.gnu.org/viewcvs/classpath/include/gnu_java_awt_peer_gtk_CairoSurface.h?cvsroot=classpath&r1=1.1&r2=1.2
http://cvs.savannah.gnu.org/viewcvs/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoSurface.c?cvsroot=classpath&r1=1.14&r2=1.15
http://cvs.savannah.gnu.org/viewcvs/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_ComponentGraphics.c?cvsroot=classpath&r1=1.11&r2=1.12

Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/classpath/classpath/ChangeLog,v
retrieving revision 1.7648
retrieving revision 1.7649
diff -u -b -r1.7648 -r1.7649
--- ChangeLog   4 Jun 2006 18:15:04 -0000       1.7648
+++ ChangeLog   4 Jun 2006 19:44:39 -0000       1.7649
@@ -1,3 +1,17 @@
+2006-06-04  Sven de Marothy  <address@hidden>
+
+       * gnu/java/awt/peer/gtk/CairoSurface.java
+       (getFlippedBuffer): New method.
+       (getGtkImage): Renamed method.
+       * gnu/java/awt/peer/gtk/ComponentGraphicsCopy.java
+       * gnu/java/awt/peer/gtk/GtkVolatileImage.java
+       Renamed getSharedImage to getGtkImage.
+       * include/gnu_java_awt_peer_gtk_CairoSurface.h
+       * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoSurface.c
+       (getFlippedBuffer): New method
+       * native/jni/gtk-peer/gnu_java_awt_peer_gtk_ComponentGraphics.c
+       Avoid window casts.
+       
 2006-03-20  Andrew John Hughes  <address@hidden>
 
        * java/lang/System.java:

Index: gnu/java/awt/peer/gtk/CairoSurface.java
===================================================================
RCS file: /sources/classpath/classpath/gnu/java/awt/peer/gtk/CairoSurface.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -b -r1.5 -r1.6
--- gnu/java/awt/peer/gtk/CairoSurface.java     1 Jun 2006 13:57:39 -0000       
1.5
+++ gnu/java/awt/peer/gtk/CairoSurface.java     4 Jun 2006 19:44:39 -0000       
1.6
@@ -123,6 +123,8 @@
    */
   native void setPixels(int[] pixels);
 
+  native long getFlippedBuffer(int size);
+
   /**
    * Create a cairo_surface_t with specified width and height.
    * The format will be ARGB32 with premultiplied alpha and native bit 
@@ -197,11 +199,11 @@
   }
 
   /**
-   * Return a GtkImage which shares its data with this Cairo surface.
+   * Return a GtkImage from this Cairo surface.
    */
-  public GtkImage getSharedGtkImage()
+  public GtkImage getGtkImage()
   {
-    return new GtkImage( width, height, bufferPointer );
+    return new GtkImage( width, height, getFlippedBuffer( width * height ));
   }
 
   /**

Index: gnu/java/awt/peer/gtk/ComponentGraphicsCopy.java
===================================================================
RCS file: 
/sources/classpath/classpath/gnu/java/awt/peer/gtk/ComponentGraphicsCopy.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- gnu/java/awt/peer/gtk/ComponentGraphicsCopy.java    30 May 2006 04:21:53 
-0000      1.1
+++ gnu/java/awt/peer/gtk/ComponentGraphicsCopy.java    4 Jun 2006 19:44:39 
-0000       1.2
@@ -83,7 +83,7 @@
     this.component = component;
     this.width = width;
     this.height = height;
-    gtkimage = surface.getSharedGtkImage();
+    gtkimage = surface.getGtkImage();
     getPixbuf( component, gtkimage );
   }
 

Index: gnu/java/awt/peer/gtk/GtkVolatileImage.java
===================================================================
RCS file: 
/sources/classpath/classpath/gnu/java/awt/peer/gtk/GtkVolatileImage.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -b -r1.4 -r1.5
--- gnu/java/awt/peer/gtk/GtkVolatileImage.java 3 Jun 2006 22:41:41 -0000       
1.4
+++ gnu/java/awt/peer/gtk/GtkVolatileImage.java 4 Jun 2006 19:44:39 -0000       
1.5
@@ -127,7 +127,7 @@
   {
     if( needsUpdate )
       {
-       update( offScreen.getSharedGtkImage() );
+       update( offScreen.getGtkImage() );
        needsUpdate = false;
        return VolatileImage.IMAGE_RESTORED;
       }

Index: include/gnu_java_awt_peer_gtk_CairoSurface.h
===================================================================
RCS file: 
/sources/classpath/classpath/include/gnu_java_awt_peer_gtk_CairoSurface.h,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- include/gnu_java_awt_peer_gtk_CairoSurface.h        29 May 2006 16:14:59 
-0000      1.1
+++ include/gnu_java_awt_peer_gtk_CairoSurface.h        4 Jun 2006 19:44:39 
-0000       1.2
@@ -18,6 +18,7 @@
 JNIEXPORT jintArray JNICALL Java_gnu_java_awt_peer_gtk_CairoSurface_getPixels 
(JNIEnv *env, jobject, jint);
 JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_CairoSurface_setPixels 
(JNIEnv *env, jobject, jintArray);
 JNIEXPORT jlong JNICALL 
Java_gnu_java_awt_peer_gtk_CairoSurface_newCairoContext (JNIEnv *env, jobject);
+JNIEXPORT jlong JNICALL 
Java_gnu_java_awt_peer_gtk_CairoSurface_getFlippedBuffer (JNIEnv *env, jobject, 
jint);
 JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_CairoSurface_copyAreaNative 
(JNIEnv *env, jobject, jint, jint, jint, jint, jint, jint, jint);
 
 #ifdef __cplusplus

Index: native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoSurface.c
===================================================================
RCS file: 
/sources/classpath/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoSurface.c,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -b -r1.14 -r1.15
--- native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoSurface.c    3 Jun 2006 
05:21:05 -0000       1.14
+++ native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoSurface.c    4 Jun 2006 
19:44:39 -0000       1.15
@@ -208,6 +208,29 @@
  (*env)->ReleaseDoubleArrayElements (env, java_matrix, native_matrix, 0);
 }
 
+JNIEXPORT jlong JNICALL 
+Java_gnu_java_awt_peer_gtk_CairoSurface_getFlippedBuffer 
+(JNIEnv *env, jobject obj, jint size)
+{
+  jint *dst;
+  jint *src = (jint *)getNativeObject(env, obj, BUFFER);
+  int i;
+  int t;
+
+  g_assert( src != NULL );
+  dst = g_malloc( size * sizeof( jint ) );
+
+  for(i = 0; i < size; i++ )
+    {
+      t = (src[i] & 0x0000FF) << 16;
+      dst[i] = (src[i] & 0x00FF0000) >> 16;
+      dst[i] |= (src[i] & 0xFF00FF00);
+      dst[i] |= t;
+    }
+
+  return PTR_TO_JLONG(dst);
+}
+
 /**
  * Create and return a cairo context for drawing to the surface.
  */

Index: native/jni/gtk-peer/gnu_java_awt_peer_gtk_ComponentGraphics.c
===================================================================
RCS file: 
/sources/classpath/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_ComponentGraphics.c,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -b -r1.11 -r1.12
--- native/jni/gtk-peer/gnu_java_awt_peer_gtk_ComponentGraphics.c       4 Jun 
2006 17:52:05 -0000       1.11
+++ native/jni/gtk-peer/gnu_java_awt_peer_gtk_ComponentGraphics.c       4 Jun 
2006 19:44:39 -0000       1.12
@@ -227,13 +227,10 @@
   widget = GTK_WIDGET (ptr);
   g_assert (widget != NULL);
 
-  while(widget->window != NULL)
-    widget = GTK_WIDGET(widget->window);
   pixmap = cp_gtk_get_pixmap( env, img );
  
-
-  gc = gdk_gc_new(GDK_DRAWABLE(widget));
-  gdk_draw_drawable(GDK_DRAWABLE(widget),
+  gc = gdk_gc_new(GDK_DRAWABLE(widget->window));
+  gdk_draw_drawable(GDK_DRAWABLE(widget->window),
                    gc,
                    pixmap,
                    0, 0,




reply via email to

[Prev in Thread] Current Thread [Next in Thread]