Re: AWT Dev [8] Review request for 7124244: [macosx] Shaped windows support
On 6/29/2012 4:25 PM, Anthony Petrov wrote: Hi Sergey, The fix looks good. +1. Btw, if you set a shape to a frame, will the Frame.printAll() use the shape correctly? E.g. an ellipse-shaped window must be printed as an ellipse. The parts laying outside of the shape shouldn't be printed. It's a separate issue. Sergey, could you file a new bug, please? Thanks, Artem -- best regards, Anthony On 6/28/2012 7:39 PM, Sergey Bylokhov wrote: Hi Artem, Anthony. Updated webrev. http://cr.openjdk.java.net/~serb/7124244/webrev.04/ - CPlatformEmbeddedFrame now use correct backbuffer. - For simplification, creation of the backbuffer was reverted back. 25.06.2012 19:16, Artem Ananiev wrote: Hi, Sergey, a few minor comments: 1. CPlatformWindow.java: invalidateShadow() in native is ready to be called on any thread, so what's the reason behind invokeLater() here? 2. RepaintManager.java: the new field should better be named volatileBufferType. 3. LWComponentPeer.applyShape() is a peer method, which accepts user-supplied object (right now it's constructed from Shape in AWT internal code, but nothing prevents users from calling this method directly), so it should be stored as a copy, not as a reference. Thanks, Artem On 6/25/2012 2:42 PM, Sergey Bylokhov wrote: Hi, Artem, Anthony. New version of the fix: http://cr.openjdk.java.net/~serb/7124244/webrev.01 13.06.2012 06:30, Artem Ananiev wrote: Hi, Sergey, a few minor comments: 1. There is no need in AWT_ASSERT_[NOT]_APPKIT_THREAD macros in CPlatformWindow.nativeRevalidateNSWindowShadow(), since there are corresponding checks just above. done. 2. invalidateShadow() is not used in sun.lwawt, so it can be just a method in CPlatformWindow. BTW, do you have any ideas, why CGLayer holds a reference to LWWindowPeer, not to CPlatformWindow? done. 3. As we don't expect isSwingBackbufferTranslucencySupported() to return different values, it would be fine to call it only once to avoid possible perf regressions. done. Thanks, Artem On 6/4/2012 7:49 PM, Sergey Bylokhov wrote: Hi Everyone, Please review the fix. Shaped window was implemented as a translucent window with constrained graphics. Now translucent window doesn't use separate BufferedImage as a back buffer. Also alpha value for the swing back buffer was enabled(Shared code changed). Note that shaped windows are affected by this bugs: http://monaco.us.oracle.com/detail.jsf?cr=7124236 - Shadows disappear. - Transparent areas aren't transparent to mouse clicks. http://monaco.sfbay.sun.com/detail.jsf?cr=7172431 - Opacity does not work for non opaque windows. Any suggestions are welcome. Bug: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7124244 Webrev can be found at: http://cr.openjdk.java.net/~serb/7124244/webrev.00
Re: AWT Dev [8] Review request for 7124244: [macosx] Shaped windows support
Hi Artem, Anthony. Updated webrev. http://cr.openjdk.java.net/~serb/7124244/webrev.04/ - CPlatformEmbeddedFrame now use correct backbuffer. - For simplification, creation of the backbuffer was reverted back. 25.06.2012 19:16, Artem Ananiev wrote: Hi, Sergey, a few minor comments: 1. CPlatformWindow.java: invalidateShadow() in native is ready to be called on any thread, so what's the reason behind invokeLater() here? 2. RepaintManager.java: the new field should better be named volatileBufferType. 3. LWComponentPeer.applyShape() is a peer method, which accepts user-supplied object (right now it's constructed from Shape in AWT internal code, but nothing prevents users from calling this method directly), so it should be stored as a copy, not as a reference. Thanks, Artem On 6/25/2012 2:42 PM, Sergey Bylokhov wrote: Hi, Artem, Anthony. New version of the fix: http://cr.openjdk.java.net/~serb/7124244/webrev.01 13.06.2012 06:30, Artem Ananiev wrote: Hi, Sergey, a few minor comments: 1. There is no need in AWT_ASSERT_[NOT]_APPKIT_THREAD macros in CPlatformWindow.nativeRevalidateNSWindowShadow(), since there are corresponding checks just above. done. 2. invalidateShadow() is not used in sun.lwawt, so it can be just a method in CPlatformWindow. BTW, do you have any ideas, why CGLayer holds a reference to LWWindowPeer, not to CPlatformWindow? done. 3. As we don't expect isSwingBackbufferTranslucencySupported() to return different values, it would be fine to call it only once to avoid possible perf regressions. done. Thanks, Artem On 6/4/2012 7:49 PM, Sergey Bylokhov wrote: Hi Everyone, Please review the fix. Shaped window was implemented as a translucent window with constrained graphics. Now translucent window doesn't use separate BufferedImage as a back buffer. Also alpha value for the swing back buffer was enabled(Shared code changed). Note that shaped windows are affected by this bugs: http://monaco.us.oracle.com/detail.jsf?cr=7124236 - Shadows disappear. - Transparent areas aren't transparent to mouse clicks. http://monaco.sfbay.sun.com/detail.jsf?cr=7172431 - Opacity does not work for non opaque windows. Any suggestions are welcome. Bug: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7124244 Webrev can be found at: http://cr.openjdk.java.net/~serb/7124244/webrev.00 -- Best regards, Sergey.
Re: AWT Dev [8] Review request for 7124244: [macosx] Shaped windows support
Hi, Artem, Anthony. New version of the fix: http://cr.openjdk.java.net/~serb/7124244/webrev.01 13.06.2012 06:30, Artem Ananiev wrote: Hi, Sergey, a few minor comments: 1. There is no need in AWT_ASSERT_[NOT]_APPKIT_THREAD macros in CPlatformWindow.nativeRevalidateNSWindowShadow(), since there are corresponding checks just above. done. 2. invalidateShadow() is not used in sun.lwawt, so it can be just a method in CPlatformWindow. BTW, do you have any ideas, why CGLayer holds a reference to LWWindowPeer, not to CPlatformWindow? done. 3. As we don't expect isSwingBackbufferTranslucencySupported() to return different values, it would be fine to call it only once to avoid possible perf regressions. done. Thanks, Artem On 6/4/2012 7:49 PM, Sergey Bylokhov wrote: Hi Everyone, Please review the fix. Shaped window was implemented as a translucent window with constrained graphics. Now translucent window doesn't use separate BufferedImage as a back buffer. Also alpha value for the swing back buffer was enabled(Shared code changed). Note that shaped windows are affected by this bugs: http://monaco.us.oracle.com/detail.jsf?cr=7124236 - Shadows disappear. - Transparent areas aren't transparent to mouse clicks. http://monaco.sfbay.sun.com/detail.jsf?cr=7172431 - Opacity does not work for non opaque windows. Any suggestions are welcome. Bug: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7124244 Webrev can be found at: http://cr.openjdk.java.net/~serb/7124244/webrev.00 -- Best regards, Sergey.
Re: AWT Dev [8] Review request for 7124244: [macosx] Shaped windows support
Hi Sergey, The fix looks good overall. Just two comments: 1. src/macosx/classes/sun/lwawt/LWWindowPeer.java 987 if (oldBB != null) { 988 backBuffer = (BufferedImage) platformWindow.createBackBuffer(); Since we never create a back buffer in JDK 8 currently, I suggest to comment this code out, and add a remark mentioning a CR number that should make use of the code in the future. 2. src/share/classes/javax/swing/RepaintManager.java 1501 Graphics2D g2d = (Graphics2D) osg.create(); 1502 g2d.setBackground(c.getBackground()); 1503 g2d.clearRect(x, y, bw, bh); 1504 g2d.dispose(); Please use the try {} finally {} pattern to dispose the G2D object. The same comment applies to the lines 1510-1513. -- best regards, Anthony On 06/25/12 14:42, Sergey Bylokhov wrote: Hi, Artem, Anthony. New version of the fix: http://cr.openjdk.java.net/~serb/7124244/webrev.01 13.06.2012 06:30, Artem Ananiev wrote: Hi, Sergey, a few minor comments: 1. There is no need in AWT_ASSERT_[NOT]_APPKIT_THREAD macros in CPlatformWindow.nativeRevalidateNSWindowShadow(), since there are corresponding checks just above. done. 2. invalidateShadow() is not used in sun.lwawt, so it can be just a method in CPlatformWindow. BTW, do you have any ideas, why CGLayer holds a reference to LWWindowPeer, not to CPlatformWindow? done. 3. As we don't expect isSwingBackbufferTranslucencySupported() to return different values, it would be fine to call it only once to avoid possible perf regressions. done. Thanks, Artem On 6/4/2012 7:49 PM, Sergey Bylokhov wrote: Hi Everyone, Please review the fix. Shaped window was implemented as a translucent window with constrained graphics. Now translucent window doesn't use separate BufferedImage as a back buffer. Also alpha value for the swing back buffer was enabled(Shared code changed). Note that shaped windows are affected by this bugs: http://monaco.us.oracle.com/detail.jsf?cr=7124236 - Shadows disappear. - Transparent areas aren't transparent to mouse clicks. http://monaco.sfbay.sun.com/detail.jsf?cr=7172431 - Opacity does not work for non opaque windows. Any suggestions are welcome. Bug: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7124244 Webrev can be found at: http://cr.openjdk.java.net/~serb/7124244/webrev.00
Re: AWT Dev [8] Review request for 7124244: [macosx] Shaped windows support
Hi, Artem, Anthony. New version of the fix: http://cr.openjdk.java.net/~serb/7124244/webrev.02/ 25.06.2012 06:02, Anthony Petrov wrote: Hi Sergey, The fix looks good overall. Just two comments: 1. src/macosx/classes/sun/lwawt/LWWindowPeer.java 987 if (oldBB != null) { 988 backBuffer = (BufferedImage) platformWindow.createBackBuffer(); Since we never create a back buffer in JDK 8 currently, I suggest to comment this code out, and add a remark mentioning a CR number that should make use of the code in the future. done 2. src/share/classes/javax/swing/RepaintManager.java 1501 Graphics2D g2d = (Graphics2D) osg.create(); 1502 g2d.setBackground(c.getBackground()); 1503 g2d.clearRect(x, y, bw, bh); 1504 g2d.dispose(); Please use the try {} finally {} pattern to dispose the G2D object. The same comment applies to the lines 1510-1513. fixed -- best regards, Anthony On 06/25/12 14:42, Sergey Bylokhov wrote: Hi, Artem, Anthony. New version of the fix: http://cr.openjdk.java.net/~serb/7124244/webrev.01 13.06.2012 06:30, Artem Ananiev wrote: Hi, Sergey, a few minor comments: 1. There is no need in AWT_ASSERT_[NOT]_APPKIT_THREAD macros in CPlatformWindow.nativeRevalidateNSWindowShadow(), since there are corresponding checks just above. done. 2. invalidateShadow() is not used in sun.lwawt, so it can be just a method in CPlatformWindow. BTW, do you have any ideas, why CGLayer holds a reference to LWWindowPeer, not to CPlatformWindow? done. 3. As we don't expect isSwingBackbufferTranslucencySupported() to return different values, it would be fine to call it only once to avoid possible perf regressions. done. Thanks, Artem On 6/4/2012 7:49 PM, Sergey Bylokhov wrote: Hi Everyone, Please review the fix. Shaped window was implemented as a translucent window with constrained graphics. Now translucent window doesn't use separate BufferedImage as a back buffer. Also alpha value for the swing back buffer was enabled(Shared code changed). Note that shaped windows are affected by this bugs: http://monaco.us.oracle.com/detail.jsf?cr=7124236 - Shadows disappear. - Transparent areas aren't transparent to mouse clicks. http://monaco.sfbay.sun.com/detail.jsf?cr=7172431 - Opacity does not work for non opaque windows. Any suggestions are welcome. Bug: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7124244 Webrev can be found at: http://cr.openjdk.java.net/~serb/7124244/webrev.00 -- Best regards, Sergey.
Re: AWT Dev [8] Review request for 7124244: [macosx] Shaped windows support
Hi Sergey, Thanks for addressing the issues. The fix looks good to me. -- best regards, Anthony On 06/25/12 18:22, Sergey Bylokhov wrote: Hi, Artem, Anthony. New version of the fix: http://cr.openjdk.java.net/~serb/7124244/webrev.02/ 25.06.2012 06:02, Anthony Petrov wrote: Hi Sergey, The fix looks good overall. Just two comments: 1. src/macosx/classes/sun/lwawt/LWWindowPeer.java 987 if (oldBB != null) { 988 backBuffer = (BufferedImage) platformWindow.createBackBuffer(); Since we never create a back buffer in JDK 8 currently, I suggest to comment this code out, and add a remark mentioning a CR number that should make use of the code in the future. done 2. src/share/classes/javax/swing/RepaintManager.java 1501 Graphics2D g2d = (Graphics2D) osg.create(); 1502 g2d.setBackground(c.getBackground()); 1503 g2d.clearRect(x, y, bw, bh); 1504 g2d.dispose(); Please use the try {} finally {} pattern to dispose the G2D object. The same comment applies to the lines 1510-1513. fixed -- best regards, Anthony On 06/25/12 14:42, Sergey Bylokhov wrote: Hi, Artem, Anthony. New version of the fix: http://cr.openjdk.java.net/~serb/7124244/webrev.01 13.06.2012 06:30, Artem Ananiev wrote: Hi, Sergey, a few minor comments: 1. There is no need in AWT_ASSERT_[NOT]_APPKIT_THREAD macros in CPlatformWindow.nativeRevalidateNSWindowShadow(), since there are corresponding checks just above. done. 2. invalidateShadow() is not used in sun.lwawt, so it can be just a method in CPlatformWindow. BTW, do you have any ideas, why CGLayer holds a reference to LWWindowPeer, not to CPlatformWindow? done. 3. As we don't expect isSwingBackbufferTranslucencySupported() to return different values, it would be fine to call it only once to avoid possible perf regressions. done. Thanks, Artem On 6/4/2012 7:49 PM, Sergey Bylokhov wrote: Hi Everyone, Please review the fix. Shaped window was implemented as a translucent window with constrained graphics. Now translucent window doesn't use separate BufferedImage as a back buffer. Also alpha value for the swing back buffer was enabled(Shared code changed). Note that shaped windows are affected by this bugs: http://monaco.us.oracle.com/detail.jsf?cr=7124236 - Shadows disappear. - Transparent areas aren't transparent to mouse clicks. http://monaco.sfbay.sun.com/detail.jsf?cr=7172431 - Opacity does not work for non opaque windows. Any suggestions are welcome. Bug: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7124244 Webrev can be found at: http://cr.openjdk.java.net/~serb/7124244/webrev.00
Re: AWT Dev [8] Review request for 7124244: [macosx] Shaped windows support
Hi, Sergey, a few minor comments: 1. CPlatformWindow.java: invalidateShadow() in native is ready to be called on any thread, so what's the reason behind invokeLater() here? 2. RepaintManager.java: the new field should better be named volatileBufferType. 3. LWComponentPeer.applyShape() is a peer method, which accepts user-supplied object (right now it's constructed from Shape in AWT internal code, but nothing prevents users from calling this method directly), so it should be stored as a copy, not as a reference. Thanks, Artem On 6/25/2012 2:42 PM, Sergey Bylokhov wrote: Hi, Artem, Anthony. New version of the fix: http://cr.openjdk.java.net/~serb/7124244/webrev.01 13.06.2012 06:30, Artem Ananiev wrote: Hi, Sergey, a few minor comments: 1. There is no need in AWT_ASSERT_[NOT]_APPKIT_THREAD macros in CPlatformWindow.nativeRevalidateNSWindowShadow(), since there are corresponding checks just above. done. 2. invalidateShadow() is not used in sun.lwawt, so it can be just a method in CPlatformWindow. BTW, do you have any ideas, why CGLayer holds a reference to LWWindowPeer, not to CPlatformWindow? done. 3. As we don't expect isSwingBackbufferTranslucencySupported() to return different values, it would be fine to call it only once to avoid possible perf regressions. done. Thanks, Artem On 6/4/2012 7:49 PM, Sergey Bylokhov wrote: Hi Everyone, Please review the fix. Shaped window was implemented as a translucent window with constrained graphics. Now translucent window doesn't use separate BufferedImage as a back buffer. Also alpha value for the swing back buffer was enabled(Shared code changed). Note that shaped windows are affected by this bugs: http://monaco.us.oracle.com/detail.jsf?cr=7124236 - Shadows disappear. - Transparent areas aren't transparent to mouse clicks. http://monaco.sfbay.sun.com/detail.jsf?cr=7172431 - Opacity does not work for non opaque windows. Any suggestions are welcome. Bug: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7124244 Webrev can be found at: http://cr.openjdk.java.net/~serb/7124244/webrev.00
Re: AWT Dev [8] Review request for 7124244: [macosx] Shaped windows support
Hi, Artem. New version of the fix. http://cr.openjdk.java.net/~serb/7124244/webrev.03/ 25.06.2012 08:16, Artem Ananiev wrote: Hi, Sergey, a few minor comments: 1. CPlatformWindow.java: invalidateShadow() in native is ready to be called on any thread, so what's the reason behind invokeLater() here? It is used to postpone shadow invalidating. 2. RepaintManager.java: the new field should better be named volatileBufferType. done 3. LWComponentPeer.applyShape() is a peer method, which accepts user-supplied object (right now it's constructed from Shape in AWT internal code, but nothing prevents users from calling this method directly), so it should be stored as a copy, not as a reference. done Thanks, Artem On 6/25/2012 2:42 PM, Sergey Bylokhov wrote: Hi, Artem, Anthony. New version of the fix: http://cr.openjdk.java.net/~serb/7124244/webrev.01 13.06.2012 06:30, Artem Ananiev wrote: Hi, Sergey, a few minor comments: 1. There is no need in AWT_ASSERT_[NOT]_APPKIT_THREAD macros in CPlatformWindow.nativeRevalidateNSWindowShadow(), since there are corresponding checks just above. done. 2. invalidateShadow() is not used in sun.lwawt, so it can be just a method in CPlatformWindow. BTW, do you have any ideas, why CGLayer holds a reference to LWWindowPeer, not to CPlatformWindow? done. 3. As we don't expect isSwingBackbufferTranslucencySupported() to return different values, it would be fine to call it only once to avoid possible perf regressions. done. Thanks, Artem On 6/4/2012 7:49 PM, Sergey Bylokhov wrote: Hi Everyone, Please review the fix. Shaped window was implemented as a translucent window with constrained graphics. Now translucent window doesn't use separate BufferedImage as a back buffer. Also alpha value for the swing back buffer was enabled(Shared code changed). Note that shaped windows are affected by this bugs: http://monaco.us.oracle.com/detail.jsf?cr=7124236 - Shadows disappear. - Transparent areas aren't transparent to mouse clicks. http://monaco.sfbay.sun.com/detail.jsf?cr=7172431 - Opacity does not work for non opaque windows. Any suggestions are welcome. Bug: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7124244 Webrev can be found at: http://cr.openjdk.java.net/~serb/7124244/webrev.00 -- Best regards, Sergey.
Re: AWT Dev [8] Review request for 7124244: [macosx] Shaped windows support
Thanks for the comments. Will there be an updated version of the fix? -- best regards, Anthony On 6/5/2012 10:25 PM, Sergey Bylokhov wrote: 05.06.2012 19:05, Anthony Petrov написал: Hi Sergey, A couple of comments: 1. src/macosx/classes/sun/lwawt/LWWindowPeer.java 576 //flushOnscreenGraphics(); There's no any explanation as to why this line is commented out. Could you either add a remark in the code, or delete this line altogether? Yes. Thanks. 2. How does the fix affect the performance of non-opaque (and opaque, too) windows? In general a non-opaque window should work better just because now it doesn't use raw BufferedImage. Opaque window should be affected only by changes in RepaintManager(). -- best regards, Anthony On 6/4/2012 7:49 PM, Sergey Bylokhov wrote: Hi Everyone, Please review the fix. Shaped window was implemented as a translucent window with constrained graphics. Now translucent window doesn't use separate BufferedImage as a back buffer. Also alpha value for the swing back buffer was enabled(Shared code changed). Note that shaped windows are affected by this bugs: http://monaco.us.oracle.com/detail.jsf?cr=7124236 - Shadows disappear. - Transparent areas aren't transparent to mouse clicks. http://monaco.sfbay.sun.com/detail.jsf?cr=7172431 - Opacity does not work for non opaque windows. Any suggestions are welcome. Bug: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7124244 Webrev can be found at: http://cr.openjdk.java.net/~serb/7124244/webrev.00
Re: AWT Dev [8] Review request for 7124244: [macosx] Shaped windows support
Hi, Anthony. yes I will make the new version soon. 09.06.2012 17:15, Anthony Petrov wrote: Thanks for the comments. Will there be an updated version of the fix? -- best regards, Anthony On 6/5/2012 10:25 PM, Sergey Bylokhov wrote: 05.06.2012 19:05, Anthony Petrov написал: Hi Sergey, A couple of comments: 1. src/macosx/classes/sun/lwawt/LWWindowPeer.java 576 //flushOnscreenGraphics(); There's no any explanation as to why this line is commented out. Could you either add a remark in the code, or delete this line altogether? Yes. Thanks. 2. How does the fix affect the performance of non-opaque (and opaque, too) windows? In general a non-opaque window should work better just because now it doesn't use raw BufferedImage. Opaque window should be affected only by changes in RepaintManager(). -- best regards, Anthony On 6/4/2012 7:49 PM, Sergey Bylokhov wrote: Hi Everyone, Please review the fix. Shaped window was implemented as a translucent window with constrained graphics. Now translucent window doesn't use separate BufferedImage as a back buffer. Also alpha value for the swing back buffer was enabled(Shared code changed). Note that shaped windows are affected by this bugs: http://monaco.us.oracle.com/detail.jsf?cr=7124236 - Shadows disappear. - Transparent areas aren't transparent to mouse clicks. http://monaco.sfbay.sun.com/detail.jsf?cr=7172431 - Opacity does not work for non opaque windows. Any suggestions are welcome. Bug: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7124244 Webrev can be found at: http://cr.openjdk.java.net/~serb/7124244/webrev.00 -- Best regards, Sergey.
Re: AWT Dev [8] Review request for 7124244: [macosx] Shaped windows support
Hi Sergey, A couple of comments: 1. src/macosx/classes/sun/lwawt/LWWindowPeer.java 576 //flushOnscreenGraphics(); There's no any explanation as to why this line is commented out. Could you either add a remark in the code, or delete this line altogether? 2. How does the fix affect the performance of non-opaque (and opaque, too) windows? -- best regards, Anthony On 6/4/2012 7:49 PM, Sergey Bylokhov wrote: Hi Everyone, Please review the fix. Shaped window was implemented as a translucent window with constrained graphics. Now translucent window doesn't use separate BufferedImage as a back buffer. Also alpha value for the swing back buffer was enabled(Shared code changed). Note that shaped windows are affected by this bugs: http://monaco.us.oracle.com/detail.jsf?cr=7124236 - Shadows disappear. - Transparent areas aren't transparent to mouse clicks. http://monaco.sfbay.sun.com/detail.jsf?cr=7172431 - Opacity does not work for non opaque windows. Any suggestions are welcome. Bug: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7124244 Webrev can be found at: http://cr.openjdk.java.net/~serb/7124244/webrev.00
Re: AWT Dev [8] Review request for 7124244: [macosx] Shaped windows support
05.06.2012 19:05, Anthony Petrov написал: Hi Sergey, A couple of comments: 1. src/macosx/classes/sun/lwawt/LWWindowPeer.java 576 //flushOnscreenGraphics(); There's no any explanation as to why this line is commented out. Could you either add a remark in the code, or delete this line altogether? Yes. Thanks. 2. How does the fix affect the performance of non-opaque (and opaque, too) windows? In general a non-opaque window should work better just because now it doesn't use raw BufferedImage. Opaque window should be affected only by changes in RepaintManager(). -- best regards, Anthony On 6/4/2012 7:49 PM, Sergey Bylokhov wrote: Hi Everyone, Please review the fix. Shaped window was implemented as a translucent window with constrained graphics. Now translucent window doesn't use separate BufferedImage as a back buffer. Also alpha value for the swing back buffer was enabled(Shared code changed). Note that shaped windows are affected by this bugs: http://monaco.us.oracle.com/detail.jsf?cr=7124236 - Shadows disappear. - Transparent areas aren't transparent to mouse clicks. http://monaco.sfbay.sun.com/detail.jsf?cr=7172431 - Opacity does not work for non opaque windows. Any suggestions are welcome. Bug: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7124244 Webrev can be found at: http://cr.openjdk.java.net/~serb/7124244/webrev.00 -- Best regards, Sergey.
AWT Dev [8] Review request for 7124244: [macosx] Shaped windows support
Hi Everyone, Please review the fix. Shaped window was implemented as a translucent window with constrained graphics. Now translucent window doesn't use separate BufferedImage as a back buffer. Also alpha value for the swing back buffer was enabled(Shared code changed). Note that shaped windows are affected by this bugs: http://monaco.us.oracle.com/detail.jsf?cr=7124236 - Shadows disappear. - Transparent areas aren't transparent to mouse clicks. http://monaco.sfbay.sun.com/detail.jsf?cr=7172431 - Opacity does not work for non opaque windows. Any suggestions are welcome. Bug: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7124244 Webrev can be found at: http://cr.openjdk.java.net/~serb/7124244/webrev.00 -- Best regards, Sergey.