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