windows-nt/Source/XPSP1/NT/shell/themes/uxtheme/wrapper.h
2020-09-26 16:20:57 +08:00

54 lines
2.3 KiB
C

//---------------------------------------------------------------------------
// Wrapper.h - wrappers for internal-only API's (not private)
// - public and private API's in uxtheme.h, uxthemep.h
//---------------------------------------------------------------------------
#ifndef _WRAPPER_H
#define _WRAPPER_H
//---------------------------------------------------------------------------
#include "parser.h"
//---------------------------------------------------------------------------
//---- bits used in dwFlags of DTTOPTS ----
#define DTT_TEXTCOLOR (1 << 0) // crText has been specified
#define DTT_BORDERCOLOR (1 << 1) // crBorder has been specified
#define DTT_SHADOWCOLOR (1 << 2) // crShadow has been specified
#define DTT_SHADOWTYPE (1 << 3) // iTextShadowType has been specified
#define DTT_SHADOWOFFSET (1 << 4) // ptShadowOffset has been specified
#define DTT_BORDERSIZE (1 << 5) // iBorderSize has been specified
//------------------------------------------------------------------------
typedef struct _DTTOPTS
{
DWORD dwSize; // size of the struct
DWORD dwFlags; // which options have been specified
COLORREF crText; // color to use for text fill
COLORREF crBorder; // color to use for text outline
COLORREF crShadow; // color to use for text shadow
int eTextShadowType; // TST_SINGLE or TST_CONTINUOUS
POINT ptShadowOffset; // where shadow is drawn (relative to text)
int iBorderSize; // border around text
}
DTTOPTS, *PDTTOPTS;
//------------------------------------------------------------------------
THEMEAPI GetThemeBitmap(HTHEME hTheme, HDC hdc, int iPartId, int iStateId,
const RECT *prc, OUT HBITMAP *phBitmap);
THEMEAPI_(HTHEME) OpenNcThemeData(HWND hwnd, LPCWSTR pszClassIdList);
THEMEAPI DrawThemeTextEx(HTHEME hTheme, HDC hdc, int iPartId,
int iStateId, LPCWSTR pszText, int iCharCount, DWORD dwTextFlags,
const RECT *pRect, OPTIONAL const DTTOPTS *pOptions);
THEMEAPI_(HTHEME) OpenThemeDataFromFile(HTHEMEFILE hLoadedThemeFile,
OPTIONAL HWND hwnd, OPTIONAL LPCWSTR pszClassList, BOOL fClient);
THEMEAPI ClearTheme (HANDLE hSection, BOOL fForce = FALSE);
//---------------------------------------------------------------------------
#endif // _WRAPPER_H
//---------------------------------------------------------------------------