38 static const WCHAR szTab[] = {
'T',
'a',
'b',0 };
58 DWORD dwDialogTextureFlags;
62 if (dwDialogTextureFlags == 0)
99 TRACE(
"Failed to get original clipping region\n");
117 else if(hasClip == 1)
129 int iStateId,
const RECT *pRect,
130 const RECT *pClipRect)
133 opts.dwSize =
sizeof(DTBGOPTS);
136 opts.dwFlags |= DTBG_CLIPRECT;
137 opts.rcClip = *pClipRect;
165 if(imageselecttype ==
IST_DPI) {
168 for(
i=4;
i>=0;
i--) {
171 if(reqdpi != 0 && screendpi >= reqdpi) {
180 else if(imageselecttype ==
IST_SIZE) {
183 for(
i=4;
i>=0;
i--) {
186 if (!fileProp)
continue;
206 reqsize.
x =
bmp.bmWidth;
207 reqsize.
y =
bmp.bmHeight/imagecount;
210 reqsize.
x =
bmp.bmWidth/imagecount;
211 reqsize.
y =
bmp.bmHeight;
214 if(reqsize.
x <=
size.x && reqsize.
y <=
size.y) {
247 FIXME(
"Couldn't determine image for part/state %d/%d, invalid theme?\n", iPartId, iStateId);
260 imagenum =
max (
min (imagecount, iStateId), 1) - 1;
263 if(imagecount < 1) imagecount = 1;
286 BOOL hasImageAlpha,
INT* transparent,
292 *transparentcolor =
RGB (255, 0, 255);
303 transparentcolor))) {
305 *transparentcolor =
RGB(255, 0, 255);
319 int iStateId,
RECT *pRect,
320 const DTBGOPTS *pOptions)
336 &bmpSrc, &rcSrc, &hasAlpha);
345 &transparentcolor,
TRUE);
363 DrawStream.
hImage = bmpSrc;
365 DrawStream.
rcSrc = rcSrc;
366 DrawStream.
rcDest = rcDst;
388 int iStateId,
RECT *pRect,
389 const DTBGOPTS *pOptions)
400 FIXME(
"Font glyph\n");
411 int iStateId,
RECT *
prc, THEMESIZE eSize,
420 &bmpSrc, &rcSrc, &hasAlpha);
444 if (dstSize.
x*srcSize.
y < dstSize.
y*srcSize.
x)
446 dstSize.
y =
MulDiv (srcSize.
y, dstSize.
x, srcSize.
x);
451 dstSize.
x =
MulDiv (srcSize.
x, dstSize.
y, srcSize.
y);
458 int truesizestretchmark = 100;
460 if(dstSize.
x < 0 || dstSize.
y < 0) {
465 rcDst.
left += dstSize.
x;
469 rcDst.
top += dstSize.
y;
482 if(dstSize.
x < 0 || dstSize.
y < 0 ||
483 (
MulDiv(srcSize.
x, 100, dstSize.
x) > truesizestretchmark &&
484 MulDiv(srcSize.
y, 100, dstSize.
y) > truesizestretchmark)) {
493 psz->
x =
abs(dstSize.
x);
494 psz->
y =
abs(dstSize.
y);
515 int iStateId,
RECT *pRect,
516 const DTBGOPTS *pOptions)
554 rcDst.
left += (dstSize.
x/2)-(drawSize.
x/2);
558 rcDst.
top += (dstSize.
y/2)-(drawSize.
y/2);
571 DrawStream.
hImage = bmpSrc;
573 DrawStream.
rcSrc = rcSrc;
574 DrawStream.
rcDest = rcDst;
601 int iStateId,
RECT *pRect,
602 const DTBGOPTS *pOptions)
613 ptCorners[0].
x = pRect->
left;
614 ptCorners[0].
y = pRect->
top;
615 ptCorners[1].
x = pRect->
right-1;
616 ptCorners[1].
y = pRect->
top;
617 ptCorners[2].
x = pRect->
right-1;
618 ptCorners[2].
y = pRect->
bottom-1;
619 ptCorners[3].
x = pRect->
left;
620 ptCorners[3].
y = pRect->
bottom-1;
621 ptCorners[4].
x = pRect->
left;
622 ptCorners[4].
y = pRect->
top;
625 if(pOptions->dwFlags & DTBG_OMITBORDER)
648 int iStateId,
RECT *pRect,
649 const DTBGOPTS *pOptions)
654 TRACE(
"(%d,%d,%d)\n", iPartId, iStateId, pOptions->dwFlags);
656 if(pOptions->dwFlags & DTBG_OMITCONTENT)
683 FIXME(
"Gradient implementation not complete\n");
688 vert[0].
x = pRect->
left;
689 vert[0].
y = pRect->
top;
693 vert[0].
Alpha = 0xff00;
700 vert[1].
Alpha = 0xff00;
704 GradientFill(
hdc,vert,2,&gRect,1,filltype==
FT_HORZGRADIENT?GRADIENT_FILL_RECT_H:GRADIENT_FILL_RECT_V);
708 FIXME(
"Radial gradient\n");
712 FIXME(
"Tile image\n");
723 int iStateId,
const RECT *pRect,
724 const DTBGOPTS *pOptions)
741 int iStateId,
const RECT *pRect,
742 const DTBGOPTS *pOptions)
745 const DTBGOPTS defaultOpts = {
sizeof(DTBGOPTS), 0, {0,0,0,0}};
746 const DTBGOPTS *opts;
752 TRACE(
"(%p,%p,%d,%d,%d,%d)\n", hTheme,
hdc, iPartId, iStateId,pRect->
left,pRect->
top);
761 if(!opts) opts = &defaultOpts;
763 if(opts->dwFlags & DTBG_CLIPRECT) {
767 TRACE(
"Failed to get original clipping region\n");
769 IntersectClipRect(
hdc, opts->rcClip.left, opts->rcClip.top, opts->rcClip.right, opts->rcClip.bottom);
778 FIXME(
"Unknown background type\n");
786 RECT rcGlyph = *pRect;
798 if(opts->dwFlags & DTBG_CLIPRECT) {
801 else if(hasClip == 1)
885#define RBInnerSoft RBInnerNormal
886#define RBOuterSoft RBOuterNormal
946 signed char InnerI, OuterI;
947 HPEN InnerPen, OuterPen;
964 spx = spy = epx = epy = 0;
1023 spx = epx + SmallDiam;
1025 spy = epy - SmallDiam;
1032 spx = epx + SmallDiam;
1034 spy = epy + SmallDiam;
1049 epx = spx + SmallDiam;
1051 epy = spy - SmallDiam;
1069 Points[0].
x = spx-add;
1071 Points[1].
x = rc->
left;
1072 Points[1].
y = rc->
top;
1073 Points[2].
x = epx+1;
1074 Points[2].
y = epy-1-add;
1075 Points[3] = Points[2];
1081 Points[0].
x = spx-add;
1083 Points[1].
x = rc->
left;
1085 Points[2].
x = epx+1;
1086 Points[2].
y = epy+1+add;
1087 Points[3] = Points[2];
1096 Points[0].
x = epx-1;
1097 Points[0].
y = epy+1+add;
1098 Points[1].
x = rc->
right-1;
1099 Points[1].
y = rc->
top+add;
1100 Points[2].
x = rc->
right-1;
1102 Points[3].
x = spx+add;
1109 Points[0].
x = epx+1+add;
1110 Points[0].
y = epy+1;
1111 Points[1].
x = rc->
right-1;
1112 Points[1].
y = rc->
top;
1113 Points[2].
x = rc->
right-1;
1114 Points[2].
y = rc->
bottom-1-add;
1116 Points[3].
y = spy-add;
1124 Points[0].
x = epx-1;
1125 Points[0].
y = epy+1;
1126 Points[1].
x = rc->
right-1;
1127 Points[1].
y = rc->
top;
1128 Points[2].
x = rc->
right-1;
1129 Points[2].
y = rc->
bottom-1-add;
1130 Points[3].
x = spx+add;
1131 Points[3].
y = spy-add;
1141 Points[1].
x = rc->
left;
1142 Points[1].
y = rc->
top+add;
1143 Points[2].
x = epx-1-add;
1144 Points[2].
y = epy+1+add;
1145 Points[3] = Points[2];
1154 theme, part,
state);
1157 theme, part,
state);
1170 *contentsRect = *rc;
1195 signed char LTInnerI, LTOuterI;
1196 signed char RBInnerI, RBOuterI;
1197 HPEN LTInnerPen, LTOuterPen;
1198 HPEN RBInnerPen, RBOuterPen;
1199 RECT InnerRect = *rc;
1225 if( LTInnerI != -1 ) LTInnerI = RBInnerI =
EDGE_FILL;
1315 theme, part,
state);
1321 *contentsRect = InnerRect;
1343 int iStateId,
const RECT *pDestRect,
UINT uEdge,
1346 TRACE(
"%d %d 0x%08x 0x%08x\n", iPartId, iStateId, uEdge,
uFlags);
1352 uEdge,
uFlags, pContentRect);
1355 uEdge,
uFlags, pContentRect);
1365 FIXME(
"%d %d: stub\n", iPartId, iStateId);
1385 _In_ int iCharCount,
1398 POINT ptShadowOffset;
1417 ERR(
"Failed to create font\n");
1427 if (optFlags & DTT_TEXTCOLOR)
1434 if (optFlags & DTT_COLORPROP)
1435 textColorProp =
options->iColorPropId;
1447 ERR(
"GetThemeColor failed\n");
1453 ERR(
"GetThemePosition failed\n");
1472 ERR(
"Failed to load comctl32\n");
1476 if (pDrawShadowText)
1478 pDrawShadowText(
hdc, pszText, iCharCount, &rt, dwTextFlags, textColor, shadowColor, ptShadowOffset.
x, ptShadowOffset.
y);
1504 DTTOPTS opts = { 0 };
1507 TRACE(
"(%p %p %d %d %s:%d 0x%08lx 0x%08lx %p)\n", hTheme,
hdc, iPartId, iStateId,
1508 debugstr_wn(pszText, iCharCount), iCharCount, dwTextFlags, dwTextFlags2, pRect);
1510 if (dwTextFlags2 & DTT_GRAYED)
1512 opts.dwFlags = DTT_TEXTCOLOR;
1515 opts.dwSize =
sizeof(opts);
1517 return DrawThemeTextEx(hTheme,
hdc, iPartId, iStateId, pszText, iCharCount, dwTextFlags, &rt, &opts);
1525 const RECT *pBoundingRect,
1531 TRACE(
"(%d,%d)\n", iPartId, iStateId);
1545 *pContentRect = *pBoundingRect;
1552 InflateRect(pContentRect, -bordersize, -bordersize);
1573 int iStateId,
const RECT *pContentRect,
1579 TRACE(
"(%d,%d)\n", iPartId, iStateId);
1593 *pExtentRect = *pContentRect;
1627 memset(&bmi, 0,
sizeof(bmi));
1651#define PT_IN_RECT(lprc,x,y) ( x >= lprc->left && x < lprc->right && \
1652 y >= lprc->top && y < lprc->bottom)
1657 int cMaxRgnRects, cRgnDataSize, cRgnRects;
1660 ULONG clrTransparent, *pclrCurrent;
1664 clrTransparent = *(
PULONG)pclrTransparent;
1668 cMaxRgnRects = 4* (pRect->
bottom-pRect->
top);
1669 cRgnDataSize =
sizeof(
RGNDATA) + cMaxRgnRects *
sizeof(
RECT);
1686 if(*pclrCurrent != clrTransparent &&
PT_IN_RECT(pRect,
x,
y))
1692 if(*pclrCurrent == clrTransparent || !
PT_IN_RECT(pRect,
x,
y))
1704 if(cRgnRects == cMaxRgnRects)
1707 cRgnDataSize =
sizeof(
RGNDATA) + cMaxRgnRects *
sizeof(
RECT);
1712 prcCurrent = (
RECT*)prgnData->
Buffer + cRgnRects;
1745 RGBQUAD clrTransparent = {0xFF,0x0, 0xFF,0x0};
1769 int iStateId,
const RECT *pRect,
1775 TRACE(
"(%p,%p,%d,%d)\n", hTheme,
hdc, iPartId, iStateId);
1778 if(!pRect || !pRegion)
1791 FIXME(
"Unknown background type\n");
1800 int iStateId, THEMESIZE eSize,
POINT* psz)
1808 psz->
x = psz->
y = 2*bordersize;
1809 if (eSize != TS_MIN)
1822 int iStateId,
RECT *
prc, THEMESIZE eSize,
1840 FIXME(
"Unknown background type\n");
1854 int iStateId,
LPCWSTR pszText,
int iCharCount,
1855 DWORD dwTextFlags,
const RECT *pBoundingRect,
1862 RECT rt = {0,0,0xFFFF,0xFFFF};
1864 TRACE(
"%d %d: stub\n", iPartId, iStateId);
1869 rt = *pBoundingRect;
1875 TRACE(
"Failed to create font\n");
1901 TRACE(
"(%p, %p, %d, %d)\n", hTheme,
hdc, iPartId, iStateId);
1909 TRACE(
"Failed to create font\n");
1938 TRACE(
"(%d,%d)\n", iPartId, iStateId);
1951 &bmpSrc, &rcSrc, &hasAlpha)))
1955 &transparentcolor,
FALSE);
static const char * wine_dbgstr_rect(const RECT *prc)
#define UlongToHandle(ul)
static const signed char LTOuterNormal[]
static const signed char LTRBInnerMono[]
static const signed char RBOuterNormal[]
static const signed char LTRBOuterMono[]
static const signed char LTInnerNormal[]
static const signed char RBInnerNormal[]
#define GetProcAddress(x, y)
#define HeapFree(x, y, z)
LPVOID FASTCALL ValidateHandle(HANDLE hObject, UINT uType)
static void cleanup(void)
BOOL WINAPI IsBadReadPtr(IN LPCVOID lp, IN UINT_PTR ucb)
HMODULE WINAPI GetModuleHandleW(LPCWSTR lpModuleName)
HRESULT WINAPI DrawThemeEdge(HTHEME hTheme, HDC hdc, int iPartId, int iStateId, const RECT *pDestRect, UINT uEdge, UINT uFlags, RECT *pContentRect)
static COLORREF get_edge_color(int edgeType, HTHEME theme, int part, int state)
int(WINAPI * DRAWSHADOWTEXT)(HDC hdc, LPCWSTR pszText, UINT cch, RECT *prc, DWORD dwFlags, COLORREF crText, COLORREF crShadow, int ixOffset, int iyOffset)
static HRESULT UXTHEME_DrawBorderRectangle(HTHEME hTheme, HDC hdc, int iPartId, int iStateId, RECT *pRect, const DTBGOPTS *pOptions)
BOOL WINAPI IsThemeDialogTextureEnabled(HWND hwnd)
static HPEN get_edge_pen(int edgeType, HTHEME theme, int part, int state)
static const struct @580 EdgeColorMap[EDGE_NUMCOLORS]
static const signed char LTOuterSoft[]
static HRESULT UXTHEME_DrawGlyph(HTHEME hTheme, HDC hdc, int iPartId, int iStateId, RECT *pRect, const DTBGOPTS *pOptions)
HRESULT UXTHEME_GetImageBackBackgroundRegion(HTHEME hTheme, HDC hdc, int iPartId, int iStateId, LPCRECT pRect, HRGN *pRegion)
HRESULT WINAPI DrawThemeTextEx(_In_ HTHEME hTheme, _In_ HDC hdc, _In_ int iPartId, _In_ int iStateId, _In_ LPCWSTR pszText, _In_ int iCharCount, _In_ DWORD dwTextFlags, _Inout_ LPRECT pRect, _In_ const DTTOPTS *options)
static HRGN UXTHEME_RegionFromDibBits(RGBQUAD *pBuffer, RGBQUAD *pclrTransparent, LPCRECT pRect)
#define PT_IN_RECT(lprc, x, y)
HRESULT WINAPI DrawThemeIcon(HTHEME hTheme, HDC hdc, int iPartId, int iStateId, const RECT *pRect, HIMAGELIST himl, int iImageIndex)
static HRESULT draw_diag_edge(HDC hdc, HTHEME theme, int part, int state, const RECT *rc, UINT uType, UINT uFlags, LPRECT contentsRect)
static const signed char LTRBInnerFlat[]
static const signed char LTRBOuterFlat[]
static HRESULT draw_rect_edge(HDC hdc, HTHEME theme, int part, int state, const RECT *rc, UINT uType, UINT uFlags, LPRECT contentsRect)
HRESULT WINAPI DrawThemeBackground(HTHEME hTheme, HDC hdc, int iPartId, int iStateId, const RECT *pRect, const RECT *pClipRect)
BOOL WINAPI IsThemeBackgroundPartiallyTransparent(HTHEME hTheme, int iPartId, int iStateId)
HRESULT WINAPI GetThemePartSize(HTHEME hTheme, HDC hdc, int iPartId, int iStateId, RECT *prc, THEMESIZE eSize, SIZE *psz)
HRESULT WINAPI GetThemeBackgroundExtent(HTHEME hTheme, HDC hdc, int iPartId, int iStateId, const RECT *pContentRect, RECT *pExtentRect)
static HBITMAP UXTHEME_DrawThemePartToDib(HTHEME hTheme, HDC hdc, int iPartId, int iStateId, LPCRECT pRect)
HRESULT WINAPI GetThemeBackgroundRegion(HTHEME hTheme, HDC hdc, int iPartId, int iStateId, const RECT *pRect, HRGN *pRegion)
static HRESULT get_border_background_size(HTHEME hTheme, int iPartId, int iStateId, THEMESIZE eSize, POINT *psz)
ATOM atDialogThemeEnabled
static HRESULT UXTHEME_DrawImageBackground(HTHEME hTheme, HDC hdc, int iPartId, int iStateId, RECT *pRect, const DTBGOPTS *pOptions)
static HRESULT UXTHEME_DrawBorderBackground(HTHEME hTheme, HDC hdc, int iPartId, int iStateId, const RECT *pRect, const DTBGOPTS *pOptions)
HRESULT WINAPI EnableThemeDialogTexture(HWND hwnd, DWORD dwFlags)
static PTHEME_PROPERTY UXTHEME_SelectImage(HTHEME hTheme, HDC hdc, int iPartId, int iStateId, const RECT *pRect, BOOL glyph)
HRESULT WINAPI DrawThemeText(HTHEME hTheme, HDC hdc, int iPartId, int iStateId, LPCWSTR pszText, int iCharCount, DWORD dwTextFlags, DWORD dwTextFlags2, const RECT *pRect)
HRESULT WINAPI DrawThemeParentBackground(HWND hwnd, HDC hdc, RECT *prc)
static HRESULT get_image_part_size(HTHEME hTheme, HDC hdc, int iPartId, int iStateId, RECT *prc, THEMESIZE eSize, POINT *psz)
static void get_transparency(HTHEME hTheme, int iPartId, int iStateId, BOOL hasImageAlpha, INT *transparent, COLORREF *transparentcolor, BOOL glyph)
HRESULT WINAPI GetThemeTextMetrics(HTHEME hTheme, HDC hdc, int iPartId, int iStateId, TEXTMETRICW *ptm)
HRESULT UXTHEME_LoadImage(HTHEME hTheme, HDC hdc, int iPartId, int iStateId, const RECT *pRect, BOOL glyph, HBITMAP *hBmp, RECT *bmpRect, BOOL *hasImageAlpha)
static HRESULT UXTHEME_DrawImageGlyph(HTHEME hTheme, HDC hdc, int iPartId, int iStateId, RECT *pRect, const DTBGOPTS *pOptions)
HRESULT WINAPI GetThemeTextExtent(HTHEME hTheme, HDC hdc, int iPartId, int iStateId, LPCWSTR pszText, int iCharCount, DWORD dwTextFlags, const RECT *pBoundingRect, RECT *pExtentRect)
static HRESULT UXTHEME_DrawBackgroundFill(HTHEME hTheme, HDC hdc, int iPartId, int iStateId, RECT *pRect, const DTBGOPTS *pOptions)
HRESULT WINAPI GetThemeBackgroundContentRect(HTHEME hTheme, HDC hdc, int iPartId, int iStateId, const RECT *pBoundingRect, RECT *pContentRect)
static HBRUSH get_edge_brush(int edgeType, HTHEME theme, int part, int state)
static const signed char LTInnerSoft[]
HRESULT WINAPI DrawThemeBackgroundEx(HTHEME hTheme, HDC hdc, int iPartId, int iStateId, const RECT *pRect, const DTBGOPTS *pOptions)
HRESULT WINAPI GetThemePosition(HTHEME hTheme, int iPartId, int iStateId, int iPropId, POINT *pPoint)
HRESULT WINAPI GetThemeBool(HTHEME hTheme, int iPartId, int iStateId, int iPropId, BOOL *pfVal)
HRESULT WINAPI GetThemeFont(HTHEME hTheme, HDC hdc, int iPartId, int iStateId, int iPropId, LOGFONTW *pFont)
HRESULT WINAPI GetThemeInt(HTHEME hTheme, int iPartId, int iStateId, int iPropId, int *piVal)
HRESULT WINAPI GetThemeMargins(HTHEME hTheme, HDC hdc, int iPartId, int iStateId, int iPropId, RECT *prc, MARGINS *pMargins)
HRESULT WINAPI GetThemeEnumValue(HTHEME hTheme, int iPartId, int iStateId, int iPropId, int *piVal)
HRESULT WINAPI GetThemeColor(HTHEME hTheme, int iPartId, int iStateId, int iPropId, COLORREF *pColor)
unsigned int(__cdecl typeof(jpeg_read_scanlines))(struct jpeg_decompress_struct *
_In_ uint64_t _In_ uint64_t _In_ uint64_t _In_opt_ traverse_ptr * tp
#define ETDT_USETABTEXTURE
GLint GLint GLint GLint GLint x
GLint GLint GLint GLint GLint GLint y
GLint GLint GLsizei GLsizei height
GLint GLint GLsizei width
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
#define memcpy(s1, s2, n)
static DWORD DWORD void LPSTR DWORD cch
static DWORD *static HFONT(WINAPI *pCreateFontIndirectExA)(const ENUMLOGFONTEXDVA *)
static HTHEME(WINAPI *pOpenThemeDataEx)(HWND
PTHEME_PROPERTY MSSTYLES_FindProperty(PTHEME_CLASS tc, int iPartId, int iStateId, int iPropertyPrimitive, int iPropertyId)
HBITMAP MSSTYLES_LoadBitmap(PTHEME_CLASS tc, LPCWSTR lpFilename, BOOL *hasAlpha)
INT WINAPI MulDiv(INT nNumber, INT nNumerator, INT nDenominator)
INT WINAPI DrawTextW(HDC hdc, LPCWSTR str, INT count, LPRECT rect, UINT flags)
BOOL Polygon(CONST PPOINT UnsafePoints, int Count, int polyFillMode)
BITMAPINFOHEADER bmiHeader
#define DS_TRANSPARENTCLR
BOOL WINAPI GdiDrawStream(HDC dc, ULONG l, PGDI_DRAW_STREAM pDS)
#define DS_TRANSPARENTALPHA
_In_ HFONT _Out_ PUINT _Out_ PUINT Width
_In_ HFONT _Out_ PUINT Height
#define ALPHABLEND_BINARY
HRESULT WINAPI SetWindowTheme(_In_ HWND hwnd, _In_ LPCWSTR pszSubAppName, _In_ LPCWSTR pszSubIdList)
#define E_PROP_ID_UNSUPPORTED
#define TMT_EDGESHADOWCOLOR
#define TMT_GRADIENTCOLOR1
#define TMT_EDGELIGHTCOLOR
#define TMT_GLYPHIMAGEFILE
#define TMT_CONTENTMARGINS
#define TMT_TEXTSHADOWOFFSET
#define TMT_EDGEDKSHADOWCOLOR
#define TMT_EDGEHIGHLIGHTCOLOR
#define TMT_IMAGESELECTTYPE
#define TMT_SIZINGMARGINS
#define TMT_TRUESIZESTRETCHMARK
#define TMT_GRADIENTCOLOR2
#define TMT_TEXTSHADOWCOLOR
#define TMT_TRANSPARENTCOLOR
#define TMT_EDGEFILLCOLOR
#define TMT_GLYPHTRANSPARENT
#define TMT_UNIFORMSIZING
#define TMT_GLYPHTRANSPARENTCOLOR
#define TMT_TEXTSHADOWTYPE
HBITMAP WINAPI CreateDIBSection(HDC hDC, CONST BITMAPINFO *BitmapInfo, UINT Usage, VOID **Bits, HANDLE hSection, DWORD dwOffset)
DWORD WINAPI GetLastError(void)
_In_ PCCERT_CONTEXT _In_ DWORD dwFlags
#define HRESULT_FROM_WIN32(x)
struct _RGNDATA * PRGNDATA
BOOL WINAPI GetTextMetricsW(_In_ HDC, _Out_ LPTEXTMETRICW)
HGDIOBJ WINAPI GetStockObject(_In_ int)
int WINAPI GetObjectW(_In_ HANDLE h, _In_ int c, _Out_writes_bytes_opt_(c) LPVOID pv)
BOOL WINAPI Polyline(_In_ HDC hdc, _In_reads_(cpt) const POINT *apt, _In_ int cpt)
int WINAPI GetDeviceCaps(_In_opt_ HDC, _In_ int)
BOOL WINAPI OffsetViewportOrgEx(_In_ HDC, _In_ int, _In_ int, _Out_opt_ LPPOINT)
HRGN WINAPI CreateRectRgn(_In_ int, _In_ int, _In_ int, _In_ int)
COLORREF WINAPI GetTextColor(_In_ HDC)
int WINAPI IntersectClipRect(_In_ HDC, _In_ int, _In_ int, _In_ int, _In_ int)
HGDIOBJ WINAPI SelectObject(_In_ HDC, _In_ HGDIOBJ)
BOOL WINAPI MoveToEx(_In_ HDC, _In_ int, _In_ int, _Out_opt_ LPPOINT)
BOOL WINAPI SetViewportOrgEx(_In_ HDC, _In_ int, _In_ int, _Out_opt_ LPPOINT)
HDC WINAPI CreateCompatibleDC(_In_opt_ HDC hdc)
int WINAPI GetClipRgn(_In_ HDC, _In_ HRGN)
HRGN WINAPI ExtCreateRegion(_In_opt_ const XFORM *lpx, _In_ DWORD nCount, _In_reads_bytes_(nCount) const RGNDATA *lpData)
int WINAPI FillRect(HDC, LPCRECT, HBRUSH)
HFONT WINAPI CreateFontIndirectW(_In_ const LOGFONTW *)
int WINAPI SetBkMode(_In_ HDC, _In_ int)
COLORREF WINAPI SetTextColor(_In_ HDC, _In_ COLORREF)
HBRUSH WINAPI CreateSolidBrush(_In_ COLORREF)
HPEN WINAPI CreatePen(_In_ int, _In_ int, _In_ COLORREF)
int WINAPI SelectClipRgn(_In_ HDC, _In_opt_ HRGN)
BOOL WINAPI LineTo(_In_ HDC, _In_ int, _In_ int)
DWORD WINAPI GetSysColor(_In_ int)
BOOL WINAPI CopyRect(_Out_ LPRECT, _In_ LPCRECT)
BOOL WINAPI IsWindow(_In_opt_ HWND)
#define COLOR_WINDOWFRAME
#define BF_DIAGONAL_ENDTOPRIGHT
int WINAPI MapWindowPoints(_In_opt_ HWND hWndFrom, _In_opt_ HWND hWndTo, _Inout_updates_(cPoints) LPPOINT lpPoints, _In_ UINT cPoints)
BOOL WINAPI GetClientRect(_In_ HWND, _Out_ LPRECT)
BOOL WINAPI SetPropW(_In_ HWND, _In_ LPCWSTR, _In_opt_ HANDLE)
#define BF_DIAGONAL_ENDBOTTOMLEFT
HWND WINAPI GetParent(_In_ HWND)
HANDLE WINAPI GetPropW(_In_ HWND, _In_ LPCWSTR)
#define BF_DIAGONAL_ENDBOTTOMRIGHT
BOOL WINAPI OffsetRect(_Inout_ LPRECT, _In_ int, _In_ int)
BOOL WINAPI InflateRect(_Inout_ LPRECT, _In_ int, _In_ int)
#define COLOR_BTNHIGHLIGHT
#define BF_DIAGONAL_ENDTOPLEFT
LRESULT WINAPI SendMessageW(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
BOOL WINAPI SetRect(_Out_ LPRECT, _In_ int, _In_ int, _In_ int, _In_ int)