From: Henri Verbeet Subject: [PATCH 2/5] d2d1: Implement d2d_d3d_render_target_SetTextRenderingParams(). Message-Id: <1427359280-22369-2-git-send-email-hverbeet@codeweavers.com> Date: Thu, 26 Mar 2015 09:41:17 +0100 --- dlls/d2d1/d2d1_private.h | 2 ++ dlls/d2d1/render_target.c | 12 +++++++++++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/dlls/d2d1/d2d1_private.h b/dlls/d2d1/d2d1_private.h index 18f26f0..e416197 100644 --- a/dlls/d2d1/d2d1_private.h +++ b/dlls/d2d1/d2d1_private.h @@ -64,6 +64,8 @@ struct d2d_d3d_render_target ID3D10PixelShader *rect_solid_ps; ID3D10PixelShader *rect_bitmap_ps; + IDWriteRenderingParams *text_rendering_params; + D2D1_SIZE_U pixel_size; D2D1_MATRIX_3X2_F transform; struct d2d_clip_stack clip_stack; diff --git a/dlls/d2d1/render_target.c b/dlls/d2d1/render_target.c index 15914ed..8eccc25 100644 --- a/dlls/d2d1/render_target.c +++ b/dlls/d2d1/render_target.c @@ -225,6 +225,8 @@ static ULONG STDMETHODCALLTYPE d2d_d3d_render_target_Release(ID2D1RenderTarget * if (!refcount) { d2d_clip_stack_cleanup(&render_target->clip_stack); + if (render_target->text_rendering_params) + IDWriteRenderingParams_Release(render_target->text_rendering_params); ID3D10PixelShader_Release(render_target->rect_bitmap_ps); ID3D10PixelShader_Release(render_target->rect_solid_ps); ID3D10BlendState_Release(render_target->bs); @@ -856,7 +858,15 @@ static D2D1_TEXT_ANTIALIAS_MODE STDMETHODCALLTYPE d2d_d3d_render_target_GetTextA static void STDMETHODCALLTYPE d2d_d3d_render_target_SetTextRenderingParams(ID2D1RenderTarget *iface, IDWriteRenderingParams *text_rendering_params) { - FIXME("iface %p, text_rendering_params %p stub!\n", iface, text_rendering_params); + struct d2d_d3d_render_target *render_target = impl_from_ID2D1RenderTarget(iface); + + TRACE("iface %p, text_rendering_params %p.\n", iface, text_rendering_params); + + if (text_rendering_params) + IDWriteRenderingParams_AddRef(text_rendering_params); + if (render_target->text_rendering_params) + IDWriteRenderingParams_Release(render_target->text_rendering_params); + render_target->text_rendering_params = text_rendering_params; } static void STDMETHODCALLTYPE d2d_d3d_render_target_GetTextRenderingParams(ID2D1RenderTarget *iface, -- 1.7.10.4