65 lines
3.3 KiB
C
65 lines
3.3 KiB
C
#ifndef NULLOSFT_WINAMP_WINDOWTHEME_HEADER
|
|
#define NULLOSFT_WINAMP_WINDOWTHEME_HEADER
|
|
|
|
#if defined(_MSC_VER) && (_MSC_VER >= 1020)
|
|
#pragma once
|
|
#endif
|
|
|
|
#include <wtypes.h>
|
|
|
|
#define E_WINTHEME_NOTLOADED MAKE_HRESULT(0, FACILITY_ITF, 0x0201) // library not loaded
|
|
#define E_WINTHEME_LOADFAILED MAKE_HRESULT(1, FACILITY_ITF, 0x0202) // library load failed
|
|
#define E_WINTHEME_BADFUNCTION MAKE_HRESULT(1, FACILITY_ITF, 0x0203) // function was not loaded
|
|
|
|
//---------------------------------------------------------------------------
|
|
// NOTE: PartId's and StateId's used in the theme API are defined in the
|
|
// hdr file <tmschema.h> using the TM_PART and TM_STATE macros. For
|
|
// example, "TM_PART(BP, PUSHBUTTON)" defines the PartId "BP_PUSHBUTTON".
|
|
|
|
// UxTheme
|
|
|
|
typedef HANDLE UXTHEME;
|
|
|
|
typedef enum UXTHEMESIZE
|
|
{
|
|
TS_MIN, // minimum size
|
|
TS_TRUE, // size without stretching
|
|
TS_DRAW, // size that theme mgr will use to draw part
|
|
};
|
|
|
|
#ifndef ETDT_ENABLE
|
|
#define ETDT_DISABLE 0x00000001
|
|
#define ETDT_ENABLE 0x00000002
|
|
#define ETDT_USETABTEXTURE 0x00000004
|
|
#define ETDT_USEAEROWIZARDTABTEXTURE 0x00000008
|
|
#define ETDT_ENABLETAB (ETDT_ENABLE | ETDT_USETABTEXTURE)
|
|
#define ETDT_ENABLEAEROWIZARDTAB (ETDT_ENABLE | ETDT_USEAEROWIZARDTABTEXTURE)
|
|
#define ETDT_VALIDBITS (ETDT_DISABLE | ETDT_ENABLE | ETDT_USETABTEXTURE | ETDT_USEAEROWIZARDTABTEXTURE)
|
|
#endif //ETDT_ENABLE
|
|
|
|
HRESULT STDAPICALLTYPE UxTheme_LoadLibrary(void);
|
|
HRESULT STDAPICALLTYPE UxTheme_GetLoadResult(void);
|
|
HRESULT STDAPICALLTYPE UxTheme_IsThemeActive(void);
|
|
|
|
UXTHEME STDAPICALLTYPE UxOpenThemeData(HWND hwnd, LPCWSTR pszClassList);
|
|
HRESULT STDAPICALLTYPE UxCloseThemeData(UXTHEME hTheme);
|
|
HRESULT STDAPICALLTYPE UxDrawThemeBackground(UXTHEME hTheme, HDC hdc, int iPartId, int iStateId,
|
|
const RECT *pRect, OPTIONAL const RECT *pClipRect);
|
|
HRESULT STDAPICALLTYPE UxDrawThemeParentBackground(HWND hwnd, HDC hdc, const RECT *prc);
|
|
HRESULT STDAPICALLTYPE UxDrawThemeParentBackgroundEx(HWND hwnd, HDC hdc, DWORD dwFlags, const RECT *prc);
|
|
HRESULT STDAPICALLTYPE UxDrawThemeText(UXTHEME hTheme, HDC hdc, int iPartId, int iStateId, LPCWSTR pszText,
|
|
int iCharCount, DWORD dwTextFlags, DWORD dwTextFlags2, const RECT *pRect);
|
|
COLORREF STDAPICALLTYPE UxGetThemeSysColor(UXTHEME hTheme, int iColorID);
|
|
HRESULT STDAPICALLTYPE UxGetThemeColor(UXTHEME hTheme, int iPartId, int iStateId, int iPropId, COLORREF *pColor);
|
|
HRESULT STDAPICALLTYPE UxGetThemeInt(UXTHEME hTheme, int iPartId, int iStateId, int iPropId, int *piVal);
|
|
HRESULT STDAPICALLTYPE UxGetThemeMetric(UXTHEME hTheme, HDC hdc, int iPartId, int iStateId, int iPropId, int *piVal);
|
|
HRESULT STDAPICALLTYPE UxGetThemePartSize(UXTHEME hTheme, HDC hdc, int iPartId, int iStateId, LPCRECT prc, UXTHEMESIZE eSize, SIZE *psz);
|
|
HRESULT STDAPICALLTYPE UxGetThemeBackgroundContentRect(UXTHEME hTheme, HDC hdc, int iPartId, int iStateId, LPCRECT pBoundingRect, LPRECT pContentRect);
|
|
HRESULT STDAPICALLTYPE UxSetWindowTheme(HWND hwnd, LPCWSTR pszSubAppName, LPCWSTR pszSubIdList);
|
|
BOOL STDAPICALLTYPE UxIsAppThemed(void);
|
|
BOOL STDAPICALLTYPE UxIsThemeActive(void);
|
|
BOOL STDAPICALLTYPE UxIsThemeBackgroundPartiallyTransparent(UXTHEME hTheme, int iPartId, int iStateId);
|
|
HRESULT STDAPICALLTYPE UxEnableThemeDialogTexture(HWND hwnd, DWORD dwFlags);
|
|
|
|
|
|
#endif //NULLOSFT_WINAMP_WINDOWTHEME_HEADER
|