Nikolay Sivov : dwrite: Use aliased outline threshold for GDI target.

Alexandre Julliard julliard at wine.codeweavers.com
Mon Aug 17 09:01:12 CDT 2015


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

Author: Nikolay Sivov <nsivov at codeweavers.com>
Date:   Thu Aug 13 18:56:38 2015 +0300

dwrite: Use aliased outline threshold for GDI target.

---

 dlls/dwrite/gdiinterop.c | 14 ++++++++++++--
 1 file changed, 12 insertions(+), 2 deletions(-)

diff --git a/dlls/dwrite/gdiinterop.c b/dlls/dwrite/gdiinterop.c
index da4fc5f..6f96656 100644
--- a/dlls/dwrite/gdiinterop.c
+++ b/dlls/dwrite/gdiinterop.c
@@ -308,6 +308,7 @@ static HRESULT WINAPI rendertarget_DrawGlyphRun(IDWriteBitmapRenderTarget1 *ifac
     IDWriteGlyphRunAnalysis *analysis;
     DWRITE_RENDERING_MODE rendermode;
     DWRITE_TEXTURE_TYPE texturetype;
+    IDWriteFontFace1 *fontface1;
     RECT target, bounds;
     HRESULT hr;
 
@@ -319,8 +320,17 @@ static HRESULT WINAPI rendertarget_DrawGlyphRun(IDWriteBitmapRenderTarget1 *ifac
     if (!This->dib.ptr)
         return S_OK;
 
-    hr = IDWriteFontFace_GetRecommendedRenderingMode(run->fontFace, run->fontEmSize,
-        This->ppdip, measuring_mode, params, &rendermode);
+    hr = IDWriteFontFace_QueryInterface(run->fontFace, &IID_IDWriteFontFace1, (void**)&fontface1);
+    if (hr == S_OK) {
+        hr = IDWriteFontFace1_GetRecommendedRenderingMode(fontface1, run->fontEmSize, This->ppdip * 96.0f,
+            This->ppdip * 96.0f, NULL, run->isSideways, DWRITE_OUTLINE_THRESHOLD_ALIASED, measuring_mode,
+            &rendermode);
+        IDWriteFontFace1_Release(fontface1);
+    }
+    else
+        hr = IDWriteFontFace_GetRecommendedRenderingMode(run->fontFace, run->fontEmSize,
+            This->ppdip, measuring_mode, params, &rendermode);
+
     if (FAILED(hr))
         return hr;
 




More information about the wine-cvs mailing list