From roman at kennke.org Tue Jun 9 13:20:05 2009 From: roman at kennke.org (roman at kennke.org) Date: Tue, 09 Jun 2009 20:20:05 +0000 Subject: hg: caciocavallo/ng: 4 new changesets Message-ID: <20090609202006.A1AD1E1D3@hg.openjdk.java.net> Changeset: a5a771d237f4 Author: Roman Kennke Date: 2009-06-09 15:38 -0400 URL: http://hg.openjdk.java.net/caciocavallo/ng/rev/a5a771d237f4 Fix event handling for buttons. ! src/share/classes/sun/awt/peer/cacio/CacioButtonPeer.java ! src/share/classes/sun/awt/peer/cacio/CacioComponentPeer.java Changeset: 6fec3f8b2a8d Author: Roman Kennke Date: 2009-06-09 15:41 -0400 URL: http://hg.openjdk.java.net/caciocavallo/ng/rev/6fec3f8b2a8d Fix preferred and minimum size of text area. ! src/share/classes/sun/awt/peer/cacio/CacioTextAreaPeer.java Changeset: a6f59141f17b Author: Roman Kennke Date: 2009-06-09 16:16 -0400 URL: http://hg.openjdk.java.net/caciocavallo/ng/rev/a6f59141f17b Implement mouse dragging in X11 backend. ! src/x11/native/X11PlatformScreen.c Changeset: 3c2b60d3e201 Author: Roman Kennke Date: 2009-06-09 16:17 -0400 URL: http://hg.openjdk.java.net/caciocavallo/ng/rev/3c2b60d3e201 Enable/disable CacioListPeer correcly. ! src/share/classes/sun/awt/peer/cacio/CacioListPeer.java From neugens.limasoftware at gmail.com Thu Jun 11 14:56:42 2009 From: neugens.limasoftware at gmail.com (neugens.limasoftware at gmail.com) Date: Thu, 11 Jun 2009 21:56:42 +0000 Subject: hg: caciocavallo/ng: Workaround for a crash in the VM when using the SDL peers. Message-ID: <20090611215642.D06B4E38E@hg.openjdk.java.net> Changeset: b2f8687a3eb8 Author: Mario Torre Date: 2009-06-11 23:53 +0200 URL: http://hg.openjdk.java.net/caciocavallo/ng/rev/b2f8687a3eb8 Workaround for a crash in the VM when using the SDL peers. ! src/sdl/classes/net/java/openjdk/awt/peer/sdl/SDLGraphicsEnvironment.java From proetel at aicas.com Fri Jun 12 07:48:55 2009 From: proetel at aicas.com (Ingo Proetel) Date: Fri, 12 Jun 2009 16:48:55 +0200 Subject: [PATCH] The background should not be cleared on update events but on system triggered paint events Message-ID: <3adc0850deee8b16779b.1244818135@AZIRAPHALE> # HG changeset patch # User Ingo Proetel # Date 1244817881 -7200 # Node ID 3adc0850deee8b16779b5940866c51d7a2354ef0 # Parent c2a4e0ecd46d06a22e22a318a200e914d3509d1e The background should not be cleared on update events but on system triggered paint events. diff -r c2a4e0ecd46d -r 3adc0850deee src/share/classes/sun/awt/peer/cacio/CacioComponentPeer.java --- a/src/share/classes/sun/awt/peer/cacio/CacioComponentPeer.java Fri Jun 12 16:44:21 2009 +0200 +++ b/src/share/classes/sun/awt/peer/cacio/CacioComponentPeer.java Fri Jun 12 16:44:41 2009 +0200 @@ -297,7 +297,7 @@ case PaintEvent.UPDATE: update = true; case PaintEvent.PAINT: - paintArea.paint(getAWTComponent(), update); + paintArea.paint(getAWTComponent(), !update); break; case MouseEvent.MOUSE_PRESSED: case MouseEvent.MOUSE_RELEASED: From proetel at aicas.com Fri Jun 12 07:53:29 2009 From: proetel at aicas.com (Ingo Proetel) Date: Fri, 12 Jun 2009 16:53:29 +0200 Subject: [PATCH] PlatformWindowFactory.createPlatformToplevelWindow should return a PlatformToplevelWindow Message-ID: # HG changeset patch # User Ingo Proetel # Date 1244818383 -7200 # Node ID aa3c028eea27b40c33f47133db092d6b0d91024b # Parent 43cffc5aff565d62cc1586ab4efeab707b884a8a PlatformWindowFactory.createPlatformToplevelWindow should return a PlatformToplevelWindow diff -r 43cffc5aff56 -r aa3c028eea27 src/share/classes/sun/awt/peer/cacio/PlatformWindowFactory.java --- a/src/share/classes/sun/awt/peer/cacio/PlatformWindowFactory.java Fri Jun 12 16:34:43 2009 +0200 +++ b/src/share/classes/sun/awt/peer/cacio/PlatformWindowFactory.java Fri Jun 12 16:53:03 2009 +0200 @@ -48,7 +48,7 @@ * * @return the created toplevel window */ - PlatformWindow createPlatformToplevelWindow(CacioComponent component); + PlatformToplevelWindow createPlatformToplevelWindow(CacioComponent component); /** * Creates and returns the event pump to be used for getting the platform diff -r 43cffc5aff56 -r aa3c028eea27 src/share/classes/sun/awt/peer/cacio/managed/FullScreenWindowFactory.java --- a/src/share/classes/sun/awt/peer/cacio/managed/FullScreenWindowFactory.java Fri Jun 12 16:34:43 2009 +0200 +++ b/src/share/classes/sun/awt/peer/cacio/managed/FullScreenWindowFactory.java Fri Jun 12 16:53:03 2009 +0200 @@ -138,7 +138,7 @@ } @Override - public final PlatformWindow createPlatformToplevelWindow(CacioComponent comp) { + public final PlatformToplevelWindow createPlatformToplevelWindow(CacioComponent comp) { GraphicsConfiguration gc = comp.getAWTComponent().getGraphicsConfiguration(); PlatformScreen screen = selector.getPlatformScreen(gc); From proetel at aicas.com Fri Jun 12 07:54:03 2009 From: proetel at aicas.com (Ingo Proetel) Date: Fri, 12 Jun 2009 16:54:03 +0200 Subject: [PATCH] Do not clear the background here Message-ID: <43cffc5aff565d62cc15.1244818443@AZIRAPHALE> # HG changeset patch # User Ingo Proetel # Date 1244817283 -7200 # Node ID 43cffc5aff565d62cc1586ab4efeab707b884a8a # Parent e0ecd7f156e630dda6512458af8d09e3dd350f83 Do not clear the background here. diff -r e0ecd7f156e6 -r 43cffc5aff56 src/share/classes/sun/awt/peer/cacio/CacioPanelPeer.java --- a/src/share/classes/sun/awt/peer/cacio/CacioPanelPeer.java Fri Jun 12 16:34:43 2009 +0200 +++ b/src/share/classes/sun/awt/peer/cacio/CacioPanelPeer.java Fri Jun 12 16:34:43 2009 +0200 @@ -31,21 +31,4 @@ awtComponent.setFont(font); * */ } - - @Override - protected void peerPaint(Graphics g, boolean update) { - // We need to clear the background, because we have no Swing component - // to do it for us. - Insets i = getInsets(); - int cx = i.left; - int cy = i.top; - int cw = getAWTComponent().getWidth() - i.left - i.right; - int ch = getAWTComponent().getHeight() - i.top - i.bottom; - Color bg = UIManager.getColor("Panel.background"); - Color old = g.getColor(); - g.setColor(bg); - g.clearRect(cx, cy, cw, ch); - g.setColor(old); - super.peerPaint(g, update); - } } From Roman.Kennke at Sun.COM Fri Jun 12 14:46:46 2009 From: Roman.Kennke at Sun.COM (Roman Kennke) Date: Fri, 12 Jun 2009 17:46:46 -0400 Subject: [PATCH] The background should not be cleared on update events but on system triggered paint events In-Reply-To: <3adc0850deee8b16779b.1244818135@AZIRAPHALE> References: <3adc0850deee8b16779b.1244818135@AZIRAPHALE> Message-ID: <4A32CCC6.6080507@sun.com> Hi Ingo, you are right. But I don't think this is the solution. I tried this, and it made some apps work better and some other apps worse. I'm working on the exact same problem right now and hope to have it fixed next week. It's a bit complex... Thanks, Roman > # HG changeset patch > # User Ingo Proetel > # Date 1244817881 -7200 > # Node ID 3adc0850deee8b16779b5940866c51d7a2354ef0 > # Parent c2a4e0ecd46d06a22e22a318a200e914d3509d1e > The background should not be cleared on update events but on system triggered paint events. > > diff -r c2a4e0ecd46d -r 3adc0850deee src/share/classes/sun/awt/peer/cacio/CacioComponentPeer.java > --- a/src/share/classes/sun/awt/peer/cacio/CacioComponentPeer.java Fri Jun 12 16:44:21 2009 +0200 > +++ b/src/share/classes/sun/awt/peer/cacio/CacioComponentPeer.java Fri Jun 12 16:44:41 2009 +0200 > @@ -297,7 +297,7 @@ > case PaintEvent.UPDATE: > update = true; > case PaintEvent.PAINT: > - paintArea.paint(getAWTComponent(), update); > + paintArea.paint(getAWTComponent(), !update); > break; > case MouseEvent.MOUSE_PRESSED: > case MouseEvent.MOUSE_RELEASED: > From neugens.limasoftware at gmail.com Sat Jun 13 05:59:25 2009 From: neugens.limasoftware at gmail.com (neugens.limasoftware at gmail.com) Date: Sat, 13 Jun 2009 12:59:25 +0000 Subject: hg: caciocavallo/ng: Make Java2D demo run with the SDL backed, yay! Message-ID: <20090613125925.7E7D4E59C@hg.openjdk.java.net> Changeset: 8e07afa047fc Author: Mario Torre Date: 2009-06-13 14:56 +0200 URL: http://hg.openjdk.java.net/caciocavallo/ng/rev/8e07afa047fc Make Java2D demo run with the SDL backed, yay! ! src/sdl/classes/net/java/openjdk/awt/peer/sdl/SDLToolkit.java From roman at kennke.org Mon Jun 15 16:17:02 2009 From: roman at kennke.org (roman at kennke.org) Date: Mon, 15 Jun 2009 23:17:02 +0000 Subject: hg: caciocavallo/ng: 3 new changesets Message-ID: <20090615231704.0F47DE6C6@hg.openjdk.java.net> Changeset: aa9f4f2a06a1 Author: Roman Kennke Date: 2009-06-15 19:05 -0400 URL: http://hg.openjdk.java.net/caciocavallo/ng/rev/aa9f4f2a06a1 Refactor and fix painting subsystem. ! src/sdl/classes/net/java/openjdk/awt/peer/sdl/SDLScreen.java ! src/share/classes/sun/awt/peer/cacio/CacioComponentPeer.java ! src/share/classes/sun/awt/peer/cacio/CacioContainerPeer.java ! src/share/classes/sun/awt/peer/cacio/CacioDialogPeer.java ! src/share/classes/sun/awt/peer/cacio/CacioFramePeer.java ! src/share/classes/sun/awt/peer/cacio/CacioPanelPeer.java ! src/share/classes/sun/awt/peer/cacio/CacioToolkit.java ! src/share/classes/sun/awt/peer/cacio/CacioWindowPeer.java ! src/share/classes/sun/awt/peer/cacio/PlatformWindow.java ! src/share/classes/sun/awt/peer/cacio/PlatformWindowFactory.java ! src/share/classes/sun/awt/peer/cacio/WindowClippedGraphics.java ! src/share/classes/sun/awt/peer/cacio/managed/AbstractManagedWindowContainer.java ! src/share/classes/sun/awt/peer/cacio/managed/FullScreenWindowFactory.java ! src/share/classes/sun/awt/peer/cacio/managed/ManagedWindow.java ! src/share/classes/sun/awt/peer/cacio/managed/ManagedWindowContainer.java ! src/share/classes/sun/awt/peer/cacio/managed/PlatformScreen.java ! src/share/classes/sun/awt/peer/cacio/managed/ScreenManagedWindowContainer.java ! src/x11/classes/sun/awt/peer/x11/X11EventPump.java ! src/x11/classes/sun/awt/peer/x11/X11PlatformScreen.java ! src/x11/classes/sun/awt/peer/x11/X11PlatformWindow.java ! src/x11/classes/sun/awt/peer/x11/X11PlatformWindowFactory.java ! src/x11/classes/sun/awt/peer/x11/X11Toolkit.java Changeset: ec3039ed61b6 Author: Roman Kennke Date: 2009-06-15 19:09 -0400 URL: http://hg.openjdk.java.net/caciocavallo/ng/rev/ec3039ed61b6 Some new configs for Netbeans. ! .hgignore + netbeans/tests/nbproject/configs/MoleculeViewer_X11.properties + netbeans/tests/nbproject/configs/X11_Managed.properties Changeset: fb484439b876 Author: Roman Kennke Date: 2009-06-15 19:14 -0400 URL: http://hg.openjdk.java.net/caciocavallo/ng/rev/fb484439b876 Manual merge. From roman at kennke.org Mon Jun 15 16:21:56 2009 From: roman at kennke.org (Roman Kennke) Date: Mon, 15 Jun 2009 19:21:56 -0400 Subject: [PATCH] The background should not be cleared on update events but on system triggered paint events In-Reply-To: <3adc0850deee8b16779b.1244818135@AZIRAPHALE> References: <3adc0850deee8b16779b.1244818135@AZIRAPHALE> Message-ID: <1245108116.4931.4.camel@saturn> Hi Ingo, I pushed the big repainting fix to the repo. I also integrated your PlatformWindow fix, thanks. Regardings repainting here are the important things that changed: - In CacioContainerPeer we don't paint anything if we are in UPDATE mode, Container.update() clears it anyway. - Don't let user code draw into our insets (e.g. window decorations or menus). This was a bit tricky to figure out, because user code can do setClip(null) to unset any clip we set. The solution is ConstrainableGraphics. Peer painting code uses a different Graphics object for drawing now (one that is not constrained). - The propagation of colors and fonts is slightly more efficient and correct now. This version now works ok for me for all the different apps that I have, both 'standard UIs' as well as 'animated' stuff. Until now I could not get both working at the same time, either the animation flickered or the normal UIs had severe repainting artifacts. Please try with your stuff and if you still have problems, ping me. Thanks, Roman Am Freitag, den 12.06.2009, 16:48 +0200 schrieb Ingo Proetel: > # HG changeset patch > # User Ingo Proetel > # Date 1244817881 -7200 > # Node ID 3adc0850deee8b16779b5940866c51d7a2354ef0 > # Parent c2a4e0ecd46d06a22e22a318a200e914d3509d1e > The background should not be cleared on update events but on system triggered paint events. > > diff -r c2a4e0ecd46d -r 3adc0850deee src/share/classes/sun/awt/peer/cacio/CacioComponentPeer.java > --- a/src/share/classes/sun/awt/peer/cacio/CacioComponentPeer.java Fri Jun 12 16:44:21 2009 +0200 > +++ b/src/share/classes/sun/awt/peer/cacio/CacioComponentPeer.java Fri Jun 12 16:44:41 2009 +0200 > @@ -297,7 +297,7 @@ > case PaintEvent.UPDATE: > update = true; > case PaintEvent.PAINT: > - paintArea.paint(getAWTComponent(), update); > + paintArea.paint(getAWTComponent(), !update); > break; > case MouseEvent.MOUSE_PRESSED: > case MouseEvent.MOUSE_RELEASED: From roman at kennke.org Wed Jun 17 08:51:58 2009 From: roman at kennke.org (roman at kennke.org) Date: Wed, 17 Jun 2009 15:51:58 +0000 Subject: hg: caciocavallo/ng: 3 new changesets Message-ID: <20090617155159.1D79DE88A@hg.openjdk.java.net> Changeset: 1bde9e447b7b Author: Roman Kennke Date: 2009-06-16 16:18 -0400 URL: http://hg.openjdk.java.net/caciocavallo/ng/rev/1bde9e447b7b Fix clearing the background for Components and Canvas. ! src/share/classes/sun/awt/peer/cacio/CacioCanvasPeer.java ! src/share/classes/sun/awt/peer/cacio/CacioComponentPeer.java Changeset: 409c0c81f734 Author: Roman Kennke Date: 2009-06-16 16:56 -0400 URL: http://hg.openjdk.java.net/caciocavallo/ng/rev/409c0c81f734 Don't paint when layouting. ! src/share/classes/sun/awt/peer/cacio/CacioComponentPeer.java ! src/share/classes/sun/awt/peer/cacio/CacioContainerPeer.java Changeset: 97be4c617a6e Author: Roman Kennke Date: 2009-06-16 16:59 -0400 URL: http://hg.openjdk.java.net/caciocavallo/ng/rev/97be4c617a6e Clip correctly in SDLScreen. ! src/sdl/classes/net/java/openjdk/awt/peer/sdl/SDLScreen.java From neugens.limasoftware at gmail.com Wed Jun 17 09:22:41 2009 From: neugens.limasoftware at gmail.com (neugens.limasoftware at gmail.com) Date: Wed, 17 Jun 2009 16:22:41 +0000 Subject: hg: caciocavallo/ng: 2 new changesets Message-ID: <20090617162241.AF624E8C9@hg.openjdk.java.net> Changeset: 33c0f3faca8f Author: Mario Torre Date: 2009-06-17 18:19 +0200 URL: http://hg.openjdk.java.net/caciocavallo/ng/rev/33c0f3faca8f Add copyright information. ! src/share/classes/sun/awt/peer/cacio/ProxyWindowPeer.java Changeset: 7cd644973c44 Author: Mario Torre Date: 2009-06-17 18:20 +0200 URL: http://hg.openjdk.java.net/caciocavallo/ng/rev/7cd644973c44 Dispatch WindowEvent events. ! src/share/classes/sun/awt/peer/cacio/ProxyWindowPeer.java From neugens.limasoftware at gmail.com Wed Jun 17 09:30:39 2009 From: neugens.limasoftware at gmail.com (neugens.limasoftware at gmail.com) Date: Wed, 17 Jun 2009 16:30:39 +0000 Subject: hg: caciocavallo/ng: 4 new changesets Message-ID: <20090617163040.2DCB0E8D0@hg.openjdk.java.net> Changeset: 6bf37c1b5744 Author: Mario Torre Date: 2009-06-17 18:25 +0200 URL: http://hg.openjdk.java.net/caciocavallo/ng/rev/6bf37c1b5744 Force decorated windows. ! src/sdl/classes/net/java/openjdk/awt/peer/sdl/SDLToolkit.java Changeset: 73af4f72e7e5 Author: Mario Torre Date: 2009-06-17 18:26 +0200 URL: http://hg.openjdk.java.net/caciocavallo/ng/rev/73af4f72e7e5 CLEANUP ONLY, YAY!! ! src/sdl/classes/net/java/openjdk/awt/peer/sdl/SDLToolkit.java Changeset: 758d723ca3fe Author: Mario Torre Date: 2009-06-17 18:27 +0200 URL: http://hg.openjdk.java.net/caciocavallo/ng/rev/758d723ca3fe Add include for SDL. ! src/sdl/native/cacio-sdl.h Changeset: e5f85ebc1b41 Author: Mario Torre Date: 2009-06-17 18:28 +0200 URL: http://hg.openjdk.java.net/caciocavallo/ng/rev/e5f85ebc1b41 Add method to ask for managed windows. ! src/share/classes/sun/awt/peer/cacio/CacioToolkit.java ! src/x11/classes/sun/awt/peer/x11/X11Toolkit.java From proetel at aicas.com Fri Jun 19 13:43:15 2009 From: proetel at aicas.com (Ingo Proetel) Date: Fri, 19 Jun 2009 22:43:15 +0200 Subject: Menu bars on native decorated window. Message-ID: <4A3BF863.20703@aicas.com> Hi, I just noticed a problem with menu bars in CacioFrames. The menus get put into the RootPane in the CacioWindowPeer. But if we don't use the decoration from the CacioWindowPeer they will not get rendered. Is it possible to have PlatformWindows associated with the menus as well? Ingo -- aicas Allerton Interworks Computer Automated Systems GmbH Haid-und-Neu-Stra?e 18 * D-76131 Karlsruhe * Germany http://www.aicas.com * Tel: +49-721-663 968-0 USt-Id: DE216375633, Handelsregister HRB 109481, AG Karlsruhe Gesch?ftsf?hrer: Dr. James J. Hunt From neugens.limasoftware at gmail.com Wed Jun 24 03:49:54 2009 From: neugens.limasoftware at gmail.com (neugens.limasoftware at gmail.com) Date: Wed, 24 Jun 2009 10:49:54 +0000 Subject: hg: caciocavallo/ng: Insure the insets are cloned before using them. Message-ID: <20090624104955.1CB1FEF4F@hg.openjdk.java.net> Changeset: e211c5f69dcb Author: Mario Torre Date: 2009-06-24 12:47 +0200 URL: http://hg.openjdk.java.net/caciocavallo/ng/rev/e211c5f69dcb Insure the insets are cloned before using them. ! src/share/classes/sun/awt/peer/cacio/CacioWindowPeer.java ! src/share/classes/sun/awt/peer/cacio/PlatformWindow.java From neugens.limasoftware at gmail.com Wed Jun 24 04:03:35 2009 From: neugens.limasoftware at gmail.com (neugens.limasoftware at gmail.com) Date: Wed, 24 Jun 2009 11:03:35 +0000 Subject: hg: caciocavallo/ng: More places where insets needs to be cloned. Message-ID: <20090624110335.80CE8EF54@hg.openjdk.java.net> Changeset: 6c34a736af8d Author: Mario Torre Date: 2009-06-24 13:00 +0200 URL: http://hg.openjdk.java.net/caciocavallo/ng/rev/6c34a736af8d More places where insets needs to be cloned. ! src/share/classes/sun/awt/peer/cacio/CacioComponentPeer.java ! src/share/classes/sun/awt/peer/cacio/CacioContainerPeer.java