<Swing Dev> [9] Review request for 8027639: JComboBox's popup leaves tracks after closing
Sergey Bylokhov
Sergey.Bylokhov at oracle.com
Mon Nov 7 16:01:55 UTC 2016
On 07.11.16 18:31, Semyon Sadetsky wrote:
>> If it is src-over mean that in the window you will get a composite of
>> colors, which was drawn to the backbuffer and the colors which was
>> drawn in the window(which was drawn by the window itself). And in this
>> case you will get a different results when you paint via backbuffer or
>> when you skip it.
> I did not get this. You've state if JRootPane has own different
> transparent color than it may be painted twice.
I am talking about the color of the window, you said that it is always
painted.
http://mail.openjdk.java.net/pipermail/swing-dev/2016-October/006854.html
So if it always painted in case of non-opaque windows and you paint it
to the backbuffer means that you paint it twice, no?
> At first, I'm not sure that JRootPane may have such color. Because we
> only support window translucency if window is non-opaque and having
> non-opaque window with opaque JRootPane seems incorrect usage.
The components can be opaque/non-opaque even if the window is
opaque/non-opaque. They have a different meaning. For window this means
that it has a transparent background, for components it means that
before the component is painted all its containers should be painted first.
> But anyway I don't see the way how the JRootPane transparent color may
> be pained twice. For non-opaque JRootPane it's background color is not
> painted, regardless of transparency. With opaque JRootPane the parent
> window paint() method will not be called and window background will not
> be painted.
>>
>>>>>>>> Should the previous composite be restored after the rect filling?
>>>>>>> SRC should be the default composite type.
>>>>>>
>>>>>> default composite type should be srcOver, and it should be restored
>>>>>> before call paintToOffscreen().
>>>>
>>>>
>>>
>>
>>
>
--
Best regards, Sergey.
More information about the swing-dev
mailing list