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