111 margin = (
tm.tmInternalLeading ?
tm.tmInternalLeading : 2);
129 TRACE(
" textHeight=%d+%d, final height=%d\n",
tm.tmHeight,
tm.tmInternalLeading,
height);
144 TS_DRAW, &gripperSize)))
227 TRACE(
"item %d\n", itemID);
342 part = &infoPtr->
parts[
i];
345 r->bottom =
rect.bottom;
351 r->right =
rect.right;
415 TRACE(
"%d\n", nPart);
417 if ((nPart < -1) || (nPart >= infoPtr->
numParts))
432 TRACE(
"(%d)\n", num_parts);
438 for (
i = 0;
i < num_parts;
i++) {
449 TRACE(
"part %d\n", nPart);
450 if(nPart >= infoPtr->
numParts || nPart < 0)
466 TRACE(
"part %d\n", nPart);
469 if (nPart < 0 || nPart >= infoPtr->
numParts)
return 0;
472 part = &infoPtr->
part0;
474 part = &infoPtr->
parts[nPart];
495 TRACE(
"part %d\n", nPart);
496 if (nPart < 0 || nPart >= infoPtr->
numParts)
return 0;
499 part = &infoPtr->
part0;
501 part = &infoPtr->
parts[nPart];
521 TRACE(
"part %d\n", nPart);
524 if (nPart < 0 || nPart >= infoPtr->
numParts)
return 0;
527 part = &infoPtr->
part0;
529 part = &infoPtr->
parts[nPart];
590 oldBkColor = infoPtr->
clrBk;
594 TRACE(
"CREF: %08x -> %08x\n", oldBkColor, infoPtr->
clrBk);
602 if ((nPart < -1) || (nPart >= infoPtr->
numParts))
605 TRACE(
"setting part %d\n", nPart);
630 if (ysize & 1) ysize--;
650 if (oldNumParts > infoPtr->
numParts) {
651 for (
i = infoPtr->
numParts ;
i < oldNumParts;
i++) {
655 }
else if (oldNumParts < infoPtr->numParts) {
657 if (!tmp)
return FALSE;
658 for (
i = 0;
i < oldNumParts;
i++) {
662 infoPtr->
parts = tmp;
664 if (oldNumParts == infoPtr->
numParts) {
665 for (
i=0;
i < oldNumParts;
i++)
686 if (nTipCount < infoPtr->numParts) {
689 TRACE(
"add tool %d\n",
i);
695 else if (nTipCount > infoPtr->
numParts) {
697 for (
i = nTipCount - 1;
i >= infoPtr->
numParts;
i--) {
698 TRACE(
"delete tool %d\n",
i);
727 if (nPart == 0x00ff) {
728 part = &infoPtr->
part0;
730 if (infoPtr->
parts && nPart >= 0 && nPart < infoPtr->numParts) {
731 part = &infoPtr->
parts[nPart];
734 if (!part)
return FALSE;
739 oldStyle = part->
style;
753 if (!ntext)
return FALSE;
757 if (!ntext)
return FALSE;
778 if (!changed && !part->
text)
834 TRACE(
"(0x%x)\n", bUnicode);
846 TRACE(
"(simple=%d)\n", simple);
847 if (infoPtr->
simple == simple)
896 NONCLIENTMETRICSW nclm;
903 if (!infoPtr)
goto create_fail;
922 nclm.cbSize =
sizeof(nclm);
937 if (!infoPtr->
parts)
goto create_fail;
949 if (!infoPtr->
parts[0].
text)
goto create_fail;
955 dwStyle &= ~WS_BORDER;
1080 part = &infoPtr->
parts[0];
1107 WARN(
"flags MUST be SIZE_RESTORED or SIZE_MAXIMIZED\n");
1118 x = parent_rect.
left;
1290 case WM_NOTIFYFORMAT:
1317 case WM_THEMECHANGED:
1322 ERR(
"unknown msg %04x wp=%04lx lp=%08lx\n",
std::map< E_STRING, PART_TEST > parts
static const char * wine_dbgstr_rect(const RECT *prc)
#define WINE_DEFAULT_DEBUG_CHANNEL(t)
PVOID Alloc(IN DWORD dwFlags, IN SIZE_T dwBytes)
BOOL COMCTL32_IsReflectedMessage(UINT uMsg) DECLSPEC_HIDDEN
void COMCTL32_GetFontMetrics(HFONT hFont, TEXTMETRICW *ptm) DECLSPEC_HIDDEN
VOID COMCTL32_RefreshSysColors(void) DECLSPEC_HIDDEN
void WINAPI DrawStatusTextW(HDC hdc, LPCRECT lprc, LPCWSTR text, UINT style)
static LRESULT STATUSBAR_SendMouseNotify(const STATUS_INFO *infoPtr, UINT code, UINT msg, WPARAM wParam, LPARAM lParam)
static LRESULT STATUSBAR_SetUnicodeFormat(STATUS_INFO *infoPtr, BOOL bUnicode)
static LRESULT STATUSBAR_GetTipTextW(const STATUS_INFO *infoPtr, INT id, LPWSTR tip, INT size)
static BOOL STATUSBAR_SetMinHeight(STATUS_INFO *infoPtr, INT height)
static LRESULT theme_changed(const STATUS_INFO *infoPtr)
static LRESULT STATUSBAR_WMPaint(STATUS_INFO *infoPtr, HDC hdc)
static LRESULT STATUSBAR_WMCreate(HWND hwnd, const CREATESTRUCTA *lpCreate)
static INT STATUSBAR_GetParts(const STATUS_INFO *infoPtr, INT num_parts, INT parts[])
static UINT STATUSBAR_ComputeHeight(STATUS_INFO *infoPtr)
static COLORREF STATUSBAR_SetBkColor(STATUS_INFO *infoPtr, COLORREF color)
static LRESULT STATUSBAR_Refresh(STATUS_INFO *infoPtr, HDC hdc)
static BOOL STATUSBAR_WMSetText(const STATUS_INFO *infoPtr, LPCSTR text)
static BOOL STATUSBAR_WMSize(STATUS_INFO *infoPtr, WORD flags)
static LRESULT STATUSBAR_GetTextW(STATUS_INFO *infoPtr, INT nPart, LPWSTR buf)
static BOOL STATUSBAR_Simple(STATUS_INFO *infoPtr, BOOL simple)
static LRESULT STATUSBAR_Relay2Tip(const STATUS_INFO *infoPtr, UINT uMsg, WPARAM wParam, LPARAM lParam)
static int STATUSBAR_InternalHitTest(const STATUS_INFO *infoPtr, const POINT *pt)
static void STATUSBAR_SetPartBounds(STATUS_INFO *infoPtr)
static INT STATUSBAR_WMGetText(const STATUS_INFO *infoPtr, INT size, LPWSTR buf)
static BOOL STATUSBAR_SetTextT(STATUS_INFO *infoPtr, INT nPart, WORD style, LPWSTR text, BOOL isW)
static LRESULT STATUSBAR_GetTipTextA(const STATUS_INFO *infoPtr, INT id, LPSTR tip, INT size)
static BOOL STATUSBAR_GetRect(const STATUS_INFO *infoPtr, INT nPart, LPRECT rect)
static BOOL STATUSBAR_SetParts(STATUS_INFO *infoPtr, INT count, LPINT parts)
static LRESULT STATUSBAR_SetTipTextW(const STATUS_INFO *infoPtr, INT id, LPWSTR text)
static void STATUSBAR_RefreshPart(const STATUS_INFO *infoPtr, HDC hdc, const STATUSWINDOWPART *part, int itemID)
static LRESULT STATUSBAR_SetTipTextA(const STATUS_INFO *infoPtr, INT id, LPSTR text)
static LRESULT STATUSBAR_WMDestroy(STATUS_INFO *infoPtr)
static const WCHAR themeClass[]
static void STATUSBAR_DrawSizeGrip(HTHEME theme, HDC hdc, LPRECT lpRect)
static HICON STATUSBAR_GetIcon(const STATUS_INFO *infoPtr, INT nPart)
static LRESULT STATUSBAR_GetTextLength(STATUS_INFO *infoPtr, INT nPart)
static BOOL STATUSBAR_GetBorders(const STATUS_INFO *infoPtr, INT out[])
static BOOL STATUSBAR_WMNCHitTest(const STATUS_INFO *infoPtr, INT x, INT y)
void STATUS_Register(void)
static void STATUSBAR_DrawPart(const STATUS_INFO *infoPtr, HDC hdc, const STATUSWINDOWPART *part, int itemID)
static LRESULT STATUSBAR_GetTextA(STATUS_INFO *infoPtr, INT nPart, LPSTR buf)
static LRESULT STATUSBAR_WMSetFont(STATUS_INFO *infoPtr, HFONT font, BOOL redraw)
static BOOL STATUSBAR_SetIcon(STATUS_INFO *infoPtr, INT nPart, HICON hIcon)
void STATUS_Unregister(void)
static LRESULT WINAPI StatusWindowProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
static BOOL STATUSBAR_SetBorders(STATUS_INFO *infoPtr, const INT in[])
static LRESULT STATUSBAR_NotifyFormat(STATUS_INFO *infoPtr, HWND from, INT cmd)
#define WideCharToMultiByte
#define MultiByteToWideChar
int WINAPI lstrcmpW(LPCWSTR str1, LPCWSTR str2)
HRESULT WINAPI DrawThemeBackground(HTHEME hTheme, HDC hdc, int iPartId, int iStateId, const RECT *pRect, const RECT *pClipRect)
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)
HRESULT WINAPI DrawThemeText(HTHEME hTheme, HDC hdc, int iPartId, int iStateId, LPCWSTR pszText, int iCharCount, DWORD dwTextFlags, DWORD dwTextFlags2, const RECT *pRect)
HTHEME WINAPI OpenThemeData(HWND hwnd, LPCWSTR classlist)
HTHEME WINAPI GetWindowTheme(HWND hwnd)
HRESULT WINAPI CloseThemeData(HTHEME hTheme)
unsigned short(__cdecl typeof(TIFFCurrentDirectory))(struct tiff *)
GLint GLint GLsizei GLsizei GLsizei GLint border
GLint GLint GLint GLint GLint x
GLuint GLuint GLsizei count
GLint GLint GLint GLint GLint GLint y
GLint GLint GLsizei GLsizei height
GLdouble GLdouble GLdouble r
GLint GLint GLsizei width
GLenum GLuint GLenum GLsizei const GLchar * buf
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 *static HFONT(WINAPI *pCreateFontIndirectExA)(const ENUMLOGFONTEXDVA *)
static HTHEME(WINAPI *pOpenThemeDataEx)(HWND
_Out_opt_ int _Out_opt_ int * cy
#define SB_GETTEXTLENGTHA
struct tagTOOLINFOW TTTOOLINFOW
#define NM_TOOLTIPSCREATED
#define SB_GETTEXTLENGTHW
#define SB_SETUNICODEFORMAT
#define TTM_UPDATETIPTEXTA
#define TTM_UPDATETIPTEXTW
#define SBN_SIMPLEMODECHANGE
#define SB_GETUNICODEFORMAT
struct tagTOOLINFOA TTTOOLINFOA
void redraw(int x, int y, int cx, int cy)
TW_UINT32 TW_UINT16 TW_UINT16 MSG
wchar_t tm const _CrtWcstime_Writes_and_advances_ptr_ count wchar_t ** out
BOOL WINAPI RectVisible(_In_ HDC, _In_ LPCRECT)
HGDIOBJ WINAPI SelectObject(_In_ HDC, _In_ HGDIOBJ)
int WINAPI FillRect(HDC, LPCRECT, HBRUSH)
HFONT WINAPI CreateFontIndirectW(_In_ const LOGFONTW *)
HBRUSH WINAPI CreateSolidBrush(_In_ COLORREF)
int WINAPI ReleaseDC(_In_opt_ HWND, _In_ HDC)
#define GetWindowLongPtrW
DWORD WINAPI GetMessagePos(void)
LRESULT WINAPI DefWindowProcW(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
BOOL WINAPI PostMessageW(_In_opt_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
BOOL WINAPI DrawFrameControl(_In_ HDC, _Inout_ LPRECT, _In_ UINT, _In_ UINT)
HBRUSH WINAPI GetSysColorBrush(_In_ int)
LONG WINAPI SetWindowLongW(_In_ HWND, _In_ int, _In_ LONG)
LONG WINAPI GetWindowLongW(_In_ HWND, _In_ int)
ATOM WINAPI RegisterClassW(_In_ CONST WNDCLASSW *)
#define DFCS_SCROLLSIZEGRIP
LRESULT WINAPI SendMessageA(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
#define WM_SYSCOLORCHANGE
HCURSOR WINAPI LoadCursorW(_In_opt_ HINSTANCE, _In_ LPCWSTR)
BOOL WINAPI GetClientRect(_In_ HWND, _Out_ LPRECT)
BOOL WINAPI DrawEdge(_In_ HDC, _Inout_ LPRECT, _In_ UINT, _In_ UINT)
HWND WINAPI CreateWindowExW(_In_ DWORD dwExStyle, _In_opt_ LPCWSTR lpClassName, _In_opt_ LPCWSTR lpWindowName, _In_ DWORD dwStyle, _In_ int X, _In_ int Y, _In_ int nWidth, _In_ int nHeight, _In_opt_ HWND hWndParent, _In_opt_ HMENU hMenu, _In_opt_ HINSTANCE hInstance, _In_opt_ LPVOID lpParam)
BOOL WINAPI EndPaint(_In_ HWND, _In_ const PAINTSTRUCT *)
BOOL WINAPI DrawIconEx(_In_ HDC, _In_ int, _In_ int, _In_ HICON, _In_ int, _In_ int, _In_ UINT, _In_opt_ HBRUSH, _In_ UINT)
BOOL WINAPI UpdateWindow(_In_ HWND)
HDC WINAPI GetDC(_In_opt_ HWND)
LONG WINAPI GetMessageTime(void)
BOOL WINAPI SystemParametersInfoW(_In_ UINT uiAction, _In_ UINT uiParam, _Inout_opt_ PVOID pvParam, _In_ UINT fWinIni)
BOOL WINAPI UnregisterClassW(_In_ LPCWSTR, HINSTANCE)
BOOL WINAPI InvalidateRect(_In_opt_ HWND, _In_opt_ LPCRECT, _In_ BOOL)
HDC WINAPI BeginPaint(_In_ HWND, _Out_ LPPAINTSTRUCT)
#define SetWindowLongPtrW
BOOL WINAPI IsWindowVisible(_In_ HWND)
BOOL WINAPI DestroyWindow(_In_ HWND)
int WINAPI GetSystemMetrics(_In_ int)
BOOL WINAPI MoveWindow(_In_ HWND, _In_ int, _In_ int, _In_ int, _In_ int, _In_ BOOL)
LRESULT WINAPI SendMessageW(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
BOOL WINAPI SetRect(_Out_ LPRECT, _In_ int, _In_ int, _In_ int, _In_ int)
BOOL WINAPI ScreenToClient(_In_ HWND, _Inout_ LPPOINT)
_In_opt_ PALLOCATE_FUNCTION _In_opt_ PFREE_FUNCTION Free