<AWT Dev> [8] Review request for 7124244: [macosx] Shaped windows support
Artem Ananiev
artem.ananiev at oracle.com
Mon Jun 25 08:16:32 PDT 2012
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
>>>
>
>
More information about the awt-dev
mailing list