[1/3] gdiplus: Default path gradient center color depends on the constructor.

Vincent Povirk madewokherd at gmail.com
Wed Apr 4 09:17:44 CDT 2012


-------------- next part --------------
From 27ed6acebd21c804b06bc8dd99f3c14f76833757 Mon Sep 17 00:00:00 2001
From: Vincent Povirk <vincent at codeweavers.com>
Date: Sat, 31 Mar 2012 13:14:07 -0500
Subject: [PATCH 1/3] gdiplus: Default path gradient center color depends on
 the constructor.

This fixes some Mono test cases.
---
 dlls/gdiplus/brush.c |   10 +++++-----
 1 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/dlls/gdiplus/brush.c b/dlls/gdiplus/brush.c
index 4bf4928..41b38a0 100644
--- a/dlls/gdiplus/brush.c
+++ b/dlls/gdiplus/brush.c
@@ -509,7 +509,7 @@ GpStatus WINGDIPAPI GdipCreateLineBrushFromRectWithAngleI(GDIPCONST GpRect* rect
                                         wrap, line);
 }
 
-static GpStatus create_path_gradient(GpPath *path, GpPathGradient **grad)
+static GpStatus create_path_gradient(GpPath *path, ARGB centercolor, GpPathGradient **grad)
 {
     GpRectF bounds;
     GpStatus stat;
@@ -554,7 +554,7 @@ static GpStatus create_path_gradient(GpPath *path, GpPathGradient **grad)
     (*grad)->path = path;
 
     (*grad)->brush.bt = BrushTypePathGradient;
-    (*grad)->centercolor = 0xffffffff;
+    (*grad)->centercolor = centercolor;
     (*grad)->wrap = WrapModeClamp;
     (*grad)->gamma = FALSE;
     /* FIXME: this should be set to the "centroid" of the path by default */
@@ -591,7 +591,7 @@ GpStatus WINGDIPAPI GdipCreatePathGradient(GDIPCONST GpPointF* points,
         stat = GdipAddPathLine2(path, points, count);
 
         if (stat == Ok)
-            stat = create_path_gradient(path, grad);
+            stat = create_path_gradient(path, 0xff000000, grad);
 
         if (stat != Ok)
             GdipDeletePath(path);
@@ -621,7 +621,7 @@ GpStatus WINGDIPAPI GdipCreatePathGradientI(GDIPCONST GpPoint* points,
         stat = GdipAddPathLine2I(path, points, count);
 
         if (stat == Ok)
-            stat = create_path_gradient(path, grad);
+            stat = create_path_gradient(path, 0xff000000, grad);
 
         if (stat != Ok)
             GdipDeletePath(path);
@@ -648,7 +648,7 @@ GpStatus WINGDIPAPI GdipCreatePathGradientFromPath(GDIPCONST GpPath* path,
 
     if (stat == Ok)
     {
-        stat = create_path_gradient(new_path, grad);
+        stat = create_path_gradient(new_path, 0xffffffff, grad);
 
         if (stat != Ok)
             GdipDeletePath(new_path);
-- 
1.7.9.1


More information about the wine-patches mailing list