<Swing Dev> [9] Review request for 8027639: JComboBox's popup leaves tracks after closing

Semyon Sadetsky semyon.sadetsky at oracle.com
Mon Nov 7 15:31:26 UTC 2016


On 11/7/2016 6:09 PM, Sergey Bylokhov wrote:

> On 27.10.16 21:43, Semyon Sadetsky wrote:
>>> As you mention above background of the window will be always cleared
>>> by the window itself, and we can get double alpha in the background
>>> when we blit the backbuffer to the window. What composite is used when
>>> we draw backbuffer to the window?
>> It is src-over.
>
> 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.
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.
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().
>>>
>>>
>>
>
>




More information about the swing-dev mailing list