Henri Verbeet : d2d1: Implement d2d_bitmap_brush_GetTransform().

Alexandre Julliard julliard at wine.codeweavers.com
Mon Feb 2 08:32:23 CST 2015


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

Author: Henri Verbeet <hverbeet at codeweavers.com>
Date:   Thu Jan 29 10:27:20 2015 +0100

d2d1: Implement d2d_bitmap_brush_GetTransform().

---

 dlls/d2d1/brush.c        | 19 +++++++++++--------
 dlls/d2d1/d2d1_private.h |  1 +
 2 files changed, 12 insertions(+), 8 deletions(-)

diff --git a/dlls/d2d1/brush.c b/dlls/d2d1/brush.c
index 2986c27..ef70847 100644
--- a/dlls/d2d1/brush.c
+++ b/dlls/d2d1/brush.c
@@ -147,9 +147,17 @@ HRESULT d2d_gradient_init(struct d2d_gradient *gradient, ID2D1RenderTarget *rend
 static void d2d_brush_init(struct d2d_brush *brush, ID2D1RenderTarget *render_target,
         enum d2d_brush_type type, const D2D1_BRUSH_PROPERTIES *desc, const struct ID2D1BrushVtbl *vtbl)
 {
+    static const D2D1_MATRIX_3X2_F identity =
+    {
+        1.0f, 0.0f,
+        0.0f, 1.0f,
+        0.0f, 0.0f,
+    };
+
     brush->ID2D1Brush_iface.lpVtbl = vtbl;
     brush->refcount = 1;
     brush->opacity = desc ? desc->opacity : 1.0f;
+    brush->transform = desc ? desc->transform : identity;
     brush->type = type;
 }
 
@@ -532,16 +540,11 @@ static float STDMETHODCALLTYPE d2d_bitmap_brush_GetOpacity(ID2D1BitmapBrush *ifa
 static void STDMETHODCALLTYPE d2d_bitmap_brush_GetTransform(ID2D1BitmapBrush *iface,
         D2D1_MATRIX_3X2_F *transform)
 {
-    static const D2D1_MATRIX_3X2_F identity =
-    {
-        1.0f, 0.0f,
-        0.0f, 1.0f,
-        0.0f, 0.0f,
-    };
+    struct d2d_brush *brush = impl_from_ID2D1BitmapBrush(iface);
 
-    FIXME("iface %p, transform %p stub!\n", iface, transform);
+    TRACE("iface %p, transform %p.\n", iface, transform);
 
-    *transform = identity;
+    *transform = brush->transform;
 }
 
 static void STDMETHODCALLTYPE d2d_bitmap_brush_SetExtendModeX(ID2D1BitmapBrush *iface, D2D1_EXTEND_MODE mode)
diff --git a/dlls/d2d1/d2d1_private.h b/dlls/d2d1/d2d1_private.h
index 05e678c..e3cb98a 100644
--- a/dlls/d2d1/d2d1_private.h
+++ b/dlls/d2d1/d2d1_private.h
@@ -109,6 +109,7 @@ struct d2d_brush
     LONG refcount;
 
     float opacity;
+    D2D1_MATRIX_3X2_F transform;
 
     enum d2d_brush_type type;
     union




More information about the wine-cvs mailing list