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





Reply via email to