#ifndef __WINE_UXTHEMEDLL_H
#define __WINE_UXTHEMEDLL_H
-typedef HANDLE HTHEMEFILE;
-
-/**********************************************************************
- * EnumThemeProc
- *
- * Callback function for EnumThemes.
- *
- * RETURNS
- * TRUE to continue enumeration, FALSE to stop
- *
- * PARAMS
- * lpReserved Always 0
- * pszThemeFileName Full path to theme msstyles file
- * pszThemeName Display name for theme
- * pszToolTip Tooltip name for theme
- * lpReserved2 Always 0
- * lpData Value passed through lpData from EnumThemes
- */
-typedef BOOL (CALLBACK *EnumThemeProc)(LPVOID lpReserved, LPCWSTR pszThemeFileName,
- LPCWSTR pszThemeName, LPCWSTR pszToolTip, LPVOID lpReserved2,
- LPVOID lpData);
-
-/**********************************************************************
- * ParseThemeIniFileProc
- *
- * Callback function for ParseThemeIniFile.
- *
- * RETURNS
- * TRUE to continue enumeration, FALSE to stop
- *
- * PARAMS
- * dwType Entry type
- * pszParam1 Use defined by entry type
- * pszParam2 Use defined by entry type
- * pszParam3 Use defined by entry type
- * dwParam Use defined by entry type
- * lpData Value passed through lpData from ParseThemeIniFile
- *
- * NOTES
- * I don't know what the valid entry types are
- */
-typedef BOOL (CALLBACK*ParseThemeIniFileProc)(DWORD dwType, LPWSTR pszParam1,
- LPWSTR pszParam2, LPWSTR pszParam3,
- DWORD dwParam, LPVOID lpData);
-
-/* Structure filled in by EnumThemeColors() and EnumeThemeSizes() with the
- * various strings for a theme color or size. */
-typedef struct tagTHEMENAMES
-{
- WCHAR szName[MAX_PATH+1];
- WCHAR szDisplayName[MAX_PATH+1];
- WCHAR szTooltip[MAX_PATH+1];
-} THEMENAMES, *PTHEMENAMES;
-
-/* Declarations for undocumented functions for use internally */
-DWORD WINAPI QueryThemeServices(void);
-HRESULT WINAPI OpenThemeFile(LPCWSTR pszThemeFileName, LPCWSTR pszColorName,
- LPCWSTR pszSizeName, HTHEMEFILE *hThemeFile,
- DWORD unknown);
-HRESULT WINAPI CloseThemeFile(HTHEMEFILE hThemeFile);
-HRESULT WINAPI ApplyTheme(HTHEMEFILE hThemeFile, char *unknown, HWND hWnd);
-HRESULT WINAPI GetThemeDefaults(LPCWSTR pszThemeFileName, LPWSTR pszColorName,
- DWORD dwColorNameLen, LPWSTR pszSizeName,
- DWORD dwSizeNameLen);
-HRESULT WINAPI EnumThemes(LPCWSTR pszThemePath, EnumThemeProc callback,
- LPVOID lpData);
-HRESULT WINAPI EnumThemeColors(LPWSTR pszThemeFileName, LPWSTR pszSizeName,
- DWORD dwColorNum, PTHEMENAMES pszColorNames);
-HRESULT WINAPI EnumThemeSizes(LPWSTR pszThemeFileName, LPWSTR pszColorName,
- DWORD dwSizeNum, PTHEMENAMES pszColorNames);
-HRESULT WINAPI ParseThemeIniFile(LPCWSTR pszIniFileName, LPWSTR pszUnknown,
- ParseThemeIniFileProc callback, LPVOID lpData);
-
extern void UXTHEME_InitSystem(HINSTANCE hInst);
extern void UXTHEME_LoadTheme(BOOL bLoad);
extern BOOL CALLBACK UXTHEME_broadcast_msg (HWND hWnd, LPARAM msg);