2 * Internal uxtheme defines & declarations
4 * Copyright (C) 2003 Kevin Koltzau
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 2.1 of the License, or (at your option) any later version.
11 * This library is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with this library; if not, write to the Free Software
18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
21 #ifndef __WINE_UXTHEMEDLL_H
22 #define __WINE_UXTHEMEDLL_H
24 typedef HANDLE HTHEMEFILE
;
26 /**********************************************************************
29 * Callback function for EnumThemes.
32 * TRUE to continue enumeration, FALSE to stop
36 * pszThemeFileName Full path to theme msstyles file
37 * pszThemeName Display name for theme
38 * pszToolTip Tooltip name for theme
39 * lpReserved2 Always 0
40 * lpData Value passed through lpData from EnumThemes
42 typedef BOOL (CALLBACK
*EnumThemeProc
)(LPVOID lpReserved
, LPCWSTR pszThemeFileName
,
43 LPCWSTR pszThemeName
, LPCWSTR pszToolTip
, LPVOID lpReserved2
,
46 /**********************************************************************
47 * ParseThemeIniFileProc
49 * Callback function for ParseThemeIniFile.
52 * TRUE to continue enumeration, FALSE to stop
56 * pszParam1 Use defined by entry type
57 * pszParam2 Use defined by entry type
58 * pszParam3 Use defined by entry type
59 * dwParam Use defined by entry type
60 * lpData Value passed through lpData from ParseThemeIniFile
63 * I don't know what the valid entry types are
65 typedef BOOL (CALLBACK
*ParseThemeIniFileProc
)(DWORD dwType
, LPWSTR pszParam1
,
66 LPWSTR pszParam2
, LPWSTR pszParam3
,
67 DWORD dwParam
, LPVOID lpData
);
69 /* Declarations for undocumented functions for use internally */
70 DWORD WINAPI
QueryThemeServices(void);
71 HRESULT WINAPI
OpenThemeFile(LPCWSTR pszThemeFileName
, LPCWSTR pszColorName
,
72 LPCWSTR pszSizeName
, HTHEMEFILE
*hThemeFile
,
74 HRESULT WINAPI
CloseThemeFile(HTHEMEFILE hThemeFile
);
75 HRESULT WINAPI
ApplyTheme(HTHEMEFILE hThemeFile
, char *unknown
, HWND hWnd
);
76 HRESULT WINAPI
GetThemeDefaults(LPCWSTR pszThemeFileName
, LPWSTR pszColorName
,
77 DWORD dwColorNameLen
, LPWSTR pszSizeName
,
79 HRESULT WINAPI
EnumThemes(LPCWSTR pszThemePath
, EnumThemeProc callback
,
81 HRESULT WINAPI
EnumThemeColors(LPWSTR pszThemeFileName
, LPWSTR pszSizeName
,
82 DWORD dwColorNum
, LPWSTR pszColorName
);
83 HRESULT WINAPI
EnumThemeSizes(LPWSTR pszThemeFileName
, LPWSTR pszColorName
,
84 DWORD dwSizeNum
, LPWSTR pszSizeName
);
85 HRESULT WINAPI
ParseThemeIniFile(LPCWSTR pszIniFileName
, LPWSTR pszUnknown
,
86 ParseThemeIniFileProc callback
, LPVOID lpData
);
88 extern void UXTHEME_InitSystem(HINSTANCE hInst
);