Module: wine Branch: master Commit: 6b53cb27bc51b53c2ce10e7e177c7b74bfd3264a URL: http://source.winehq.org/git/wine.git/?a=commit;h=6b53cb27bc51b53c2ce10e7e17...
Author: Vincent Povirk vincent@codeweavers.com Date: Sat Apr 17 11:31:15 2010 -0500
gdiplus: Fix the non-trivial case in color_over.
---
dlls/gdiplus/gdiplus_private.h | 6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/dlls/gdiplus/gdiplus_private.h b/dlls/gdiplus/gdiplus_private.h index 5ff7125..2313cd5 100644 --- a/dlls/gdiplus/gdiplus_private.h +++ b/dlls/gdiplus/gdiplus_private.h @@ -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; }