Henri Verbeet : d2d1: Implement d2d_d3d_render_target_SetTextRenderingParams().

Alexandre Julliard julliard at wine.codeweavers.com
Thu Mar 26 11:13:57 CDT 2015


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

Author: Henri Verbeet <hverbeet at codeweavers.com>
Date:   Thu Mar 26 09:41:17 2015 +0100

d2d1: Implement d2d_d3d_render_target_SetTextRenderingParams().

---

 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,




More information about the wine-cvs mailing list