[1/2] uxtheme: Add OpenThemeDataEx
André Hentschel
nerv at dawncrow.de
Mon Mar 21 14:08:39 CDT 2011
For http://bugs.winehq.org/show_bug.cgi?id=26501
---
dlls/uxtheme/system.c | 17 ++++++++++++++---
dlls/uxtheme/uxtheme.spec | 2 +-
include/uxtheme.h | 5 +++++
3 files changed, 20 insertions(+), 4 deletions(-)
diff --git a/dlls/uxtheme/system.c b/dlls/uxtheme/system.c
index b84e978..1d3a0cb 100644
--- a/dlls/uxtheme/system.c
+++ b/dlls/uxtheme/system.c
@@ -630,16 +630,19 @@ static LPWSTR UXTHEME_GetWindowProperty(HWND hwnd, ATOM aProp, LPWSTR pszBuffer,
}
/***********************************************************************
- * OpenThemeData (UXTHEME.@)
+ * OpenThemeDataEx (UXTHEME.@)
*/
-HTHEME WINAPI OpenThemeData(HWND hwnd, LPCWSTR pszClassList)
+HTHEME WINAPI OpenThemeDataEx(HWND hwnd, LPCWSTR pszClassList, DWORD Flags)
{
WCHAR szAppBuff[256];
WCHAR szClassBuff[256];
LPCWSTR pszAppName;
LPCWSTR pszUseClassList;
HTHEME hTheme = NULL;
- TRACE("(%p,%s)\n", hwnd, debugstr_w(pszClassList));
+ TRACE("(%p,%s, %u)\n", hwnd, debugstr_w(pszClassList), Flags);
+
+ if(Flags)
+ FIXME("unhandled Flags: %u\n", Flags);
if(bThemeActive)
{
@@ -659,6 +662,14 @@ HTHEME WINAPI OpenThemeData(HWND hwnd, LPCWSTR pszClassList)
}
/***********************************************************************
+ * OpenThemeData (UXTHEME.@)
+ */
+HTHEME WINAPI OpenThemeData(HWND hwnd, LPCWSTR pszClassList)
+{
+ return OpenThemeDataEx(hwnd, pszClassList, 0);
+}
+
+/***********************************************************************
* GetWindowTheme (UXTHEME.@)
*
* Retrieve the last theme opened for a window.
diff --git a/dlls/uxtheme/uxtheme.spec b/dlls/uxtheme/uxtheme.spec
index f44aa6e..198957a 100644
--- a/dlls/uxtheme/uxtheme.spec
+++ b/dlls/uxtheme/uxtheme.spec
@@ -38,7 +38,7 @@
46 stub -noname ClassicAdjustWindowRectEx
48 stub -noname GetThemeParseErrorInfo
60 stub -noname CreateThemeDataFromObjects
-61 stub -noname OpenThemeDataEx
+61 stdcall OpenThemeDataEx(ptr wstr long)
62 stub -noname ServerClearStockObjects
63 stub -noname MarkSelection
diff --git a/include/uxtheme.h b/include/uxtheme.h
index ef369dc..8e65f56 100644
--- a/include/uxtheme.h
+++ b/include/uxtheme.h
@@ -160,6 +160,10 @@ HTHEME WINAPI GetWindowTheme(HWND);
#define HTTB_SIZINGTEMPLATE 0x0100
#define HTTB_SYSTEMSIZINGMARGINS 0x0200
+#define OTD_FORCE_RECT_SIZING 0x0001
+#define OTD_NONCLIENT 0x0002
+#define OTD_VALIDBITS (OTD_FORCE_RECT_SIZING | OTD_NONCLIENT)
+
HRESULT WINAPI HitTestThemeBackground(HTHEME,HDC,int,int,DWORD,const RECT*,
HRGN,POINT,WORD*);
BOOL WINAPI IsAppThemed(void);
@@ -168,6 +172,7 @@ BOOL WINAPI IsThemeBackgroundPartiallyTransparent(HTHEME,int,int);
BOOL WINAPI IsThemeDialogTextureEnabled(HWND);
BOOL WINAPI IsThemePartDefined(HTHEME,int,int);
HTHEME WINAPI OpenThemeData(HWND,LPCWSTR);
+HTHEME WINAPI OpenThemeDataEx(HWND,LPCWSTR,DWORD);
void WINAPI SetThemeAppProperties(DWORD);
HRESULT WINAPI SetWindowTheme(HWND,LPCWSTR,LPCWSTR);
--
Best Regards, André Hentschel
More information about the wine-patches
mailing list