[PATCH 2/2] dwrite: Use aliased outline threshold for GDI target
Nikolay Sivov
nsivov at codeweavers.com
Thu Aug 13 10:56:38 CDT 2015
---
-------------- next part --------------
From 874fb9e82151c833620f864ed69f27e013f76dc9 Mon Sep 17 00:00:00 2001
From: Nikolay Sivov <nsivov at codeweavers.com>
Date: Thu, 13 Aug 2015 18:54:10 +0300
Subject: [PATCH 2/2] 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;
--
2.1.4
More information about the wine-patches
mailing list