Module: wine Branch: master Commit: 496c319c7001c3429cffda3cf747cf7a66d4b627 URL: http://source.winehq.org/git/wine.git/?a=commit;h=496c319c7001c3429cffda3cf7...
Author: Evan Stade estade@gmail.com Date: Thu Aug 2 17:53:04 2007 -0700
gdiplus: Added GdipG/SetPathGradientFocusScales.
---
dlls/gdiplus/brush.c | 28 ++++++++++++++++++++++++++++ dlls/gdiplus/gdiplus.spec | 4 ++-- dlls/gdiplus/gdiplus_private.h | 1 + include/gdiplusflat.h | 2 ++ 4 files changed, 33 insertions(+), 2 deletions(-)
diff --git a/dlls/gdiplus/brush.c b/dlls/gdiplus/brush.c index 1e08c42..33b48ad 100644 --- a/dlls/gdiplus/brush.c +++ b/dlls/gdiplus/brush.c @@ -116,6 +116,8 @@ GpStatus WINGDIPAPI GdipCreatePathGradient(GDIPCONST GpPointF* points, (*grad)->gamma = FALSE; (*grad)->center.X = 0.0; (*grad)->center.Y = 0.0; + (*grad)->focus.X = 0.0; + (*grad)->focus.Y = 0.0;
return Ok; } @@ -159,6 +161,8 @@ GpStatus WINGDIPAPI GdipCreatePathGradientFromPath(GDIPCONST GpPath* path, /* FIXME: this should be set to the "centroid" of the path by default */ (*grad)->center.X = 0.0; (*grad)->center.Y = 0.0; + (*grad)->focus.X = 0.0; + (*grad)->focus.Y = 0.0;
return Ok; } @@ -225,6 +229,18 @@ GpStatus WINGDIPAPI GdipGetPathGradientCenterPoint(GpPathGradient *grad, return Ok; }
+GpStatus WINGDIPAPI GdipGetPathGradientFocusScales(GpPathGradient *grad, + REAL *x, REAL *y) +{ + if(!grad || !x || !y) + return InvalidParameter; + + *x = grad->focus.X; + *y = grad->focus.Y; + + return Ok; +} + GpStatus WINGDIPAPI GdipGetPathGradientGammaCorrection(GpPathGradient *grad, BOOL *gamma) { @@ -298,6 +314,18 @@ GpStatus WINGDIPAPI GdipSetPathGradientCenterPoint(GpPathGradient *grad, return Ok; }
+GpStatus WINGDIPAPI GdipSetPathGradientFocusScales(GpPathGradient *grad, + REAL x, REAL y) +{ + if(!grad) + return InvalidParameter; + + grad->focus.X = x; + grad->focus.Y = y; + + return Ok; +} + GpStatus WINGDIPAPI GdipSetPathGradientGammaCorrection(GpPathGradient *grad, BOOL gamma) { diff --git a/dlls/gdiplus/gdiplus.spec b/dlls/gdiplus/gdiplus.spec index 0114952..db227c1 100644 --- a/dlls/gdiplus/gdiplus.spec +++ b/dlls/gdiplus/gdiplus.spec @@ -330,7 +330,7 @@ @ stub GdipGetPathGradientCenterColor @ stdcall GdipGetPathGradientCenterPoint(ptr ptr) @ stub GdipGetPathGradientCenterPointI -@ stub GdipGetPathGradientFocusScales +@ stdcall GdipGetPathGradientFocusScales(ptr ptr ptr) @ stdcall GdipGetPathGradientGammaCorrection(ptr ptr) @ stub GdipGetPathGradientPath @ stdcall GdipGetPathGradientPointCount(ptr ptr) @@ -552,7 +552,7 @@ @ stdcall GdipSetPathGradientCenterColor(ptr long) @ stdcall GdipSetPathGradientCenterPoint(ptr ptr) @ stub GdipSetPathGradientCenterPointI -@ stub GdipSetPathGradientFocusScales +@ stdcall GdipSetPathGradientFocusScales(ptr long long) @ stdcall GdipSetPathGradientGammaCorrection(ptr long) @ stub GdipSetPathGradientLinearBlend @ stub GdipSetPathGradientPath diff --git a/dlls/gdiplus/gdiplus_private.h b/dlls/gdiplus/gdiplus_private.h index 53756c3..02db7aa 100644 --- a/dlls/gdiplus/gdiplus_private.h +++ b/dlls/gdiplus/gdiplus_private.h @@ -99,6 +99,7 @@ struct GpPathGradient{ GpWrapMode wrap; BOOL gamma; GpPointF center; + GpPointF focus; };
struct GpPath{ diff --git a/include/gdiplusflat.h b/include/gdiplusflat.h index 20d4ff9..f50f65e 100644 --- a/include/gdiplusflat.h +++ b/include/gdiplusflat.h @@ -95,6 +95,7 @@ GpStatus WINGDIPAPI GdipCreatePathGradientFromPath(GDIPCONST GpPath*, GpStatus WINGDIPAPI GdipCreateSolidFill(ARGB,GpSolidFill**); GpStatus WINGDIPAPI GdipGetBrushType(GpBrush*,GpBrushType*); GpStatus WINGDIPAPI GdipGetPathGradientCenterPoint(GpPathGradient*,GpPointF*); +GpStatus WINGDIPAPI GdipGetPathGradientFocusScales(GpPathGradient*,REAL*,REAL*); GpStatus WINGDIPAPI GdipGetPathGradientGammaCorrection(GpPathGradient*,BOOL*); GpStatus WINGDIPAPI GdipGetPathGradientPointCount(GpPathGradient*,INT*); GpStatus WINGDIPAPI GdipGetPathGradientSurroundColorsWithCount(GpPathGradient*, @@ -103,6 +104,7 @@ GpStatus WINGDIPAPI GdipDeleteBrush(GpBrush*); GpStatus WINGDIPAPI GdipGetSolidFillColor(GpSolidFill*,ARGB*); GpStatus WINGDIPAPI GdipSetPathGradientCenterColor(GpPathGradient*,ARGB); GpStatus WINGDIPAPI GdipSetPathGradientCenterPoint(GpPathGradient*,GpPointF*); +GpStatus WINGDIPAPI GdipSetPathGradientFocusScales(GpPathGradient*,REAL,REAL); GpStatus WINGDIPAPI GdipSetPathGradientGammaCorrection(GpPathGradient*,BOOL); GpStatus WINGDIPAPI GdipSetPathGradientSigmaBlend(GpPathGradient*,REAL,REAL); GpStatus WINGDIPAPI GdipSetPathGradientSurroundColorsWithCount(GpPathGradient*,