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