[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openjdk-macosx-port-dev
Subject:    [8] Review request for 7124244: [macosx] Shaped windows support
From:       artem.ananiev () oracle ! com (Artem Ananiev)
Date:       2012-07-02 19:03:20
Message-ID: 4FF1F078.2090409 () oracle ! com
[Download RAW message or body]


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
>>>>>>
>>>>
>>>>
>>
>>

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic