Igor Tarasov : comctl32: CCS_VERT flips toolbar separators orientation.

Alexandre Julliard julliard at winehq.org
Tue Mar 31 12:19:21 CDT 2009


Module: wine
Branch: master
Commit: 88b64d486d865679ace4eb942df2855ce71310a5
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=88b64d486d865679ace4eb942df2855ce71310a5

Author: Igor Tarasov <tarasov.igor at gmail.com>
Date:   Mon Mar 30 21:05:40 2009 +0500

comctl32: CCS_VERT flips toolbar separators orientation.

---

 dlls/comctl32/toolbar.c |   19 +++++++++----------
 1 files changed, 9 insertions(+), 10 deletions(-)

diff --git a/dlls/comctl32/toolbar.c b/dlls/comctl32/toolbar.c
index 5ef701d..92a1366 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




More information about the wine-cvs mailing list