[PATCH 5/6] uxtheme: Support DTT_FONTPROP for DrawThemeTextEx().

Zhiyi Zhang zzhang at codeweavers.com
Mon Feb 22 08:32:56 CST 2021


Signed-off-by: Zhiyi Zhang <zzhang at codeweavers.com>
---
 dlls/uxtheme/draw.c | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/dlls/uxtheme/draw.c b/dlls/uxtheme/draw.c
index 023b2dfd61b..8c3c4ae2218 100644
--- a/dlls/uxtheme/draw.c
+++ b/dlls/uxtheme/draw.c
@@ -1660,6 +1660,7 @@ HRESULT WINAPI DrawThemeTextEx(HTHEME hTheme, HDC hdc, int iPartId, int iStateId
     COLORREF textColor;
     COLORREF oldTextColor;
     int oldBkMode;
+    int fontProp;
 
     TRACE("%p %p %d %d %s:%d 0x%08x %p %p\n", hTheme, hdc, iPartId, iStateId,
         debugstr_wn(pszText, iCharCount), iCharCount, flags, rect, options);
@@ -1667,10 +1668,15 @@ HRESULT WINAPI DrawThemeTextEx(HTHEME hTheme, HDC hdc, int iPartId, int iStateId
     if(!hTheme)
         return E_HANDLE;
 
-    if (options->dwFlags & ~DTT_TEXTCOLOR)
+    if (options->dwFlags & ~(DTT_TEXTCOLOR | DTT_FONTPROP))
         FIXME("unsupported flags 0x%08x\n", options->dwFlags);
-    
-    hr = GetThemeFont(hTheme, hdc, iPartId, iStateId, TMT_FONT, &logfont);
+
+    if (options->dwFlags & DTT_FONTPROP)
+        fontProp = options->iFontPropId;
+    else
+        fontProp = TMT_FONT;
+
+    hr = GetThemeFont(hTheme, hdc, iPartId, iStateId, fontProp, &logfont);
     if(SUCCEEDED(hr)) {
         hFont = CreateFontIndirectW(&logfont);
         if(!hFont)
-- 
2.27.0




More information about the wine-devel mailing list