[PATCH 1/5] d2d1: Implement d2d_radial_gradient_brush_GetRadiusX().

Henri Verbeet hverbeet at codeweavers.com
Thu Sep 28 06:14:14 CDT 2017


Signed-off-by: Henri Verbeet <hverbeet at codeweavers.com>
---
 dlls/d2d1/brush.c        | 8 ++++++--
 dlls/d2d1/d2d1_private.h | 1 +
 2 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/dlls/d2d1/brush.c b/dlls/d2d1/brush.c
index f141c72..689ffd5 100644
--- a/dlls/d2d1/brush.c
+++ b/dlls/d2d1/brush.c
@@ -732,9 +732,11 @@ static D2D1_POINT_2F * STDMETHODCALLTYPE d2d_radial_gradient_brush_GetGradientOr
 
 static float STDMETHODCALLTYPE d2d_radial_gradient_brush_GetRadiusX(ID2D1RadialGradientBrush *iface)
 {
-    FIXME("iface %p stub!\n", iface);
+    struct d2d_brush *brush = impl_from_ID2D1RadialGradientBrush(iface);
 
-    return 0.0f;
+    TRACE("iface %p.\n", iface);
+
+    return brush->u.radial.radius.x;
 }
 
 static float STDMETHODCALLTYPE d2d_radial_gradient_brush_GetRadiusY(ID2D1RadialGradientBrush *iface)
@@ -789,6 +791,8 @@ HRESULT d2d_radial_gradient_brush_create(ID2D1Factory *factory,
     ID2D1GradientStopCollection_AddRef(&b->u.radial.gradient->ID2D1GradientStopCollection_iface);
     b->u.radial.centre = gradient_desc->center;
     b->u.radial.offset = gradient_desc->gradientOriginOffset;
+    b->u.radial.radius.x = gradient_desc->radiusX;
+    b->u.radial.radius.y = gradient_desc->radiusY;
 
     TRACE("Created brush %p.\n", b);
     *brush = b;
diff --git a/dlls/d2d1/d2d1_private.h b/dlls/d2d1/d2d1_private.h
index ccff6df..9a46490 100644
--- a/dlls/d2d1/d2d1_private.h
+++ b/dlls/d2d1/d2d1_private.h
@@ -244,6 +244,7 @@ struct d2d_brush
             struct d2d_gradient *gradient;
             D2D1_POINT_2F centre;
             D2D1_POINT_2F offset;
+            D2D1_POINT_2F radius;
         } radial;
         struct
         {
-- 
2.1.4




More information about the wine-patches mailing list