Re: AWT Dev [8] Review request for 7124244: [macosx] Shaped windows support

2012-07-02 Thread Artem Ananiev


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









Re: AWT Dev [8] Review request for 7124244: [macosx] Shaped windows support

2012-06-28 Thread Sergey Bylokhov

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







--
Best regards, Sergey.



Re: AWT Dev [8] Review request for 7124244: [macosx] Shaped windows support

2012-06-25 Thread Sergey Bylokhov

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





--
Best regards, Sergey.



Re: AWT Dev [8] Review request for 7124244: [macosx] Shaped windows support

2012-06-25 Thread Anthony Petrov

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.


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.


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






Re: AWT Dev [8] Review request for 7124244: [macosx] Shaped windows support

2012-06-25 Thread Sergey Bylokhov

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







--
Best regards, Sergey.



Re: AWT Dev [8] Review request for 7124244: [macosx] Shaped windows support

2012-06-25 Thread Anthony Petrov

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









Re: AWT Dev [8] Review request for 7124244: [macosx] Shaped windows support

2012-06-25 Thread Artem Ananiev

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






Re: AWT Dev [8] Review request for 7124244: [macosx] Shaped windows support

2012-06-25 Thread Sergey Bylokhov

Hi, Artem.
New version of the fix.
http://cr.openjdk.java.net/~serb/7124244/webrev.03/

25.06.2012 08: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?

It is used to postpone shadow invalidating.


2. RepaintManager.java: the new field should better be named 
volatileBufferType.

done


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.

done


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







--
Best regards, Sergey.



Re: AWT Dev [8] Review request for 7124244: [macosx] Shaped windows support

2012-06-09 Thread Anthony Petrov

Thanks for the comments. Will there be an updated version of the fix?

--
best regards,
Anthony

On 6/5/2012 10:25 PM, Sergey Bylokhov wrote:

05.06.2012 19:05, Anthony Petrov написал:

Hi Sergey,

A couple of comments:

1. src/macosx/classes/sun/lwawt/LWWindowPeer.java

 576 //flushOnscreenGraphics();


There's no any explanation as to why this line is commented out. Could 
you either add a remark in the code, or delete this line altogether?

Yes. Thanks.


2. How does the fix affect the performance of non-opaque (and opaque, 
too) windows?
In general a non-opaque window should work better just because now it 
doesn't use raw BufferedImage. Opaque window should be affected only by 
changes in RepaintManager().


--
best regards,
Anthony

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







Re: AWT Dev [8] Review request for 7124244: [macosx] Shaped windows support

2012-06-09 Thread Sergey Bylokhov

Hi, Anthony.
yes I will make the new version soon.

09.06.2012 17:15, Anthony Petrov wrote:

Thanks for the comments. Will there be an updated version of the fix?

--
best regards,
Anthony

On 6/5/2012 10:25 PM, Sergey Bylokhov wrote:

05.06.2012 19:05, Anthony Petrov написал:

Hi Sergey,

A couple of comments:

1. src/macosx/classes/sun/lwawt/LWWindowPeer.java

 576 //flushOnscreenGraphics();


There's no any explanation as to why this line is commented out. 
Could you either add a remark in the code, or delete this line 
altogether?

Yes. Thanks.


2. How does the fix affect the performance of non-opaque (and 
opaque, too) windows?
In general a non-opaque window should work better just because now it 
doesn't use raw BufferedImage. Opaque window should be affected only 
by changes in RepaintManager().


--
best regards,
Anthony

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








--
Best regards, Sergey.



Re: AWT Dev [8] Review request for 7124244: [macosx] Shaped windows support

2012-06-05 Thread Anthony Petrov

Hi Sergey,

A couple of comments:

1. src/macosx/classes/sun/lwawt/LWWindowPeer.java

 576 //flushOnscreenGraphics();


There's no any explanation as to why this line is commented out. Could 
you either add a remark in the code, or delete this line altogether?


2. How does the fix affect the performance of non-opaque (and opaque, 
too) windows?


--
best regards,
Anthony

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



Re: AWT Dev [8] Review request for 7124244: [macosx] Shaped windows support

2012-06-05 Thread Sergey Bylokhov

05.06.2012 19:05, Anthony Petrov написал:

Hi Sergey,

A couple of comments:

1. src/macosx/classes/sun/lwawt/LWWindowPeer.java

 576 //flushOnscreenGraphics();


There's no any explanation as to why this line is commented out. Could 
you either add a remark in the code, or delete this line altogether?

Yes. Thanks.


2. How does the fix affect the performance of non-opaque (and opaque, 
too) windows?
In general a non-opaque window should work better just because now it 
doesn't use raw BufferedImage. Opaque window should be affected only by 
changes in RepaintManager().


--
best regards,
Anthony

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





--
Best regards, Sergey.



AWT Dev [8] Review request for 7124244: [macosx] Shaped windows support

2012-06-04 Thread Sergey Bylokhov

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

--
Best regards, Sergey.