[2/6] comctl32/header: Move parameter cast to WinProc where possible

Nikolay Sivov bunglehead at gmail.com
Sun May 17 15:12:25 CDT 2009


This removes some superfluous local variables in handlers and
makes code more readable.

Changelog:
    - Move parameter cast to WinProc where possible

>From 3d5e0f8b5defa1200a2a9b52faaa4d8fe7cbc91b Mon Sep 17 00:00:00 2001
From: Nikolay Sivov <bunglehead at gmail.com>
Date: Sun, 17 May 2009 22:57:26 +0400
Subject: Move parameter cast to WinProc where possible

---
 dlls/comctl32/header.c |  125 +++++++++++++++++++++---------------------------
 1 files changed, 55 insertions(+), 70 deletions(-)

diff --git a/dlls/comctl32/header.c b/dlls/comctl32/header.c
index c5542d7..88dcec8 100644
--- a/dlls/comctl32/header.c
+++ b/dlls/comctl32/header.c
@@ -171,10 +171,8 @@ HEADER_IndexToOrder (const HEADER_INFO *infoPtr, INT iItem)
 

 static INT
-HEADER_OrderToIndex(const HEADER_INFO *infoPtr, WPARAM wParam)
+HEADER_OrderToIndex(const HEADER_INFO *infoPtr, INT iorder)
 {
-    INT iorder = (INT)wParam;
-
     if ((iorder <0) || iorder >= infoPtr->uNumItem)
       return iorder;
     return infoPtr->order[iorder];
@@ -951,7 +949,7 @@ HEADER_FreeCallbackItems(HEADER_ITEM *lpItem)
 }
 
 static LRESULT
-HEADER_CreateDragImage (HEADER_INFO *infoPtr, WPARAM wParam)
+HEADER_CreateDragImage (HEADER_INFO *infoPtr, INT iItem)
 {
     HEADER_ITEM *lpItem;
     HIMAGELIST himl;
@@ -963,13 +961,13 @@ HEADER_CreateDragImage (HEADER_INFO *infoPtr, WPARAM wParam)
     int height, width;
     HFONT hFont;
     
-    if (wParam >= infoPtr->uNumItem)
+    if (iItem >= infoPtr->uNumItem)
         return FALSE;
 
     if (!infoPtr->bRectsValid)
         HEADER_SetItemBounds(infoPtr);
 
-    lpItem = &infoPtr->items[wParam];
+    lpItem = &infoPtr->items[iItem];
     width = lpItem->rect.right - lpItem->rect.left;
     height = lpItem->rect.bottom - lpItem->rect.top;
     
@@ -984,7 +982,7 @@ HEADER_CreateDragImage (HEADER_INFO *infoPtr, WPARAM wParam)
 
     GetClientRect(infoPtr->hwndSelf, &rc);
     lCDFlags = HEADER_SendCtrlCustomDraw(infoPtr, CDDS_PREPAINT, hMemoryDC, &rc);
-    HEADER_DrawItem(infoPtr, hMemoryDC, wParam, FALSE, lCDFlags);
+    HEADER_DrawItem(infoPtr, hMemoryDC, iItem, FALSE, lCDFlags);
     if (lCDFlags & CDRF_NOTIFYPOSTPAINT)
         HEADER_SendCtrlCustomDraw(infoPtr, CDDS_POSTPAINT, hMemoryDC, &rc);
     
@@ -1050,9 +1048,8 @@ HEADER_SetHotDivider(HEADER_INFO *infoPtr, WPARAM wParam, LPARAM lParam)
 }
 
 static LRESULT
