Vincent Povirk : gdiplus: Fix the non-trivial case in color_over.
Alexandre Julliard
julliard at winehq.org
Mon Apr 19 11:51:14 CDT 2010
Module: wine
Branch: master
Commit: 6b53cb27bc51b53c2ce10e7e177c7b74bfd3264a
URL: http://source.winehq.org/git/wine.git/?a=commit;h=6b53cb27bc51b53c2ce10e7e177c7b74bfd3264a
Author: Vincent Povirk <vincent at 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;
}
More information about the wine-cvs
mailing list