[prev in list] [next in list] [prev in thread] [next in thread] 

List:       wine-devel
Subject:    Re: [PATCH 2/2] comctl32: Paint 32-bpp bitmaps with an alpha channel using GdiAlphaBlend.
From:       Dmitry Timoshkov <dmitry () baikal ! ru>
Date:       2019-05-31 13:18:32
Message-ID: 20190531211832.308677233b3bed7a527b4efb () baikal ! ru
[Download RAW message or body]

Alexandre Julliard <julliard@winehq.org> wrote:

> >> >> My question was whether it's drawn with transparency in that case, since
> >> >> it's not really specified in which cases a DDB is considered to have an
> >> >> alpha channel.
> >> >
> >> > In order to draw it with a transparency it's necessary to create a 32-bpp
> >> > DIB section, copy source bitmap bits, and use GdiAlphaBlend() with a DIB
> >> > section. Basically my patch does all of this.
> >> 
> >> Yes of course. My question was whether on Windows it's drawn transparent
> >> even for the DDB case. I guess the answer is yes since you have an app
> >> that does this, but a small test case wouldn't hurt.
> >
> > I just added the code to my test app to draw a bitmap with BitBlt()
> > loaded with LoadBitmap() (instead of assigning it to the Static control),
> > and the result is drawn without transparency under Windows.
> 
> But if you assign it to the Static control it's transparent, right?  And
> it's really a DDB, right?

Right, it's a DDB. I've attached a test app to the bug 47018. That version
of the test won't run under XP, I've fixed it in a later version, but that
changes nothing to the loading and painting code, I'm just mentioning this
in case you will try it under XP.

> Just want to make sure that we need special handling there, and that
> it's not the app getting a DDB when it should be getting a DIB or
> something like that.

Sure.

-- 
Dmitry.



[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic