<AWT Dev> [8] Review request for 7124244: [macosx] Shaped windows support
Anthony Petrov
anthony.petrov at oracle.com
Mon Jun 25 06:02:50 PDT 2012
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
>>>
>
>
More information about the awt-dev
mailing list