PatchSet 4902 
Date: 2004/07/07 12:58:43
Author: dalibor
Branch: HEAD
Tag: (none) 
Log:
AWT clipping and mouse event handling fixes

2004-07-07  Jim Huang <[EMAIL PROTECTED]>

        * libraries/javalib/java/awt/Graphics.java:
        * libraries/javalib/java/awt/Image.java:
        * libraries/javalib/java/awt/NativeGraphics.java:
        * libraries/javalib/java/awt/PSGraphics.java:
        Adapt the AWT clipping fixing patch from
        Benja Fallenstein <[EMAIL PROTECTED]>.
        Update the copyright notice.

        * libraries/javalib/java/awt/event/MouseEvent.java
        (MouseEvent)
        (getButton):
        Adapt the Java 1.4 features to java.awt.event.MouseEvent
        patch from Benja Fallenstein <[EMAIL PROTECTED]>.
        This only affects MouseEvent via making the old
        constructor do the work of figuring out which button
        it is from the modifiers list.
        Update the copyright notice.

Members: 
        ChangeLog:1.2468->1.2469 
        libraries/javalib/java/awt/Graphics.java:1.7->1.8 
        libraries/javalib/java/awt/Image.java:1.17->1.18 
        libraries/javalib/java/awt/NativeGraphics.java:1.11->1.12 
        libraries/javalib/java/awt/PSGraphics.java:1.4->1.5 
        libraries/javalib/java/awt/event/MouseEvent.java:1.9->1.10 

Index: kaffe/ChangeLog
diff -u kaffe/ChangeLog:1.2468 kaffe/ChangeLog:1.2469
--- kaffe/ChangeLog:1.2468      Wed Jul  7 08:46:38 2004
+++ kaffe/ChangeLog     Wed Jul  7 12:58:43 2004
@@ -1,3 +1,23 @@
+2004-07-07  Jim Huang <[EMAIL PROTECTED]>
+
+       * libraries/javalib/java/awt/Graphics.java:
+       * libraries/javalib/java/awt/Image.java:
+       * libraries/javalib/java/awt/NativeGraphics.java:
+       * libraries/javalib/java/awt/PSGraphics.java:
+       Adapt the AWT clipping fixing patch from 
+       Benja Fallenstein <[EMAIL PROTECTED]>.
+       Update the copyright notice.
+ 
+       * libraries/javalib/java/awt/event/MouseEvent.java
+       (MouseEvent)
+       (getButton):
+       Adapt the Java 1.4 features to java.awt.event.MouseEvent
+       patch from Benja Fallenstein <[EMAIL PROTECTED]>.
+       This only affects MouseEvent via making the old 
+       constructor do the work of figuring out which button 
+       it is from the modifiers list.
+       Update the copyright notice.
+ 
 2004-07-07  Guilhem Lavaux <[EMAIL PROTECTED]>
 
        * WHATNEW: Added some news line.
Index: kaffe/libraries/javalib/java/awt/Graphics.java
diff -u kaffe/libraries/javalib/java/awt/Graphics.java:1.7 
kaffe/libraries/javalib/java/awt/Graphics.java:1.8
--- kaffe/libraries/javalib/java/awt/Graphics.java:1.7  Wed Feb 10 21:34:31 1999
+++ kaffe/libraries/javalib/java/awt/Graphics.java      Wed Jul  7 12:58:45 2004
@@ -1,8 +1,4 @@
-package java.awt;
-
-import java.awt.image.ImageObserver;
-
-/**
+/*
  * Graphics - abstract draw object
  *
  * Note that this had to be changed into an abstract class with *some*
@@ -12,11 +8,19 @@
  * Copyright (c) 1998
  *      Transvirtual Technologies, Inc.  All rights reserved.
  *
+ * Copyright (c) 2004
+ *     The Kaffe.org's developers. See ChangeLog for details.
+ *
  * See the file "license.terms" for information on usage and redistribution 
  * of this file. 
  *
  * @author P.C.Mehlitz
  */
