Vincent Povirk : gdiplus: Implement GdipGetLineBlend.

Alexandre Julliard julliard at winehq.org
Wed Apr 29 10:20:19 CDT 2009


Module: wine
Branch: master
Commit: 47a81f5a0c7eaafd6f392f2eea74e9cd42f1f227
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=47a81f5a0c7eaafd6f392f2eea74e9cd42f1f227

Author: Vincent Povirk <vincent at codeweavers.com>
Date:   Tue Apr 28 18:18:26 2009 -0500

gdiplus: Implement GdipGetLineBlend.

---

 dlls/gdiplus/brush.c |   14 +++++++++-----
 1 files changed, 9 insertions(+), 5 deletions(-)

diff --git a/dlls/gdiplus/brush.c b/dlls/gdiplus/brush.c
index 20a440c..74e7764 100644
--- a/dlls/gdiplus/brush.c
+++ b/dlls/gdiplus/brush.c
@@ -1151,14 +1151,18 @@ GpStatus WINGDIPAPI GdipSetLineBlend(GpLineGradient *brush,
 GpStatus WINGDIPAPI GdipGetLineBlend(GpLineGradient *brush, REAL *factors,
     REAL *positions, INT count)
 {
-    static int calls;
-
     TRACE("(%p, %p, %p, %i)\n", brush, factors, positions, count);
 
-    if(!(calls++))
-        FIXME("not implemented\n");
+    if (!brush || !factors || !positions || count <= 0)
+        return InvalidParameter;
 
-    return NotImplemented;
+    if (count < brush->blendcount)
+        return InsufficientBuffer;
+
+    memcpy(factors, brush->blendfac, brush->blendcount * sizeof(REAL));
+    memcpy(positions, brush->blendpos, brush->blendcount * sizeof(REAL));
+
+    return Ok;
 }
 
 GpStatus WINGDIPAPI GdipGetLineBlendCount(GpLineGradient *brush, INT *count)




More information about the wine-cvs mailing list