mirror of
git://source.winehq.org/git/wine.git
synced 2024-10-14 17:47:16 +00:00
gdiplus: Fix the non-trivial case in color_over.
This commit is contained in:
parent
62781a6b3c
commit
6b53cb27bc
|
@ -94,9 +94,9 @@ static inline ARGB color_over(ARGB bg, ARGB fg)
|
|||
if (bg_alpha == 0) return fg;
|
||||
|
||||
a = bg_alpha + fg_alpha;
|
||||
b = ((bg&0xff)*bg_alpha + (fg&0xff)*fg_alpha)*0xff/a;
|
||||
g = (((bg>>8)&0xff)*bg_alpha + ((fg>>8)&0xff)*fg_alpha)*0xff/a;
|
||||
r = (((bg>>16)&0xff)*bg_alpha + ((fg>>16)&0xff)*fg_alpha)*0xff/a;
|
||||
b = ((bg&0xff)*bg_alpha + (fg&0xff)*fg_alpha)/a;
|
||||
g = (((bg>>8)&0xff)*bg_alpha + ((fg>>8)&0xff)*fg_alpha)/a;
|
||||
r = (((bg>>16)&0xff)*bg_alpha + ((fg>>16)&0xff)*fg_alpha)/a;
|
||||
|
||||
return (a<<24)|(r<<16)|(g<<8)|b;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue