From e2e4f0495f614add30512ed0c4c63e22cb79e05e Mon Sep 17 00:00:00 2001 From: megacz Date: Fri, 30 Jan 2004 06:50:07 +0000 Subject: [PATCH] 2002/08/16 23:39:03 darcs-hash:20040130065007-2ba56-9c819252748d128b3095ce50d70853dc37690657.gz --- CHANGES | 3 +++ src/org/xwt/plat/AWT.java | 5 +++-- src/org/xwt/plat/Java12.java | 9 +++++++++ src/org/xwt/plat/Java14.java | 8 +++++++- 4 files changed, 22 insertions(+), 3 deletions(-) diff --git a/CHANGES b/CHANGES index 8465aa8..9c48e7f 100644 --- a/CHANGES +++ b/CHANGES @@ -366,5 +366,8 @@ 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. + diff --git a/src/org/xwt/plat/AWT.java b/src/org/xwt/plat/AWT.java index eedfdc3..1d65bd2 100644 --- a/src/org/xwt/plat/AWT.java +++ b/src/org/xwt/plat/AWT.java @@ -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); diff --git a/src/org/xwt/plat/Java12.java b/src/org/xwt/plat/Java12.java index f46cb72..eed6391 100644 --- a/src/org/xwt/plat/Java12.java +++ b/src/org/xwt/plat/Java12.java @@ -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 { diff --git a/src/org/xwt/plat/Java14.java b/src/org/xwt/plat/Java14.java index cd90e8c..e3364ad 100644 --- a/src/org/xwt/plat/Java14.java +++ b/src/org/xwt/plat/Java14.java @@ -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"); -- 1.7.10.4