André Hentschel : uxtheme: Add OpenThemeDataEx.
Alexandre Julliard
julliard at winehq.org
Wed Mar 30 13:15:41 CDT 2011
Module: wine
Branch: master
Commit: 0304a3e998d917be8bcf2ad5680ab500c9b646c4
URL: http://source.winehq.org/git/wine.git/?a=commit;h=0304a3e998d917be8bcf2ad5680ab500c9b646c4
Author: André Hentschel <nerv at dawncrow.de>
Date: Wed Mar 23 19:29:59 2011 +0100
uxtheme: Add OpenThemeDataEx.
---
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..60e55ee 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.61)
*/
-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, %x)\n", hwnd, debugstr_w(pszClassList), flags);
+
+ if(flags)
+ FIXME("unhandled flags: %x\n", flags);
if(bThemeActive)
{
@@ -659,6 +662,14 @@ HTHEME WINAPI OpenThemeData(HWND hwnd, LPCWSTR pszClassList)
}
/***********************************************************************
+ * OpenThemeData (UXTHEME.@)
+ */
+HTHEME WINAPI OpenThemeData(HWND hwnd, LPCWSTR classlist)
+{
+ return OpenThemeDataEx(hwnd, classlist, 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);
More information about the wine-cvs
mailing list