+
+package java.awt;
+
+import java.awt.image.ImageObserver;
+
 abstract public class Graphics
 {
 protected Graphics () {
@@ -171,7 +175,12 @@
 
 abstract public Shape getClip ();
 
-abstract public Rectangle getClipBounds();
+public Rectangle getClipBounds() {
+       // Another return object which is modified by Swing, causing more garbage
+       return (getClipBounds(new Rectangle()));
+}
+
+abstract public Rectangle getClipBounds(Rectangle rect);
 
 int getClipHeight () {
        // this is only here to be resolved in concrete subclasses
Index: kaffe/libraries/javalib/java/awt/Image.java
diff -u kaffe/libraries/javalib/java/awt/Image.java:1.17 
kaffe/libraries/javalib/java/awt/Image.java:1.18
--- kaffe/libraries/javalib/java/awt/Image.java:1.17    Wed Jun  9 17:40:16 2004
+++ kaffe/libraries/javalib/java/awt/Image.java Wed Jul  7 12:58:45 2004
@@ -1,3 +1,16 @@
+/*
+ * Copyright (c) 1998
+ *    Transvirtual Technologies, Inc.  All rights reserved.
+ *
+ * Copyright (c) 2004
+ *     The Kaffe.org's developers. See ChangeLog for details.
+ *
+ * See the file "license.terms" for information on usage and redistribution
+ * of this file.
+ *
+ * @author P.C.Mehlitz
+ */
+
 package java.awt;
 
 import java.awt.image.ImageObserver;
@@ -12,15 +25,6 @@
 import kaffe.util.Ptr;
 import kaffe.util.VectorSnapshot;
 
-/**
- * Copyright (c) 1998
- *    Transvirtual Technologies, Inc.  All rights reserved.
- *
- * See the file "license.terms" for information on usage and redistribution
- * of this file.
- *
- * @author P.C.Mehlitz
- */
 public class Image
 {
        Ptr nativeData;
@@ -268,7 +272,6 @@
 }
 
 public synchronized int getWidth ( ImageObserver observer ) {
-       System.err.println("getWidth()="+width + " producer="+producer);
        if ( (flags & ImageObserver.WIDTH) != 0 ) {
                return (width);
        }
@@ -353,8 +356,6 @@
        ImageObserver obs;
 
        this.flags |= flags;
-
-       System.err.println("producer="+producer + " flags="+this.flags);
 
        if (observers == null) {
                return;
Index: kaffe/libraries/javalib/java/awt/NativeGraphics.java
diff -u kaffe/libraries/javalib/java/awt/NativeGraphics.java:1.11 
kaffe/libraries/javalib/java/awt/NativeGraphics.java:1.12
--- kaffe/libraries/javalib/java/awt/NativeGraphics.java:1.11   Mon Mar 22 11:24:34 
2004
+++ kaffe/libraries/javalib/java/awt/NativeGraphics.java        Wed Jul  7 12:58:46 
2004
@@ -1,10 +1,4 @@
-package java.awt;
-
-import java.awt.image.ImageObserver;
-
-import kaffe.util.Ptr;
-
-/**
+/*
  * NativeGraphics - concrete, hidden implementation of abstract Graphics
  *
  * The approach of using an abstract Graphics with a concrete NativeGraphics
@@ -26,11 +20,20 @@
  * Copyright (c) 1998
  *      Transvirtual Technologies, Inc.  All rights reserved.
  *
+ * Copyright (c) 2004
+ *     The Kaffe.org's developers. See ChangeLog for details.
+ *
  * See the file "license.terms" for information on usage and redistribution 
  * of this file. 
  *
  * @author P.C.Mehlitz
  */
+
+package java.awt;
+
+import java.awt.image.ImageObserver;
+import kaffe.util.Ptr;
+
 class NativeGraphics
   extends Graphics
 {
@@ -43,7 +46,9 @@
        int xClip;
        int yClip;
        int wClip;
+       int wClipDefault;
        int hClip;
+       int hClipDefault;
        Color xClr;
 /*
  * this field can be used to link a Graphics object to a non-native
@@ -389,9 +394,13 @@
        return (getClipRect());
 }
 
-public Rectangle getClipBounds() {
-       // Another return object which is modified by Swing, causing more garbage 
<sigh>
-       return (new Rectangle( xClip, yClip, wClip, hClip));
+public Rectangle getClipBounds(Rectangle rect) {
+       rect.x = xClip;
+       rect.y = yClip;
+       rect.width = wClip;
+       rect.height = hClip;
+
+       return rect;
 }
 
 int getClipHeight () {
@@ -545,7 +554,9 @@
        g.xClip  = xClip;
        g.yClip  = yClip;
        g.wClip  = wClip;
+       g.wClipDefault = wClip;
        g.hClip = hClip;
+       g.hClipDefault = hClip;
        g.font     = fnt;
        g.fgClr    = fg;
        g.bgClr    = bg;
@@ -627,8 +638,14 @@
 }
 
 public void setClip ( Shape clip ){
-       Rectangle r = clip.getBounds();
-       setClip( r.x, r.y, r.width, r.height);
+       if ( clip != null ) {
+               Rectangle r = clip.getBounds();
+               setClip( r.x, r.y, r.width, r.height);
+       } else if ( target != null) {
+               setClip( 0, 0, target.width, target.height );
+       } else {
+               setClip( 0, 0, wClipDefault, hClipDefault );
+       }
 }
 
 public void setClip ( int x, int y, int width, int height ) {
Index: kaffe/libraries/javalib/java/awt/PSGraphics.java
diff -u kaffe/libraries/javalib/java/awt/PSGraphics.java:1.4 
kaffe/libraries/javalib/java/awt/PSGraphics.java:1.5
--- kaffe/libraries/javalib/java/awt/PSGraphics.java:1.4        Wed Feb 10 21:34:34 
1999
+++ kaffe/libraries/javalib/java/awt/PSGraphics.java    Wed Jul  7 12:58:46 2004
@@ -1,3 +1,18 @@
+/*
+ * class PSGraphics - a PrintGraphics PostScript implementation
+ *
+ * Copyright (c) 1998
+ *      Transvirtual Technologies, Inc.  All rights reserved.
+ *
+ * Copyright (c) 2004
+ *     The Kaffe.org's developers. See ChangeLog for details.
+ *
+ * See the file "license.terms" for information on usage and redistribution
+ * of this file.
+ *
+ * @author J.Mehlitz
+ */
+
 package java.awt;
 
 import java.awt.image.ColorModel;
@@ -9,17 +24,6 @@
 import java.io.PrintStream;
 import java.util.Hashtable;
 
-/**
- * class PSGraphics - a PrintGraphics PostScript implementation
- *
- * Copyright (c) 1998
- *      Transvirtual Technologies, Inc.  All rights reserved.
- *
- * See the file "license.terms" for information on usage and redistribution
- * of this file.
- *
- * @author J.Mehlitz
- */
 public class PSGraphics
   extends Graphics
   implements PrintGraphics
@@ -276,7 +280,11 @@
 }
 
 public Rectangle getClipBounds() {
-       return null;
+        return null;
+}
+
+public Rectangle getClipBounds(Rectangle rect) {
+        return rect;
 }
 
 public Color getColor() {
Index: kaffe/libraries/javalib/java/awt/event/MouseEvent.java
diff -u kaffe/libraries/javalib/java/awt/event/MouseEvent.java:1.9 
kaffe/libraries/javalib/java/awt/event/MouseEvent.java:1.10
--- kaffe/libraries/javalib/java/awt/event/MouseEvent.java:1.9  Sat May 17 17:28:02 
2003
+++ kaffe/libraries/javalib/java/awt/event/MouseEvent.java      Wed Jul  7 12:58:46 
2004
@@ -1,19 +1,23 @@
-package java.awt.event;
-
-import java.awt.Component;
-import java.awt.Event;
-import java.awt.Point;
-
-/**
+/*
  *
  * Copyright (c) 1998
  *   Transvirtual Technologies Inc.  All rights reserved.
  *
+ * Copyright (c) 2004
+ *     The Kaffe.org's developers. See ChangeLog for details.
+ *
  * See the file "license.terms" for information on usage and redistribution
  * of this file.
  *
  * @author P.C.Mehlitz
  */
+
+package java.awt.event;
+
+import java.awt.Component;
+import java.awt.Event;
+import java.awt.Point;
+
 public class MouseEvent
   extends InputEvent
 {
@@ -21,6 +25,12 @@
        protected int y;
        protected int clickCount;
        protected boolean isPopupTrigger;
+       
+       protected int button;
+       final public static int BUTTON1 = 1;
+       final public static int BUTTON2 = 2;
+       final public static int BUTTON3 = 3;
+       final public static int NOBUTTON = 0;
        final public static int MOUSE_FIRST = 500;
        final public static int MOUSE_LAST = 507;
        final public static int MOUSE_CLICKED = MOUSE_FIRST;
@@ -55,6 +65,35 @@
        this.y = y;
        this.clickCount = clickCount;
        this.isPopupTrigger = isPopupTrigger;
+
+       if ( ( modifiers & BUTTON1_MASK ) > 0 )
+               this.button = BUTTON1;
+       else if ( ( modifiers & BUTTON2_MASK ) > 0 )
+               this.button = BUTTON2;
+       else if ( ( modifiers & BUTTON3_MASK) > 0 )
+               this.button = BUTTON3;
+       else
+               this.button = NOBUTTON;
+}
+
+public MouseEvent ( Component src, int evtId, long time, int modifiers,
+               int x, int y, int clickCount, boolean isPopupTrigger, 
+               int button) {
+       super( src, evtId);
+       
+       this.when = time;
+       this.modifiers = modifiers;
+
+       this.x = x;
+       this.y = y;
+       this.clickCount = clickCount;
+       this.isPopupTrigger = isPopupTrigger;
+
+       this.button = button;
+}
+
+public int getButton() {
+       return button;
 }
 
 public int getClickCount() {

_______________________________________________
kaffe mailing list
[EMAIL PROTECTED]
http://kaffe.org/cgi-bin/mailman/listinfo/kaffe

Reply via email to