2002/08/16 23:39:03
authormegacz <megacz@xwt.org>
Fri, 30 Jan 2004 06:50:07 +0000 (06:50 +0000)
committermegacz <megacz@xwt.org>
Fri, 30 Jan 2004 06:50:07 +0000 (06:50 +0000)
darcs-hash:20040130065007-2ba56-9c819252748d128b3095ce50d70853dc37690657.gz

CHANGES
src/org/xwt/plat/AWT.java
src/org/xwt/plat/Java12.java
src/org/xwt/plat/Java14.java

diff --git a/CHANGES b/CHANGES
index 8465aa8..9c48e7f 100644 (file)
--- a/CHANGES
+++ b/CHANGES
 
 16-Aug megacz Surface.java, Main.java: don't scar the splash screen
 
+16-Aug megacz AWT.java, Java12.java, Java14.java: fixed jdk1.4 bug
+              with keypresses and frameless windows.
+
 
 
index eedfdc3..1d65bd2 100644 (file)
@@ -275,9 +275,10 @@ public class AWT extends Platform {
 
             // IMPORTANT: this must be called before render() to ensure
             // that our peer has been created
-            window.setVisible(true);
-
+            makeVisible();
         }
+
+        protected void makeVisible() { window.setVisible(true); }
         
         public void _dispose() {
             window.removeMouseListener(this);
index f46cb72..eed6391 100644 (file)
@@ -92,6 +92,10 @@ public class Java12 extends AWT {
 
     // Inner Classes //////////////////////////////////////////////////////////////////
 
+    private static Cursor invisibleCursor =
+        Toolkit.getDefaultToolkit().createCustomCursor(new BufferedImage(2, 2, BufferedImage.TYPE_INT_ARGB),
+                                                       new Point(1, 1), "invisible");
+
     protected static class Java12Surface extends AWTSurface {
         
         public Java12Surface(Box root, boolean framed) { super(root, framed); }
@@ -114,6 +118,11 @@ public class Java12 extends AWT {
             if (b) frame.setState(java.awt.Frame.ICONIFIED);
             else frame.setState(java.awt.Frame.NORMAL);
         }
+
+        public void syncCursor() {
+            if (cursor.equals("invisible")) window.setCursor(invisibleCursor);
+            else super.syncCursor();
+        }
     }
 
     protected static class Java12DoubleBuffer extends AWTDoubleBuffer {
index cd90e8c..e3364ad 100644 (file)
@@ -29,9 +29,15 @@ public class Java14 extends Java12 {
 
     protected static class Java14Surface extends Java12Surface implements WindowStateListener {
         public Java14Surface(Box root, boolean framed) {
-            super(root, framed);
+            super(root, true);
+            // JDK1.4 doesn't like java.lang.Window's...
+            if (!framed) ((Frame)window).setUndecorated(true);
             window.addWindowStateListener(this);
+            window.setVisible(true);
         }
+
+        protected void makeVisible() { }
+        
         protected void _setMaximized(boolean m) {
             if (frame == null) {
                 if (Log.on) Log.log(this, "JDK 1.4 can only maximize frames, not windows");