Henri Verbeet : d2d1: Implement d2d_d3d_render_target_GetTransform().

Alexandre Julliard julliard at wine.codeweavers.com
Tue Jul 22 14:12:21 CDT 2014


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

Author: Henri Verbeet <hverbeet at codeweavers.com>
Date:   Tue Jul 22 08:44:21 2014 +0200

d2d1: Implement d2d_d3d_render_target_GetTransform().

---

 dlls/d2d1/d2d1_private.h  |  2 ++
 dlls/d2d1/render_target.c | 15 ++++++++++++++-
 2 files changed, 16 insertions(+), 1 deletion(-)

diff --git a/dlls/d2d1/d2d1_private.h b/dlls/d2d1/d2d1_private.h
index 720a96d..001c986 100644
--- a/dlls/d2d1/d2d1_private.h
+++ b/dlls/d2d1/d2d1_private.h
@@ -28,6 +28,8 @@ struct d2d_d3d_render_target
 {
     ID2D1RenderTarget ID2D1RenderTarget_iface;
     LONG refcount;
+
+    D2D1_MATRIX_3X2_F transform;
 };
 
 void d2d_d3d_render_target_init(struct d2d_d3d_render_target *render_target, ID2D1Factory *factory,
diff --git a/dlls/d2d1/render_target.c b/dlls/d2d1/render_target.c
index 34ed063..0dc633b 100644
--- a/dlls/d2d1/render_target.c
+++ b/dlls/d2d1/render_target.c
@@ -322,7 +322,11 @@ static void STDMETHODCALLTYPE d2d_d3d_render_target_SetTransform(ID2D1RenderTarg
 static void STDMETHODCALLTYPE d2d_d3d_render_target_GetTransform(ID2D1RenderTarget *iface,
         D2D1_MATRIX_3X2_F *transform)
 {
-    FIXME("iface %p, transform %p stub!\n", iface, transform);
+    struct d2d_d3d_render_target *render_target = impl_from_ID2D1RenderTarget(iface);
+
+    TRACE("iface %p, transform %p.\n", iface, transform);
+
+    *transform = render_target->transform;
 }
 
 static void STDMETHODCALLTYPE d2d_d3d_render_target_SetAntialiasMode(ID2D1RenderTarget *iface,
@@ -556,8 +560,17 @@ static const struct ID2D1RenderTargetVtbl d2d_d3d_render_target_vtbl =
 void d2d_d3d_render_target_init(struct d2d_d3d_render_target *render_target, ID2D1Factory *factory,
         IDXGISurface *surface, const D2D1_RENDER_TARGET_PROPERTIES *desc)
 {
+    static const D2D1_MATRIX_3X2_F identity =
+    {
+        1.0f, 0.0f,
+        0.0f, 1.0f,
+        0.0f, 0.0f,
+    };
+
     FIXME("Ignoring render target properties.\n");
 
     render_target->ID2D1RenderTarget_iface.lpVtbl = &d2d_d3d_render_target_vtbl;
     render_target->refcount = 1;
+
+    render_target->transform = identity;
 }




More information about the wine-cvs mailing list