Vincent Povirk : gdiplus: Use the mode passed to GdipCreateLineBrushFromRect.
Alexandre Julliard
julliard at winehq.org
Fri May 8 08:06:27 CDT 2009
Module: wine
Branch: master
Commit: 717ac52dda12e7df698bdf106b6143995496dee0
URL: http://source.winehq.org/git/wine.git/?a=commit;h=717ac52dda12e7df698bdf106b6143995496dee0
Author: Vincent Povirk <vincent at codeweavers.com>
Date: Wed May 6 16:36:06 2009 -0500
gdiplus: Use the mode passed to GdipCreateLineBrushFromRect.
---
dlls/gdiplus/brush.c | 33 +++++++++++++++++++++++++++++----
1 files changed, 29 insertions(+), 4 deletions(-)
diff --git a/dlls/gdiplus/brush.c b/dlls/gdiplus/brush.c
index cd1ba7f..76e6a0f 100644
--- a/dlls/gdiplus/brush.c
+++ b/dlls/gdiplus/brush.c
@@ -309,10 +309,35 @@ GpStatus WINGDIPAPI GdipCreateLineBrushFromRect(GDIPCONST GpRectF* rect,
if(!line || !rect)
return InvalidParameter;
- start.X = rect->X;
- start.Y = rect->Y;
- end.X = rect->X + rect->Width;
- end.Y = rect->Y + rect->Height;
+ switch (mode)
+ {
+ case LinearGradientModeHorizontal:
+ start.X = rect->X;
+ start.Y = rect->Y;
+ end.X = rect->X + rect->Width;
+ end.Y = rect->Y;
+ break;
+ case LinearGradientModeVertical:
+ start.X = rect->X;
+ start.Y = rect->Y;
+ end.X = rect->X;
+ end.Y = rect->Y + rect->Height;
+ break;
+ case LinearGradientModeForwardDiagonal:
+ start.X = rect->X;
+ start.Y = rect->Y;
+ end.X = rect->X + rect->Width;
+ end.Y = rect->Y + rect->Height;
+ break;
+ case LinearGradientModeBackwardDiagonal:
+ start.X = rect->X + rect->Width;
+ start.Y = rect->Y;
+ end.X = rect->X;
+ end.Y = rect->Y + rect->Height;
+ break;
+ default:
+ return InvalidParameter;
+ }
stat = GdipCreateLineBrush(&start, &end, startcolor, endcolor, wrap, line);
More information about the wine-cvs
mailing list