[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