Module: wine Branch: master Commit: 717ac52dda12e7df698bdf106b6143995496dee0 URL: http://source.winehq.org/git/wine.git/?a=commit;h=717ac52dda12e7df698bdf106b...
Author: Vincent Povirk vincent@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);