[YAROTOWS] Reintegrate the branch. For a brighter future.
[reactos.git] / reactos / dll / win32 / user32 / windows / draw.c
index 0b53c38..dd50c75 100644 (file)
@@ -37,8 +37,6 @@ WINE_DEFAULT_DEBUG_CHANNEL(user32);
 
 /* GLOBALS *******************************************************************/
 
-#define DSS_DEFAULT 0x0040  /* Make it bold */
-
 static const WORD wPattern_AA55[8] = { 0xaaaa, 0x5555, 0xaaaa, 0x5555,
                                        0xaaaa, 0x5555, 0xaaaa, 0x5555 };
 
@@ -701,10 +699,9 @@ static BOOL UITOOLS95_DFC_ButtonPush(HDC dc, LPRECT r, UINT uFlags)
 
 static BOOL UITOOLS95_DFC_ButtonCheckRadio(HDC dc, LPRECT r, UINT uFlags, BOOL Radio)
 {
-    RECT rc;
     LOGFONTW lf;
     HFONT hFont, hOldFont;
-    int SmallDiam, i;
+    int i;
     TCHAR OutRight, OutLeft, InRight, InLeft, Center;
 
     if (Radio)
@@ -723,10 +720,8 @@ static BOOL UITOOLS95_DFC_ButtonCheckRadio(HDC dc, LPRECT r, UINT uFlags, BOOL R
         Center   = 'g'; // center
     }
 
-    SmallDiam = UITOOLS_MakeSquareRect(r, &rc);
-
     ZeroMemory(&lf, sizeof(LOGFONTW));
-    lf.lfHeight = SmallDiam;
+    lf.lfHeight = r->top - r->bottom;
     lf.lfWidth = 0;
     lf.lfWeight = FW_NORMAL;
     lf.lfCharSet = DEFAULT_CHARSET;
@@ -738,12 +733,12 @@ static BOOL UITOOLS95_DFC_ButtonCheckRadio(HDC dc, LPRECT r, UINT uFlags, BOOL R
     {
         SetBkMode(dc, OPAQUE);
         SetTextColor(dc, GetSysColor(COLOR_WINDOWFRAME));
-        TextOut(dc, rc.left, rc.top, &Center, 1);
+        TextOut(dc, r->left, r->top, &Center, 1);
         SetBkMode(dc, TRANSPARENT);
         SetTextColor(dc, GetSysColor(COLOR_WINDOWFRAME));
-        TextOut(dc, rc.left, rc.top, &OutRight, 1);
+        TextOut(dc, r->left, r->top, &OutRight, 1);
         SetTextColor(dc, GetSysColor(COLOR_WINDOWFRAME));
-        TextOut(dc, rc.left, rc.top, &OutLeft, 1);
+        TextOut(dc, r->left, r->top, &OutLeft, 1);
     }
     else
     {
@@ -752,26 +747,26 @@ static BOOL UITOOLS95_DFC_ButtonCheckRadio(HDC dc, LPRECT r, UINT uFlags, BOOL R
         /* Center section, white for active, grey for inactive */
         i= !(uFlags & (DFCS_INACTIVE|DFCS_PUSHED)) ? COLOR_WINDOW : COLOR_BTNFACE;
         SetTextColor(dc, GetSysColor(i));
-        TextOut(dc, rc.left, rc.top, &Center, 1);
+        TextOut(dc, r->left, r->top, &Center, 1);
 
         if(uFlags & (DFCS_FLAT | DFCS_MONO))
         {
             SetTextColor(dc, GetSysColor(COLOR_WINDOWFRAME));
-            TextOut(dc, rc.left, rc.top, &OutRight, 1);
-            TextOut(dc, rc.left, rc.top, &OutLeft, 1);
-            TextOut(dc, rc.left, rc.top, &InRight, 1);
-            TextOut(dc, rc.left, rc.top, &InLeft, 1);
+            TextOut(dc, r->left, r->top, &OutRight, 1);
+            TextOut(dc, r->left, r->top, &OutLeft, 1);
+            TextOut(dc, r->left, r->top, &InRight, 1);
+            TextOut(dc, r->left, r->top, &InLeft, 1);
         }
         else
         {
             SetTextColor(dc, GetSysColor(COLOR_BTNSHADOW));
-            TextOut(dc, rc.left, rc.top, &OutRight, 1);
+            TextOut(dc, r->left, r->top, &OutRight, 1);
             SetTextColor(dc, GetSysColor(COLOR_BTNHIGHLIGHT));
-            TextOut(dc, rc.left, rc.top, &OutLeft, 1);
+            TextOut(dc, r->left, r->top, &OutLeft, 1);
             SetTextColor(dc, GetSysColor(COLOR_3DDKSHADOW));
-            TextOut(dc, rc.left, rc.top, &InRight, 1);
+            TextOut(dc, r->left, r->top, &InRight, 1);
             SetTextColor(dc, GetSysColor(COLOR_3DLIGHT));
-            TextOut(dc, rc.left, rc.top, &InLeft, 1);
+            TextOut(dc, r->left, r->top, &InLeft, 1);
         }
     }
 
@@ -780,7 +775,7 @@ static BOOL UITOOLS95_DFC_ButtonCheckRadio(HDC dc, LPRECT r, UINT uFlags, BOOL R
         TCHAR Check = (Radio) ? 'i' : 'b';
 
         SetTextColor(dc, GetSysColor(COLOR_WINDOWTEXT));
-        TextOut(dc, rc.left, rc.top, &Check, 1);
+        TextOut(dc, r->left, r->top, &Check, 1);
     }
 
     SetTextColor(dc, GetSysColor(COLOR_WINDOWTEXT));
@@ -1378,9 +1373,9 @@ IntDrawState(HDC hdc, HBRUSH hbr, DRAWSTATEPROC func, LPARAM lp, WPARAM wp,
     }
 
     if (flags & DSS_DISABLED)
-        hbrtmp = CreateSolidBrush(GetSysColor(COLOR_3DHILIGHT));
+        hbrtmp = GetSysColorBrush(COLOR_3DHILIGHT);
     else if (flags & DSS_DEFAULT)
-        hbrtmp = CreateSolidBrush(GetSysColor(COLOR_3DSHADOW));
+        hbrtmp = GetSysColorBrush(COLOR_3DSHADOW);
 
     /* Draw light or dark shadow */
     if (flags & (DSS_DISABLED|DSS_DEFAULT))
@@ -1393,13 +1388,11 @@ IntDrawState(HDC hdc, HBRUSH hbr, DRAWSTATEPROC func, LPARAM lp, WPARAM wp,
         if(!BitBlt(hdc, x+1, y+1, cx, cy, memdc, 0, 0, 0x00B8074A))
             goto cleanup;
         SelectObject(hdc, hbsave);
-        DeleteObject(hbrtmp);
-        hbrtmp = 0;
     }
 
     if (flags & DSS_DISABLED)
     {
-        hbr = hbrtmp = CreateSolidBrush(GetSysColor(COLOR_3DSHADOW));
+        hbr = hbrtmp = GetSysColorBrush(COLOR_3DSHADOW);
         if(!hbrtmp)
             goto cleanup;
     }
@@ -1423,8 +1416,6 @@ cleanup:
         SelectObject(hdc, hbsave);
     if(hbmsave)
         SelectObject(memdc, hbmsave);
-    if(hbrtmp)
-        DeleteObject(hbrtmp);
     if(hbm)
         DeleteObject(hbm);
     if(memdc)