Review request for 7124236: [macosx] Some components lost shadows after the latest fix of translucent windows.
Dmitry Cherepanov
dmitry.cherepanov at oracle.com
Fri Feb 3 04:24:02 PST 2012
Mike Swingler wrote:
> On Jan 31, 2012, at 11:04 AM, Dmitry Cherepanov wrote:
>
>
>> The cause of the problem with broken shadows is that currently NSWindow's background color is [NSWindow clearColor] and it makes shadows invisible. The fix implements Mike's suggestion and now we draw pure transparent pixels into a CALayer so that the native background color will be visible through transparent areas of the CALayer.
>>
>> http://cr.openjdk.java.net/~dcherepanov/7124236/webrev.0/
>>
I'm trying to resolve a regression reproducible with the patch applied.
The problem comes up when application creates a top-level with a
transparent background (alpha != 0) and then starts rendering something
fully transparent with SRC composite in paint's callback (the example
[1] draws a fully transparent circle). My understanding is that the
content of the CALayer is going to be composited with the top-level's
background using SRC-OVER composite and the application's drawing will
be missed. Seems like it closely relates to your suggestion about the
coordination between the NSWindow's back-buffer drawing and drawing into
the CALayer. Could you please share your ideas about what's the right
way to fix it?
Thanks,
Dmitry
[1] http://cr.openjdk.java.net/~dcherepanov/7124236/NonOpaqueCircle.java
More information about the macosx-port-dev
mailing list