Evan Stade : gdiplus: Added GdipCreateLineBrushFromRectI.
Alexandre Julliard
julliard at wine.codeweavers.com
Wed Aug 8 08:59:51 CDT 2007
Module: wine
Branch: master
Commit: d806c67821ebd2173353c90a43f64d005ed4731b
URL: http://source.winehq.org/git/wine.git/?a=commit;h=d806c67821ebd2173353c90a43f64d005ed4731b
Author: Evan Stade <estade at gmail.com>
Date: Tue Aug 7 18:43:00 2007 -0700
gdiplus: Added GdipCreateLineBrushFromRectI.
---
dlls/gdiplus/brush.c | 17 +++++++++++++++++
dlls/gdiplus/gdiplus.spec | 2 +-
include/gdiplusenums.h | 9 +++++++++
include/gdiplusflat.h | 2 ++
4 files changed, 29 insertions(+), 1 deletions(-)
diff --git a/dlls/gdiplus/brush.c b/dlls/gdiplus/brush.c
index dca3a41..1c17560 100644
--- a/dlls/gdiplus/brush.c
+++ b/dlls/gdiplus/brush.c
@@ -115,6 +115,23 @@ GpStatus WINGDIPAPI GdipCreateLineBrush(GDIPCONST GpPointF* startpoint,
return Ok;
}
+GpStatus WINGDIPAPI GdipCreateLineBrushFromRectI(GDIPCONST GpRect* rect,
+ ARGB startcolor, ARGB endcolor, LinearGradientMode mode, GpWrapMode wrap,
+ GpLineGradient **line)
+{
+ GpPointF start, end;
+
+ if(!line || !rect)
+ return InvalidParameter;
+
+ start.X = (REAL) rect->X;
+ start.Y = (REAL) rect->Y;
+ end.X = (REAL) (rect->X + rect->Width);
+ end.Y = (REAL) (rect->Y + rect->Height);
+
+ return GdipCreateLineBrush(&start, &end, startcolor, endcolor, wrap, line);
+}
+
GpStatus WINGDIPAPI GdipCreatePathGradient(GDIPCONST GpPointF* points,
INT count, GpWrapMode wrap, GpPathGradient **grad)
{
diff --git a/dlls/gdiplus/gdiplus.spec b/dlls/gdiplus/gdiplus.spec
index f5d0665..7c0ea9c 100644
--- a/dlls/gdiplus/gdiplus.spec
+++ b/dlls/gdiplus/gdiplus.spec
@@ -100,7 +100,7 @@
@ stdcall GdipCreateImageAttributes(ptr)
@ stdcall GdipCreateLineBrush(ptr ptr long long long ptr)
@ stub GdipCreateLineBrushFromRect
-@ stub GdipCreateLineBrushFromRectI
+@ stdcall GdipCreateLineBrushFromRectI(ptr long long long long ptr)
@ stub GdipCreateLineBrushFromRectWithAngle
@ stub GdipCreateLineBrushFromRectWithAngleI
@ stub GdipCreateLineBrushI
diff --git a/include/gdiplusenums.h b/include/gdiplusenums.h
index 9d81051..a2fe1fb 100644
--- a/include/gdiplusenums.h
+++ b/include/gdiplusenums.h
@@ -183,6 +183,14 @@ enum MetafileType
MetafileTypeEmfPlusDual
};
+enum LinearGradientMode
+{
+ LinearGradientModeHorizontal,
+ LinearGradientModeVertical,
+ LinearGradientModeForwardDiagonal,
+ LinearGradientModeBackwardDiagonal
+};
+
#ifndef __cplusplus
typedef enum Unit Unit;
@@ -202,6 +210,7 @@ typedef enum MatrixOrder MatrixOrder;
typedef enum ImageType ImageType;
typedef enum WrapMode WrapMode;
typedef enum MetafileType MetafileType;
+typedef enum LinearGradientMode LinearGradientMode;
#endif /* end of c typedefs */
diff --git a/include/gdiplusflat.h b/include/gdiplusflat.h
index 0156bd5..0c2d8c4 100644
--- a/include/gdiplusflat.h
+++ b/include/gdiplusflat.h
@@ -146,6 +146,8 @@ GpStatus WINGDIPAPI GdipStartPathFigure(GpPath*);
GpStatus WINGDIPAPI GdipTransformPath(GpPath*,GpMatrix*);
GpStatus WINGDIPAPI GdipCloneMatrix(GpMatrix*,GpMatrix**);
+GpStatus WINGDIPAPI GdipCreateLineBrushFromRectI(GDIPCONST GpRect*,ARGB,ARGB,
+ LinearGradientMode,GpWrapMode,GpLineGradient**);
GpStatus WINGDIPAPI GdipCreateMatrix(GpMatrix**);
GpStatus WINGDIPAPI GdipCreateMatrix2(REAL,REAL,REAL,REAL,REAL,REAL,GpMatrix**);
GpStatus WINGDIPAPI GdipCreateMatrix3(GDIPCONST GpRectF *,GDIPCONST GpPointF*,
More information about the wine-cvs
mailing list