From 88b64d486d865679ace4eb942df2855ce71310a5 Mon Sep 17 00:00:00 2001 From: Igor Tarasov Date: Mon, 30 Mar 2009 21:05:40 +0500 Subject: [PATCH] comctl32: CCS_VERT flips toolbar separators orientation. --- dlls/comctl32/toolbar.c | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/dlls/comctl32/toolbar.c b/dlls/comctl32/toolbar.c index 5ef701d5f23..92a13668c6f 100644 --- a/dlls/comctl32/toolbar.c +++ b/dlls/comctl32/toolbar.c @@ -492,9 +492,9 @@ TOOLBAR_DrawFlatSeparator (const RECT *lpRect, HDC hdc, const TOOLBAR_INFO *info /*********************************************************************** -* TOOLBAR_DrawDDFlatSeparator +* TOOLBAR_DrawFlatHorizontalSeparator * -* This function draws the separator that was flagged as BTNS_DROPDOWN. +* This function draws horizontal separator for toolbars having CCS_VERT style. * In this case, the separator is a pixel high line of COLOR_BTNSHADOW, * followed by a pixel high line of COLOR_BTNHIGHLIGHT. These separators * are horizontal as opposed to the vertical separators for not dropdown @@ -503,7 +503,7 @@ TOOLBAR_DrawFlatSeparator (const RECT *lpRect, HDC hdc, const TOOLBAR_INFO *info * FIXME: It is possible that the height of each line is really SM_CYBORDER. */ static void -TOOLBAR_DrawDDFlatSeparator (const RECT *lpRect, HDC hdc, +TOOLBAR_DrawFlatHorizontalSeparator (const RECT *lpRect, HDC hdc, const TOOLBAR_INFO *infoPtr) { RECT myrect; @@ -855,8 +855,8 @@ TOOLBAR_DrawButton (HWND hwnd, TBUTTON_INFO *btnPtr, HDC hdc, DWORD dwBaseCustDr /* empirical tests show that iBitmap can/will be non-zero */ /* when drawing the vertical bar... */ if ((dwStyle & TBSTYLE_FLAT) /* && (btnPtr->iBitmap == 0) */) { - if (btnPtr->fsStyle & BTNS_DROPDOWN) - TOOLBAR_DrawDDFlatSeparator (&rc, hdc, infoPtr); + if (dwStyle & CCS_VERT) + TOOLBAR_DrawFlatHorizontalSeparator (&rc, hdc, infoPtr); else TOOLBAR_DrawFlatSeparator (&rc, hdc, infoPtr); } @@ -1330,10 +1330,9 @@ TOOLBAR_WrapToolbar( HWND hwnd, DWORD dwStyle ) /* it is the actual width of the separator. This is used for */ /* custom controls in toolbars. */ /* */ - /* BTNS_DROPDOWN separators are treated as buttons for */ - /* width. - GA 8/01 */ + /* horizontal separators are treated as buttons for width */ if ((btnPtr[i].fsStyle & BTNS_SEP) && - !(btnPtr[i].fsStyle & BTNS_DROPDOWN)) + !(infoPtr->dwStyle & CCS_VERT)) cx = (btnPtr[i].iBitmap > 0) ? btnPtr[i].iBitmap : SEPARATOR_WIDTH; else @@ -1689,7 +1688,7 @@ TOOLBAR_LayoutToolbar(HWND hwnd) /* it is the actual width of the separator. This is used for */ /* custom controls in toolbars. */ if (btnPtr->fsStyle & BTNS_SEP) { - if (btnPtr->fsStyle & BTNS_DROPDOWN) { + if (infoPtr->dwStyle & CCS_VERT) { cy = (btnPtr->iBitmap > 0) ? btnPtr->iBitmap : SEPARATOR_WIDTH; cx = infoPtr->nButtonWidth; @@ -1762,7 +1761,7 @@ TOOLBAR_LayoutToolbar(HWND hwnd) /* UNDOCUMENTED: If a separator has a non zero bitmap index, */ /* it is the actual width of the separator. This is used for */ /* custom controls in toolbars. */ - if ( !(btnPtr->fsStyle & BTNS_DROPDOWN)) + if ( !(infoPtr->dwStyle & CCS_VERT)) y += cy + ( (btnPtr->iBitmap > 0 ) ? btnPtr->iBitmap : SEPARATOR_WIDTH) * 2 /3; else