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;
954 int SmallDiam = Width > Height ? Height : Width;
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);
1388 POINT ptShadowOffset;
1393 TRACE(
"%d %d: stub\n", iPartId, iStateId);
1403 ERR(
"Failed to create font\n");
1413 if(dwTextFlags2 & DTT_GRAYED)
1426 ERR(
"GetThemeColor failed\n");
1432 ERR(
"GetThemePosition failed\n");
1451 ERR(
"Failed to load comctl32\n");
1455 if (pDrawShadowText)
1457 pDrawShadowText(
hdc, pszText, iCharCount, &rt, dwTextFlags, textColor, shadowColor, ptShadowOffset.
x, ptShadowOffset.
y);
1481 const RECT *pBoundingRect,
1487 TRACE(
"(%d,%d)\n", iPartId, iStateId);
1501 *pContentRect = *pBoundingRect;
1508 InflateRect(pContentRect, -bordersize, -bordersize);
1529 int iStateId,
const RECT *pContentRect,
1535 TRACE(
"(%d,%d)\n", iPartId, iStateId);
1549 *pExtentRect = *pContentRect;
1583 memset(&bmi, 0,
sizeof(bmi));
1607 #define PT_IN_RECT(lprc,x,y) ( x >= lprc->left && x < lprc->right && \ 1608 y >= lprc->top && y < lprc->bottom) 1613 int cMaxRgnRects, cRgnDataSize, cRgnRects;
1616 ULONG clrTransparent, *pclrCurrent;
1620 clrTransparent = *(
PULONG)pclrTransparent;
1624 cMaxRgnRects = 4* (pRect->
bottom-pRect->
top);
1625 cRgnDataSize =
sizeof(
RGNDATA) + cMaxRgnRects *
sizeof(
RECT);
1642 if(*pclrCurrent != clrTransparent &&
PT_IN_RECT(pRect,
x,
y))
1648 if(*pclrCurrent == clrTransparent || !
PT_IN_RECT(pRect,
x,
y))
1660 if(cRgnRects == cMaxRgnRects)
1663 cRgnDataSize =
sizeof(
RGNDATA) + cMaxRgnRects *
sizeof(
RECT);
1668 prcCurrent = (
RECT*)prgnData->
Buffer + cRgnRects;
1701 RGBQUAD clrTransparent = {0xFF,0x0, 0xFF,0x0};
1725 int iStateId,
const RECT *pRect,
1731 TRACE(
"(%p,%p,%d,%d)\n", hTheme,
hdc, iPartId, iStateId);
1734 if(!pRect || !pRegion)
1747 FIXME(
"Unknown background type\n");
1756 int iStateId, THEMESIZE eSize,
POINT* psz)
1764 psz->
x = psz->
y = 2*bordersize;
1765 if (eSize != TS_MIN)
1778 int iStateId,
RECT *
prc, THEMESIZE eSize,
1796 FIXME(
"Unknown background type\n");
1810 int iStateId,
LPCWSTR pszText,
int iCharCount,
1811 DWORD dwTextFlags,
const RECT *pBoundingRect,
1818 RECT rt = {0,0,0xFFFF,0xFFFF};
1820 TRACE(
"%d %d: stub\n", iPartId, iStateId);
1825 rt = *pBoundingRect;
1831 TRACE(
"Failed to create font\n");
1857 TRACE(
"(%p, %p, %d, %d)\n", hTheme,
hdc, iPartId, iStateId);
1865 TRACE(
"Failed to create font\n");
1894 TRACE(
"(%d,%d)\n", iPartId, iStateId);
1907 &bmpSrc, &rcSrc, &hasAlpha)))
1911 &transparentcolor,
FALSE);
HGDIOBJ WINAPI GetStockObject(_In_ int)
PTHEME_PROPERTY MSSTYLES_FindProperty(PTHEME_CLASS tc, int iPartId, int iStateId, int iPropertyPrimitive, int iPropertyId)
HRESULT WINAPI GetThemePartSize(HTHEME hTheme, HDC hdc, int iPartId, int iStateId, RECT *prc, THEMESIZE eSize, SIZE *psz)
#define BF_DIAGONAL_ENDTOPLEFT
static HRESULT draw_rect_edge(HDC hdc, HTHEME theme, int part, int state, const RECT *rc, UINT uType, UINT uFlags, LPRECT contentsRect)
HRESULT WINAPI DrawThemeBackgroundEx(HTHEME hTheme, HDC hdc, int iPartId, int iStateId, const RECT *pRect, const DTBGOPTS *pOptions)
#define DS_TRANSPARENTALPHA
GLint GLint GLsizei width
#define TMT_EDGEDKSHADOWCOLOR
#define TMT_GRADIENTCOLOR2
BOOL WINAPI SetViewportOrgEx(_In_ HDC, _In_ int, _In_ int, _Out_opt_ LPPOINT)
BOOL WINAPI InflateRect(_Inout_ LPRECT, _In_ int, _In_ int)
static HRESULT UXTHEME_DrawBorderBackground(HTHEME hTheme, HDC hdc, int iPartId, int iStateId, const RECT *pRect, const DTBGOPTS *pOptions)
HPEN WINAPI CreatePen(_In_ int, _In_ int, _In_ COLORREF)
#define COLOR_WINDOWFRAME
HRESULT WINAPI GetThemeBackgroundRegion(HTHEME hTheme, HDC hdc, int iPartId, int iStateId, const RECT *pRect, HRGN *pRegion)
#define HRESULT_FROM_WIN32(x)
BOOL WINAPI GetTextMetricsW(_In_ HDC, _Out_ LPTEXTMETRICW)
HRESULT UXTHEME_LoadImage(HTHEME hTheme, HDC hdc, int iPartId, int iStateId, const RECT *pRect, BOOL glyph, HBITMAP *hBmp, RECT *bmpRect, BOOL *hasImageAlpha)
BITMAPINFOHEADER bmiHeader
int WINAPI SelectClipRgn(_In_ HDC, _In_opt_ HRGN)
static HRESULT UXTHEME_DrawBackgroundFill(HTHEME hTheme, HDC hdc, int iPartId, int iStateId, RECT *pRect, const DTBGOPTS *pOptions)
int WINAPI MapWindowPoints(_In_opt_ HWND hWndFrom, _In_opt_ HWND hWndTo, _Inout_updates_(cPoints) LPPOINT lpPoints, _In_ UINT cPoints)
BOOL WINAPI OffsetRect(_Inout_ LPRECT, _In_ int, _In_ int)
BOOL WINAPI IsWindow(_In_opt_ HWND)
static HRESULT get_image_part_size(HTHEME hTheme, HDC hdc, int iPartId, int iStateId, RECT *prc, THEMESIZE eSize, POINT *psz)
BOOL Polygon(CONST PPOINT UnsafePoints, int Count, int polyFillMode)
struct _RGNDATA * PRGNDATA
HRESULT WINAPI GetThemeEnumValue(HTHEME hTheme, int iPartId, int iStateId, int iPropId, int *piVal)
#define BF_DIAGONAL_ENDTOPRIGHT
#define ETDT_USETABTEXTURE
static void get_transparency(HTHEME hTheme, int iPartId, int iStateId, BOOL hasImageAlpha, INT *transparent, COLORREF *transparentcolor, BOOL glyph)
HRESULT WINAPI DrawThemeEdge(HTHEME hTheme, HDC hdc, int iPartId, int iStateId, const RECT *pDestRect, UINT uEdge, UINT uFlags, RECT *pContentRect)
HRESULT WINAPI GetThemePosition(HTHEME hTheme, int iPartId, int iStateId, int iPropId, POINT *pPoint)
BOOL WINAPI OffsetViewportOrgEx(_In_ HDC, _In_ int, _In_ int, _Out_opt_ LPPOINT)
#define DS_TRANSPARENTCLR
int WINAPI IntersectClipRect(_In_ HDC, _In_ int, _In_ int, _In_ int, _In_ int)
HGDIOBJ WINAPI SelectObject(_In_ HDC, _In_ HGDIOBJ)
static HTHEME(WINAPI *pOpenThemeDataEx)(HWND
HRESULT WINAPI GetThemeTextExtent(HTHEME hTheme, HDC hdc, int iPartId, int iStateId, LPCWSTR pszText, int iCharCount, DWORD dwTextFlags, const RECT *pBoundingRect, RECT *pExtentRect)
DWORD WINAPI GetLastError(VOID)
BOOL WINAPI DeleteObject(_In_ HGDIOBJ)
#define COLOR_BTNHIGHLIGHT
BOOL WINAPI LineTo(_In_ HDC, _In_ int, _In_ int)
GLint GLint GLint GLint GLint x
HRESULT WINAPI GetThemeBool(HTHEME hTheme, int iPartId, int iStateId, int iPropId, BOOL *pfVal)
#define TMT_TEXTSHADOWOFFSET
HDC WINAPI CreateCompatibleDC(_In_opt_ HDC hdc)
static const signed char LTOuterSoft[]
HRESULT WINAPI GetThemeFont(HTHEME hTheme, HDC hdc, int iPartId, int iStateId, int iPropId, LOGFONTW *pFont)
BOOL WINAPI IsThemeDialogTextureEnabled(HWND hwnd)
#define TMT_UNIFORMSIZING
#define TMT_GLYPHIMAGEFILE
#define TMT_TEXTSHADOWCOLOR
HRESULT WINAPI DrawThemeBackground(HTHEME hTheme, HDC hdc, int iPartId, int iStateId, const RECT *pRect, const RECT *pClipRect)
INT WINAPI FillRect(HDC hDC, CONST RECT *lprc, HBRUSH hbr)
DWORD WINAPI GetSysColor(_In_ int)
static const signed char RBInnerNormal[]
#define ALPHABLEND_BINARY
BOOL WINAPI MoveToEx(_In_ HDC, _In_ int, _In_ int, _Out_opt_ LPPOINT)
BOOL WINAPI IsThemeBackgroundPartiallyTransparent(HTHEME hTheme, int iPartId, int iStateId)
int WINAPI SetBkMode(_In_ HDC, _In_ int)
static HBRUSH get_edge_brush(int edgeType, HTHEME theme, int part, int state)
HRESULT WINAPI DrawThemeIcon(HTHEME hTheme, HDC hdc, int iPartId, int iStateId, const RECT *pRect, HIMAGELIST himl, int iImageIndex)
BOOL WINAPI GdiDrawStream(HDC dc, ULONG l, PGDI_DRAW_STREAM pDS)
#define BF_DIAGONAL_ENDBOTTOMLEFT
#define TMT_CONTENTMARGINS
static const signed char LTRBOuterFlat[]
HRESULT WINAPI SetWindowTheme(_In_ HWND hwnd, _In_ LPCWSTR pszSubAppName, _In_ LPCWSTR pszSubIdList)
#define TMT_EDGELIGHTCOLOR
COLORREF WINAPI GetTextColor(_In_ HDC)
static HRESULT UXTHEME_DrawBorderRectangle(HTHEME hTheme, HDC hdc, int iPartId, int iStateId, RECT *pRect, const DTBGOPTS *pOptions)
static DWORD DWORD void LPSTR DWORD cch
HFONT WINAPI CreateFontIndirectW(_In_ const LOGFONTW *)
static HRESULT UXTHEME_DrawGlyph(HTHEME hTheme, HDC hdc, int iPartId, int iStateId, RECT *pRect, const DTBGOPTS *pOptions)
static HPEN get_edge_pen(int edgeType, HTHEME theme, int part, int state)
HRESULT WINAPI GetThemeTextMetrics(HTHEME hTheme, HDC hdc, int iPartId, int iStateId, TEXTMETRICW *ptm)
_In_ uint64_t _In_ uint64_t _In_ uint64_t _In_opt_ traverse_ptr * tp
HRGN WINAPI CreateRectRgn(_In_ int, _In_ int, _In_ int, _In_ int)
HRESULT WINAPI GetThemeBackgroundExtent(HTHEME hTheme, HDC hdc, int iPartId, int iStateId, const RECT *pContentRect, RECT *pExtentRect)
HRESULT WINAPI DrawThemeParentBackground(HWND hwnd, HDC hdc, RECT *prc)
HBITMAP MSSTYLES_LoadBitmap(PTHEME_CLASS tc, LPCWSTR lpFilename, BOOL *hasAlpha)
#define TMT_EDGEFILLCOLOR
#define E_PROP_ID_UNSUPPORTED
PVOID WINAPI HeapAlloc(HANDLE, DWORD, SIZE_T)
BOOL WINAPI SetPropW(_In_ HWND, _In_ LPCWSTR, _In_opt_ HANDLE)
#define TMT_SIZINGMARGINS
#define UlongToHandle(ul)
#define BF_DIAGONAL_ENDBOTTOMRIGHT
const char * wine_dbgstr_rect(const RECT *rect)
static const struct @549 EdgeColorMap[EDGE_NUMCOLORS]
HRESULT WINAPI EnableThemeDialogTexture(HWND hwnd, DWORD dwFlags)
static HRESULT get_border_background_size(HTHEME hTheme, int iPartId, int iStateId, THEMESIZE eSize, POINT *psz)
static const signed char LTRBOuterMono[]
#define TMT_EDGESHADOWCOLOR
PTHEME_CLASS ValidateHandle(HTHEME hTheme)
static HBITMAP UXTHEME_DrawThemePartToDib(HTHEME hTheme, HDC hdc, int iPartId, int iStateId, LPCRECT pRect)
_In_ PCCERT_CONTEXT _In_ DWORD dwFlags
int WINAPI GetDeviceCaps(_In_opt_ HDC, _In_ int)
static HRESULT draw_diag_edge(HDC hdc, HTHEME theme, int part, int state, const RECT *rc, UINT uType, UINT uFlags, LPRECT contentsRect)
#define memcpy(s1, s2, n)
#define TMT_GRADIENTCOLOR1
HRESULT WINAPI GetThemeColor(HTHEME hTheme, int iPartId, int iStateId, int iPropId, COLORREF *pColor)
#define TMT_TEXTSHADOWTYPE
HRESULT WINAPI GetThemeMargins(HTHEME hTheme, HDC hdc, int iPartId, int iStateId, int iPropId, RECT *prc, MARGINS *pMargins)
#define TMT_TRUESIZESTRETCHMARK
GLint GLint GLsizei GLsizei height
ATOM atDialogThemeEnabled
int(WINAPI * DRAWSHADOWTEXT)(HDC hdc, LPCWSTR pszText, UINT cch, RECT *prc, DWORD dwFlags, COLORREF crText, COLORREF crShadow, int ixOffset, int iyOffset)
static const signed char LTInnerSoft[]
static HRGN UXTHEME_RegionFromDibBits(RGBQUAD *pBuffer, RGBQUAD *pclrTransparent, LPCRECT pRect)
COLORREF WINAPI SetTextColor(_In_ HDC, _In_ COLORREF)
static HRESULT UXTHEME_DrawImageGlyph(HTHEME hTheme, HDC hdc, int iPartId, int iStateId, RECT *pRect, const DTBGOPTS *pOptions)
int WINAPI GetObjectW(_In_ HANDLE h, _In_ int c, _Out_writes_bytes_opt_(c) LPVOID pv)
BOOL WINAPI GetClientRect(_In_ HWND, _Out_ LPRECT)
HWND WINAPI GetParent(_In_ HWND)
HRGN WINAPI ExtCreateRegion(_In_opt_ const XFORM *lpx, _In_ DWORD nCount, _In_reads_bytes_(nCount) const RGNDATA *lpData)
BOOL WINAPI SetRect(_Out_ LPRECT, _In_ int, _In_ int, _In_ int, _In_ int)
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
static const signed char LTRBInnerMono[]
HBITMAP WINAPI CreateDIBSection(HDC hDC, CONST BITMAPINFO *BitmapInfo, UINT Usage, VOID **Bits, HANDLE hSection, DWORD dwOffset)
LRESULT WINAPI SendMessageW(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
BOOL WINAPI IsBadReadPtr(IN LPCVOID lp, IN UINT_PTR ucb)
HBRUSH WINAPI CreateSolidBrush(_In_ COLORREF)
HANDLE WINAPI GetPropW(_In_ HWND, _In_ LPCWSTR)
GLint GLint GLint GLint GLint GLint y
static COLORREF get_edge_color(int edgeType, HTHEME theme, int part, int state)
#define PT_IN_RECT(lprc, x, y)
static DWORD *static HFONT(WINAPI *pCreateFontIndirectExA)(const ENUMLOGFONTEXDVA *)
#define TMT_GLYPHTRANSPARENTCOLOR
HRESULT WINAPI GetThemeBackgroundContentRect(HTHEME hTheme, HDC hdc, int iPartId, int iStateId, const RECT *pBoundingRect, RECT *pContentRect)
#define TMT_TRANSPARENTCOLOR
HRESULT UXTHEME_GetImageBackBackgroundRegion(HTHEME hTheme, HDC hdc, int iPartId, int iStateId, LPCRECT pRect, HRGN *pRegion)
BOOL WINAPI CopyRect(_Out_ LPRECT, _In_ LPCRECT)
BOOL WINAPI Polyline(_In_ HDC hdc, _In_reads_(cpt) const POINT *apt, _In_ int cpt)
#define TMT_GLYPHTRANSPARENT
static const signed char RBOuterNormal[]
HMODULE WINAPI GetModuleHandleW(LPCWSTR lpModuleName)
static const signed char LTOuterNormal[]
char * cleanup(char *str)
#define GetProcAddress(x, y)
int WINAPI GetClipRgn(_In_ HDC, _In_ HRGN)
#define TMT_IMAGESELECTTYPE
static const signed char LTInnerNormal[]
#define HeapFree(x, y, z)
#define TMT_EDGEHIGHLIGHTCOLOR
HRESULT WINAPI GetThemeInt(HTHEME hTheme, int iPartId, int iStateId, int iPropId, int *piVal)
HRESULT WINAPI DrawThemeText(HTHEME hTheme, HDC hdc, int iPartId, int iStateId, LPCWSTR pszText, int iCharCount, DWORD dwTextFlags, DWORD dwTextFlags2, const RECT *pRect)
static HRESULT UXTHEME_DrawImageBackground(HTHEME hTheme, HDC hdc, int iPartId, int iStateId, RECT *pRect, const DTBGOPTS *pOptions)
static PTHEME_PROPERTY UXTHEME_SelectImage(HTHEME hTheme, HDC hdc, int iPartId, int iStateId, const RECT *pRect, BOOL glyph)
static const signed char LTRBInnerFlat[]
INT WINAPI DrawTextW(HDC hdc, LPCWSTR str, INT count, LPRECT rect, UINT flags)
unsigned int(__cdecl typeof(jpeg_read_scanlines))(struct jpeg_decompress_struct *