From 446d70706499fb59f04186f81376dc8eab9d2ca9 Mon Sep 17 00:00:00 2001 From: Nusi Date: Tue, 1 Aug 2017 21:21:19 +0200 Subject: [PATCH] Get access to DrawThemeBackgroundEx API from wxUxThemeEngine (wxMSW) --- include/wx/msw/uxtheme.h | 2 ++ src/msw/uxtheme.cpp | 1 + 2 files changed, 3 insertions(+) diff --git a/include/wx/msw/uxtheme.h b/include/wx/msw/uxtheme.h index d58fa74dbc..394dd4d975 100644 --- a/include/wx/msw/uxtheme.h +++ b/include/wx/msw/uxtheme.h @@ -108,6 +108,7 @@ typedef struct _DTTOPTS typedef HTHEME (__stdcall *PFNWXUOPENTHEMEDATA)(HWND, const wchar_t *); typedef HRESULT (__stdcall *PFNWXUCLOSETHEMEDATA)(HTHEME); typedef HRESULT (__stdcall *PFNWXUDRAWTHEMEBACKGROUND)(HTHEME, HDC, int, int, const RECT *, const RECT *); +typedef HRESULT (__stdcall *PFNWXUDRAWTHEMEBACKGROUNDEX)(HTHEME, HDC, int, int, const RECT *, const DTBGOPTS *); typedef HRESULT (__stdcall *PFNWXUDRAWTHEMETEXT)(HTHEME, HDC, int, int, const wchar_t *, int, DWORD, DWORD, const RECT *); typedef HRESULT (__stdcall *PFNWXUDRAWTHEMETEXTEX)(HTHEME, HDC, int, int, const wchar_t *, int, DWORD, RECT *, const DTTOPTS *); typedef HRESULT (__stdcall *PFNWXUGETTHEMEBACKGROUNDCONTENTRECT)(HTHEME, HDC, int, int, const RECT *, RECT *); @@ -182,6 +183,7 @@ public: wxUX_THEME_DECLARE(PFNWXUOPENTHEMEDATA, OpenThemeData) wxUX_THEME_DECLARE(PFNWXUCLOSETHEMEDATA, CloseThemeData) wxUX_THEME_DECLARE(PFNWXUDRAWTHEMEBACKGROUND, DrawThemeBackground) + wxUX_THEME_DECLARE(PFNWXUDRAWTHEMEBACKGROUNDEX, DrawThemeBackgroundEx) wxUX_THEME_DECLARE(PFNWXUDRAWTHEMETEXT, DrawThemeText) wxUX_THEME_DECLARE(PFNWXUDRAWTHEMETEXTEX, DrawThemeTextEx) wxUX_THEME_DECLARE(PFNWXUGETTHEMEBACKGROUNDCONTENTRECT, GetThemeBackgroundContentRect) diff --git a/src/msw/uxtheme.cpp b/src/msw/uxtheme.cpp index 598731b2c8..d488aeba4d 100644 --- a/src/msw/uxtheme.cpp +++ b/src/msw/uxtheme.cpp @@ -126,6 +126,7 @@ bool wxUxThemeEngine::Initialize() RESOLVE_UXTHEME_FUNCTION(PFNWXUOPENTHEMEDATA, OpenThemeData); RESOLVE_UXTHEME_FUNCTION(PFNWXUCLOSETHEMEDATA, CloseThemeData); RESOLVE_UXTHEME_FUNCTION(PFNWXUDRAWTHEMEBACKGROUND, DrawThemeBackground); + RESOLVE_UXTHEME_FUNCTION(PFNWXUDRAWTHEMEBACKGROUNDEX, DrawThemeBackgroundEx); RESOLVE_UXTHEME_FUNCTION(PFNWXUDRAWTHEMETEXT, DrawThemeText); // This function is not available under XP, so don't fail if it can't be // resolved, we'll check before using it.