From: Henri Verbeet Subject: [PATCH 2/5] d2d1: Implement d2d_d3d_render_target_GetTransform(). Message-Id: <1406011464-30644-2-git-send-email-hverbeet@codeweavers.com> Date: Tue, 22 Jul 2014 08:44:21 +0200 --- 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; } -- 1.7.10.4