-HEADER_DeleteItem (HEADER_INFO *infoPtr, WPARAM wParam)
+HEADER_DeleteItem (HEADER_INFO *infoPtr, INT iItem)
 {
-    INT iItem = (INT)wParam;
     INT iOrder;
     UINT i;
 
@@ -1166,11 +1163,8 @@ HEADER_GetItemCount (const HEADER_INFO *infoPtr)
 

 static LRESULT
-HEADER_GetItemRect (const HEADER_INFO *infoPtr, WPARAM wParam, LPARAM lParam)
+HEADER_GetItemRect (const HEADER_INFO *infoPtr, INT iItem, LPRECT lpRect)
 {
-    INT iItem = (INT)wParam;
-    LPRECT lpRect = (LPRECT)lParam;
-
     if ((iItem < 0) || (iItem >= (INT)infoPtr->uNumItem))
         return FALSE;
 
@@ -1184,11 +1178,9 @@ HEADER_GetItemRect (const HEADER_INFO *infoPtr, WPARAM wParam, LPARAM lParam)
 

 static LRESULT
-HEADER_GetOrderArray(const HEADER_INFO *infoPtr, WPARAM wParam, LPARAM lParam)
+HEADER_GetOrderArray(const HEADER_INFO *infoPtr, INT size, LPINT order)
 {
-    LPINT order = (LPINT) lParam;
-
-    if ((unsigned int)wParam <infoPtr->uNumItem)
+    if ((UINT)size <infoPtr->uNumItem)
       return FALSE;
 
     memcpy(order, infoPtr->order, infoPtr->uNumItem * sizeof(INT));
@@ -1196,16 +1188,15 @@ HEADER_GetOrderArray(const HEADER_INFO *infoPtr, WPARAM wParam, LPARAM lParam)
 }
 
 static LRESULT
-HEADER_SetOrderArray(HEADER_INFO *infoPtr, WPARAM wParam, LPARAM lParam)
+HEADER_SetOrderArray(HEADER_INFO *infoPtr, INT size, LPINT order)
 {
-    int i;
-    LPINT order = (LPINT) lParam;
+    INT i;
     HEADER_ITEM *lpItem;
 
-    if ((unsigned int)wParam <infoPtr->uNumItem)
+    if ((UINT)size <infoPtr->uNumItem)
       return FALSE;
     memcpy(infoPtr->order, order, infoPtr->uNumItem * sizeof(INT));
-    for (i=0; i<(int)wParam; i++)
+    for (i=0; i<size; i++)
       {
         lpItem = &infoPtr->items[*order++];
 	lpItem->iOrder=i;
@@ -1223,10 +1214,8 @@ HEADER_GetUnicodeFormat (const HEADER_INFO *infoPtr)
 

 static LRESULT
-HEADER_HitTest (const HEADER_INFO *infoPtr, LPARAM lParam)
+HEADER_HitTest (const HEADER_INFO *infoPtr, LPHDHITTESTINFO phti)
 {
-    LPHDHITTESTINFO phti = (LPHDHITTESTINFO)lParam;
-
     HEADER_InternalHitTest (infoPtr, &phti->pt, &phti->flags, &phti->iItem);
 
     if (phti->flags == HHT_NOWHERE)
@@ -1304,10 +1293,8 @@ HEADER_InsertItemT (HEADER_INFO *infoPtr, INT nItem, const HDITEMW *phdi, BOOL b
 

 static LRESULT
-HEADER_Layout (HEADER_INFO *infoPtr, LPARAM lParam)
+HEADER_Layout (HEADER_INFO *infoPtr, LPHDLAYOUT lpLayout)
 {
-    LPHDLAYOUT lpLayout = (LPHDLAYOUT)lParam;
-
     lpLayout->pwpos->hwnd = infoPtr->hwndSelf;
     lpLayout->pwpos->hwndInsertAfter = 0;
     lpLayout->pwpos->x = lpLayout->prc->left;
@@ -1353,11 +1340,11 @@ HEADER_GetBitmapMargin(const HEADER_INFO *infoPtr)
 }
 
 static LRESULT
-HEADER_SetBitmapMargin(HEADER_INFO *infoPtr, WPARAM wParam)
+HEADER_SetBitmapMargin(HEADER_INFO *infoPtr, INT iMargin)
 {
     INT oldMargin = infoPtr->iMargin;
 
-    infoPtr->iMargin = (INT)wParam;
+    infoPtr->iMargin = iMargin;
 
     return oldMargin;
 }
@@ -1412,7 +1399,7 @@ HEADER_SetUnicodeFormat (HEADER_INFO *infoPtr, WPARAM wParam)
 

 static LRESULT
-HEADER_Create (HWND hwnd, LPARAM lParam)
+HEADER_Create (HWND hwnd, LPCREATESTRUCTW lpcs)
 {
     HEADER_INFO *infoPtr;
     TEXTMETRICW tm;
@@ -1423,7 +1410,7 @@ HEADER_Create (HWND hwnd, LPARAM lParam)
     SetWindowLongPtrW (hwnd, 0, (DWORD_PTR)infoPtr);
 
     infoPtr->hwndSelf = hwnd;
-    infoPtr->hwndNotify = ((LPCREATESTRUCTA)lParam)->hwndParent;
+    infoPtr->hwndNotify = lpcs->hwndParent;
     infoPtr->uNumItem = 0;
     infoPtr->hFont = 0;
     infoPtr->items = 0;
@@ -1507,14 +1494,14 @@ HEADER_IsDragDistance(const HEADER_INFO *infoPtr, const POINT *pt)
 }
 
 static LRESULT
-HEADER_LButtonDblClk (HEADER_INFO *infoPtr, LPARAM lParam)
+HEADER_LButtonDblClk (HEADER_INFO *infoPtr, INT x, INT y)
 {
     POINT pt;
     UINT  flags;
     INT   nItem;
 
-    pt.x = (short)LOWORD(lParam);
-    pt.y = (short)HIWORD(lParam);
+    pt.x = x;
+    pt.y = y;
     HEADER_InternalHitTest (infoPtr, &pt, &flags, &nItem);
 
     if ((GetWindowLongW (infoPtr->hwndSelf, GWL_STYLE) & HDS_BUTTONS) && (flags == HHT_ONHEADER))
@@ -1527,7 +1514,7 @@ HEADER_LButtonDblClk (HEADER_INFO *infoPtr, LPARAM lParam)
 

 static LRESULT
-HEADER_LButtonDown (HEADER_INFO *infoPtr, LPARAM lParam)
+HEADER_LButtonDown (HEADER_INFO *infoPtr, INT x, INT y)
 {
     DWORD dwStyle = GetWindowLongW (infoPtr->hwndSelf, GWL_STYLE);
     POINT pt;
@@ -1535,8 +1522,8 @@ HEADER_LButtonDown (HEADER_INFO *infoPtr, LPARAM lParam)
     INT   nItem;
     HDC   hdc;
 
-    pt.x = (short)LOWORD(lParam);
-    pt.y = (short)HIWORD(lParam);
+    pt.x = x;
+    pt.y = y;
     HEADER_InternalHitTest (infoPtr, &pt, &flags, &nItem);
 
     if ((dwStyle & HDS_BUTTONS) && (flags == HHT_ONHEADER)) {
@@ -1582,7 +1569,7 @@ HEADER_LButtonDown (HEADER_INFO *infoPtr, LPARAM lParam)
 

 static LRESULT
-HEADER_LButtonUp (HEADER_INFO *infoPtr, LPARAM lParam)
+HEADER_LButtonUp (HEADER_INFO *infoPtr, INT x, INT y)
 {
     DWORD dwStyle = GetWindowLongW (infoPtr->hwndSelf, GWL_STYLE);
     POINT pt;
@@ -1590,8 +1577,8 @@ HEADER_LButtonUp (HEADER_INFO *infoPtr, LPARAM lParam)
     INT   nItem;
     HDC   hdc;
 
-    pt.x = (INT)(SHORT)LOWORD(lParam);
-    pt.y = (INT)(SHORT)HIWORD(lParam);
+    pt.x = x;
+    pt.y = y;
     HEADER_InternalHitTest (infoPtr, &pt, &flags, &nItem);
 
     if (infoPtr->bPressed) {
@@ -1839,27 +1826,27 @@ HEADER_MouseMove (HEADER_INFO *infoPtr, LPARAM lParam)
 

 static LRESULT
-HEADER_Paint (HEADER_INFO *infoPtr, WPARAM wParam)
+HEADER_Paint (HEADER_INFO *infoPtr, HDC hdcParam)
 {
     HDC hdc;
     PAINTSTRUCT ps;
 
-    hdc = wParam==0 ? BeginPaint (infoPtr->hwndSelf, &ps) : (HDC)wParam;
+    hdc = hdcParam==0 ? BeginPaint (infoPtr->hwndSelf, &ps) : hdcParam;
     HEADER_Refresh (infoPtr, hdc);
-    if(!wParam)
+    if(!hdcParam)
 	EndPaint (infoPtr->hwndSelf, &ps);
     return 0;
 }
 

 static LRESULT
-HEADER_RButtonUp (HEADER_INFO *infoPtr, LPARAM lParam)
+HEADER_RButtonUp (HEADER_INFO *infoPtr, INT x, INT y)
 {
     BOOL bRet;
     POINT pt;
 
-    pt.x = (short)LOWORD(lParam);
-    pt.y = (short)HIWORD(lParam);
+    pt.x = x;
+    pt.y = y;
 
     /* Send a Notify message */
     bRet = HEADER_SendSimpleNotify (infoPtr, NM_RCLICK);
@@ -1900,18 +1887,16 @@ HEADER_SetCursor (HEADER_INFO *infoPtr, LPARAM lParam)
 

 static LRESULT
-HEADER_SetFont (HEADER_INFO *infoPtr, WPARAM wParam, LPARAM lParam)
+HEADER_SetFont (HEADER_INFO *infoPtr, HFONT hFont, WORD Redraw)
 {
     TEXTMETRICW tm;
-    HFONT hFont, hOldFont;
+    HFONT hOldFont;
     HDC hdc;
 
-    infoPtr->hFont = (HFONT)wParam;
-
-    hFont = infoPtr->hFont ? infoPtr->hFont : GetStockObject (SYSTEM_FONT);
+    infoPtr->hFont = hFont;
 
     hdc = GetDC (0);
-    hOldFont = SelectObject (hdc, hFont);
+    hOldFont = SelectObject (hdc, infoPtr->hFont ? infoPtr->hFont : GetStockObject (SYSTEM_FONT));
     GetTextMetricsW (hdc, &tm);
     infoPtr->nHeight = tm.tmHeight + VERT_BORDER;
     SelectObject (hdc, hOldFont);
@@ -1919,7 +1904,7 @@ HEADER_SetFont (HEADER_INFO *infoPtr, WPARAM wParam, LPARAM lParam)
 
     infoPtr->bRectsValid = FALSE;
 
-    if (lParam) {
+    if (Redraw) {
         InvalidateRect(infoPtr->hwndSelf, NULL, FALSE);
     }
 
@@ -1961,10 +1946,10 @@ HEADER_WindowProc (HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
 /*	case HDM_CLEARFILTER: */
 
 	case HDM_CREATEDRAGIMAGE:
-	    return HEADER_CreateDragImage (infoPtr, wParam);
+	    return HEADER_CreateDragImage (infoPtr, (INT)wParam);
 
 	case HDM_DELETEITEM:
-	    return HEADER_DeleteItem (infoPtr, wParam);
+	    return HEADER_DeleteItem (infoPtr, (INT)wParam);
 
 /*	case HDM_EDITFILTER: */
 
@@ -1982,29 +1967,29 @@ HEADER_WindowProc (HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
 	    return HEADER_GetItemCount (infoPtr);
 
 	case HDM_GETITEMRECT:
-	    return HEADER_GetItemRect (infoPtr, wParam, lParam);
+	    return HEADER_GetItemRect (infoPtr, (INT)wParam, (LPRECT)lParam);
 
 	case HDM_GETORDERARRAY:
-	    return HEADER_GetOrderArray(infoPtr, wParam, lParam);
+	    return HEADER_GetOrderArray(infoPtr, (INT)wParam, (LPINT)lParam);
 
 	case HDM_GETUNICODEFORMAT:
 	    return HEADER_GetUnicodeFormat (infoPtr);
 
 	case HDM_HITTEST:
-	    return HEADER_HitTest (infoPtr, lParam);
+	    return HEADER_HitTest (infoPtr, (LPHDHITTESTINFO)lParam);
 
 	case HDM_INSERTITEMA:
 	case HDM_INSERTITEMW:
 	    return HEADER_InsertItemT (infoPtr, (INT)wParam, (LPHDITEMW)lParam, msg == HDM_INSERTITEMW);
 
 	case HDM_LAYOUT:
-	    return HEADER_Layout (infoPtr, lParam);
+	    return HEADER_Layout (infoPtr, (LPHDLAYOUT)lParam);
 
 	case HDM_ORDERTOINDEX:
-	    return HEADER_OrderToIndex(infoPtr, wParam);
+	    return HEADER_OrderToIndex(infoPtr, (INT)wParam);
 
 	case HDM_SETBITMAPMARGIN:
-	    return HEADER_SetBitmapMargin(infoPtr, wParam);
+	    return HEADER_SetBitmapMargin(infoPtr, (INT)wParam);
 
 /*	case HDM_SETFILTERCHANGETIMEOUT: */
 
@@ -2019,13 +2004,13 @@ HEADER_WindowProc (HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
 	    return HEADER_SetItemT (infoPtr, (INT)wParam, (LPHDITEMW)lParam, msg == HDM_SETITEMW);
 
 	case HDM_SETORDERARRAY:
-	    return HEADER_SetOrderArray(infoPtr, wParam, lParam);
+	    return HEADER_SetOrderArray(infoPtr, (INT)wParam, (LPINT)lParam);
 
 	case HDM_SETUNICODEFORMAT:
 	    return HEADER_SetUnicodeFormat (infoPtr, wParam);
 
         case WM_CREATE:
-            return HEADER_Create (hwnd, lParam);
+            return HEADER_Create (hwnd, (LPCREATESTRUCTW)lParam);
 
         case WM_DESTROY:
             return HEADER_Destroy (infoPtr);
@@ -2043,13 +2028,13 @@ HEADER_WindowProc (HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
             return HEADER_GetFont (infoPtr);
 
         case WM_LBUTTONDBLCLK:
-            return HEADER_LButtonDblClk (infoPtr, lParam);
+            return HEADER_LButtonDblClk (infoPtr, (SHORT)LOWORD(lParam), (SHORT)HIWORD(lParam));
 
         case WM_LBUTTONDOWN:
-            return HEADER_LButtonDown (infoPtr, lParam);
+            return HEADER_LButtonDown (infoPtr, (SHORT)LOWORD(lParam), (SHORT)HIWORD(lParam));
 
         case WM_LBUTTONUP:
-            return HEADER_LButtonUp (infoPtr, lParam);
+            return HEADER_LButtonUp (infoPtr, (SHORT)LOWORD(lParam), (SHORT)HIWORD(lParam));
 
         case WM_MOUSELEAVE:
             return HEADER_MouseLeave (infoPtr);
@@ -2068,16 +2053,16 @@ HEADER_WindowProc (HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
 
         case WM_PRINTCLIENT:
         case WM_PAINT:
-            return HEADER_Paint (infoPtr, wParam);
+            return HEADER_Paint (infoPtr, (HDC)wParam);
 
         case WM_RBUTTONUP:
-            return HEADER_RButtonUp (infoPtr, lParam);
+            return HEADER_RButtonUp (infoPtr, (SHORT)LOWORD(lParam), (SHORT)HIWORD(lParam));
 
         case WM_SETCURSOR:
             return HEADER_SetCursor (infoPtr, lParam);
 
         case WM_SETFONT:
-            return HEADER_SetFont (infoPtr, wParam, lParam);
+            return HEADER_SetFont (infoPtr, (HFONT)wParam, (WORD)lParam);
 
         case WM_SETREDRAW:
             return HEADER_SetRedraw(infoPtr, wParam, lParam);
-- 
1.5.6.5







More information about the wine-patches mailing list