<AWT Dev> [8] Review request for 7124244: [macosx] Shaped windows support
Anthony Petrov
anthony.petrov at oracle.com
Fri Jun 29 05:25:44 PDT 2012
Hi Sergey,
The fix looks good.
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.
--
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
>>>>>
>>>
>>>
>
>
More information about the awt-dev
mailing list