Control painting from CW

Duane Clark dclark at akamail.com
Sat Jan 26 12:02:05 CST 2002


Modified files:
	controls		: button.c
	controls		: scroll.c

Log message:
	Codeweavers
	Minor painting changes on a couple of controls.
-------------- next part --------------
Index: controls/button.c
===================================================================
RCS file: /home/wine/wine/controls/button.c,v
retrieving revision 1.55
diff -u -r1.55 button.c
--- controls/button.c	2002/01/15 20:27:30	1.55
+++ controls/button.c	2002/01/26 16:06:23
@@ -125,7 +125,9 @@
 /* paint a button of any type */
 inline static void paint_button( HWND hwnd, LONG style, UINT action )
 {
-    if (btnPaintFunc[style] && IsWindowVisible(hwnd))
+    RECT rc;
+    GetClientRect( hwnd, &rc );
+    if (btnPaintFunc[style] && IsWindowVisible(hwnd) && !IsRectEmpty(&rc))
     {
         HDC hdc = GetDC( hwnd );
         btnPaintFunc[style]( hwnd, hdc, action );
Index: controls/scroll.c
===================================================================
RCS file: /home/wine/wine/controls/scroll.c,v
retrieving revision 1.49
diff -u -r1.49 scroll.c
--- controls/scroll.c	2001/10/22 19:08:33	1.49
+++ controls/scroll.c	2002/01/26 16:06:24
@@ -970,6 +970,9 @@
     case SCROLL_TOP_ARROW:
         SCROLL_DrawArrows( hdc, infoPtr, &rect, arrowSize, vertical,
                            (hittest == SCROLL_trackHitTest), FALSE );
+        SCROLL_DrawInterior( hwnd, hdc, nBar, &rect, arrowSize, thumbSize,
+                             thumbPos, infoPtr->flags, vertical,
+                             (hittest == SCROLL_trackHitTest), FALSE );
         if (hittest == SCROLL_trackHitTest)
         {
             if ((msg == WM_LBUTTONDOWN) || (msg == WM_SYSTIMER))
@@ -1072,6 +1075,9 @@
     case SCROLL_BOTTOM_ARROW:
         SCROLL_DrawArrows( hdc, infoPtr, &rect, arrowSize, vertical,
                            FALSE, (hittest == SCROLL_trackHitTest) );
+        SCROLL_DrawInterior( hwnd, hdc, nBar, &rect, arrowSize, thumbSize,
+                             thumbPos, infoPtr->flags, vertical,
+                             FALSE, (hittest == SCROLL_trackHitTest) );
         if (hittest == SCROLL_trackHitTest)
         {
             if ((msg == WM_LBUTTONDOWN) || (msg == WM_SYSTIMER))
@@ -1392,7 +1398,7 @@
 	    if( SCROLL_ShowScrollBar( hwnd, nBar, TRUE, TRUE ) )
 		return retVal; /* SetWindowPos() already did the painting */
 
-	if( bRedraw && (action & SA_SSI_REFRESH))
+	if( bRedraw )
 	    SCROLL_RefreshScrollBar( hwnd, nBar, TRUE, TRUE );
 	else if( action & SA_SSI_REPAINT_ARROWS )
 	    SCROLL_RefreshScrollBar( hwnd, nBar, TRUE, FALSE );


More information about the wine-patches mailing list