Author: spouliot
Date: 2007-05-01 13:11:54 -0400 (Tue, 01 May 2007)
New Revision: 76534

Modified:
   trunk/mcs/class/System.Drawing/System.Drawing/ChangeLog
   trunk/mcs/class/System.Drawing/System.Drawing/KnownColors.cs
Log:
2007-05-01  Sebastien Pouliot  <[EMAIL PROTECTED]>

        * KnownColors.cs: Force alpha values (opaque) on Win32's GetSysColor.



Modified: trunk/mcs/class/System.Drawing/System.Drawing/ChangeLog
===================================================================
--- trunk/mcs/class/System.Drawing/System.Drawing/ChangeLog     2007-05-01 
16:56:28 UTC (rev 76533)
+++ trunk/mcs/class/System.Drawing/System.Drawing/ChangeLog     2007-05-01 
17:11:54 UTC (rev 76534)
@@ -1,3 +1,7 @@
+2007-05-01  Sebastien Pouliot  <[EMAIL PROTECTED]>
+
+       * KnownColors.cs: Force alpha values (opaque) on Win32's GetSysColor.
+
 2007-04-30  Sebastien Pouliot  <[EMAIL PROTECTED]>
 
        * Color.cs: Reflection didn't like the change from int to uint (thanks

Modified: trunk/mcs/class/System.Drawing/System.Drawing/KnownColors.cs
===================================================================
--- trunk/mcs/class/System.Drawing/System.Drawing/KnownColors.cs        
2007-05-01 16:56:28 UTC (rev 76533)
+++ trunk/mcs/class/System.Drawing/System.Drawing/KnownColors.cs        
2007-05-01 17:11:54 UTC (rev 76534)
@@ -229,42 +229,48 @@
                        // correct system colors outside Windows
                }
 
+               // Windows values are without alpha, force it to opaque (or 
everything will be transparent)
+               static uint GetSysColor (GetSysColorIndex index)
+               {
+                       return 0xFF000000 | GDIPlus.Win32GetSysColor (index);
+               }
+
                static void RetrieveWindowsSystemColors ()
                {
-                       ArgbValues [(int)KnownColor.ActiveBorder] = 
GDIPlus.Win32GetSysColor (GetSysColorIndex.COLOR_ACTIVEBORDER);
-                       ArgbValues [(int)KnownColor.ActiveCaption] = 
GDIPlus.Win32GetSysColor (GetSysColorIndex.COLOR_ACTIVECAPTION);
-                       ArgbValues [(int)KnownColor.ActiveCaptionText] = 
GDIPlus.Win32GetSysColor (GetSysColorIndex.COLOR_CAPTIONTEXT);
-                       ArgbValues [(int)KnownColor.AppWorkspace] = 
GDIPlus.Win32GetSysColor (GetSysColorIndex.COLOR_APPWORKSPACE);
-                       ArgbValues [(int)KnownColor.Control] = 
GDIPlus.Win32GetSysColor (GetSysColorIndex.COLOR_BTNFACE);
-                       ArgbValues [(int)KnownColor.ControlDark] = 
GDIPlus.Win32GetSysColor (GetSysColorIndex.COLOR_BTNSHADOW);
-                       ArgbValues [(int)KnownColor.ControlDarkDark] = 
GDIPlus.Win32GetSysColor (GetSysColorIndex.COLOR_3DDKSHADOW);
-                       ArgbValues [(int)KnownColor.ControlLight] = 
GDIPlus.Win32GetSysColor (GetSysColorIndex.COLOR_3DLIGHT);
-                       ArgbValues [(int)KnownColor.ControlLightLight] = 
GDIPlus.Win32GetSysColor (GetSysColorIndex.COLOR_BTNHIGHLIGHT);
-                       ArgbValues [(int)KnownColor.ControlText] = 
GDIPlus.Win32GetSysColor (GetSysColorIndex.COLOR_BTNTEXT);
-                       ArgbValues [(int)KnownColor.Desktop] = 
GDIPlus.Win32GetSysColor (GetSysColorIndex.COLOR_DESKTOP);
-                       ArgbValues [(int)KnownColor.GrayText] = 
GDIPlus.Win32GetSysColor (GetSysColorIndex.COLOR_GRAYTEXT);
-                       ArgbValues [(int)KnownColor.Highlight] = 
GDIPlus.Win32GetSysColor (GetSysColorIndex.COLOR_HIGHLIGHT);
-                       ArgbValues [(int)KnownColor.HighlightText] = 
GDIPlus.Win32GetSysColor (GetSysColorIndex.COLOR_HIGHLIGHTTEXT);
-                       ArgbValues [(int)KnownColor.HotTrack] = 
GDIPlus.Win32GetSysColor (GetSysColorIndex.COLOR_HOTLIGHT);
-                       ArgbValues [(int)KnownColor.InactiveBorder] = 
GDIPlus.Win32GetSysColor (GetSysColorIndex.COLOR_INACTIVEBORDER);
-                       ArgbValues [(int)KnownColor.InactiveCaption] = 
GDIPlus.Win32GetSysColor (GetSysColorIndex.COLOR_INACTIVECAPTION);
-                       ArgbValues [(int)KnownColor.InactiveCaptionText] = 
GDIPlus.Win32GetSysColor (GetSysColorIndex.COLOR_INACTIVECAPTIONTEXT);
-                       ArgbValues [(int)KnownColor.Info] = 
GDIPlus.Win32GetSysColor (GetSysColorIndex.COLOR_INFOBK);
-                       ArgbValues [(int)KnownColor.InfoText] = 
GDIPlus.Win32GetSysColor (GetSysColorIndex.COLOR_INFOTEXT);
-                       ArgbValues [(int)KnownColor.Menu] = 
GDIPlus.Win32GetSysColor (GetSysColorIndex.COLOR_MENU);
-                       ArgbValues [(int)KnownColor.MenuText] = 
GDIPlus.Win32GetSysColor (GetSysColorIndex.COLOR_MENUTEXT);
-                       ArgbValues [(int)KnownColor.ScrollBar] = 
GDIPlus.Win32GetSysColor (GetSysColorIndex.COLOR_SCROLLBAR);
-                       ArgbValues [(int)KnownColor.Window] = 
GDIPlus.Win32GetSysColor (GetSysColorIndex.COLOR_WINDOW);
-                       ArgbValues [(int)KnownColor.WindowFrame] = 
GDIPlus.Win32GetSysColor (GetSysColorIndex.COLOR_WINDOWFRAME);
-                       ArgbValues [(int)KnownColor.WindowText] = 
GDIPlus.Win32GetSysColor (GetSysColorIndex.COLOR_WINDOWTEXT);
+                       ArgbValues [(int)KnownColor.ActiveBorder] = GetSysColor 
(GetSysColorIndex.COLOR_ACTIVEBORDER);
+                       ArgbValues [(int)KnownColor.ActiveCaption] = 
GetSysColor (GetSysColorIndex.COLOR_ACTIVECAPTION);
+                       ArgbValues [(int)KnownColor.ActiveCaptionText] = 
GetSysColor (GetSysColorIndex.COLOR_CAPTIONTEXT);
+                       ArgbValues [(int)KnownColor.AppWorkspace] = GetSysColor 
(GetSysColorIndex.COLOR_APPWORKSPACE);
+                       ArgbValues [(int)KnownColor.Control] = GetSysColor 
(GetSysColorIndex.COLOR_BTNFACE);
+                       ArgbValues [(int)KnownColor.ControlDark] = GetSysColor 
(GetSysColorIndex.COLOR_BTNSHADOW);
+                       ArgbValues [(int)KnownColor.ControlDarkDark] = 
GetSysColor (GetSysColorIndex.COLOR_3DDKSHADOW);
+                       ArgbValues [(int)KnownColor.ControlLight] = GetSysColor 
(GetSysColorIndex.COLOR_3DLIGHT);
+                       ArgbValues [(int)KnownColor.ControlLightLight] = 
GetSysColor (GetSysColorIndex.COLOR_BTNHIGHLIGHT);
+                       ArgbValues [(int)KnownColor.ControlText] = GetSysColor 
(GetSysColorIndex.COLOR_BTNTEXT);
+                       ArgbValues [(int)KnownColor.Desktop] = GetSysColor 
(GetSysColorIndex.COLOR_DESKTOP);
+                       ArgbValues [(int)KnownColor.GrayText] = GetSysColor 
(GetSysColorIndex.COLOR_GRAYTEXT);
+                       ArgbValues [(int)KnownColor.Highlight] = GetSysColor 
(GetSysColorIndex.COLOR_HIGHLIGHT);
+                       ArgbValues [(int)KnownColor.HighlightText] = 
GetSysColor (GetSysColorIndex.COLOR_HIGHLIGHTTEXT);
+                       ArgbValues [(int)KnownColor.HotTrack] = GetSysColor 
(GetSysColorIndex.COLOR_HOTLIGHT);
+                       ArgbValues [(int)KnownColor.InactiveBorder] = 
GetSysColor (GetSysColorIndex.COLOR_INACTIVEBORDER);
+                       ArgbValues [(int)KnownColor.InactiveCaption] = 
GetSysColor (GetSysColorIndex.COLOR_INACTIVECAPTION);
+                       ArgbValues [(int)KnownColor.InactiveCaptionText] = 
GetSysColor (GetSysColorIndex.COLOR_INACTIVECAPTIONTEXT);
+                       ArgbValues [(int)KnownColor.Info] = GetSysColor 
(GetSysColorIndex.COLOR_INFOBK);
+                       ArgbValues [(int)KnownColor.InfoText] = GetSysColor 
(GetSysColorIndex.COLOR_INFOTEXT);
+                       ArgbValues [(int)KnownColor.Menu] = GetSysColor 
(GetSysColorIndex.COLOR_MENU);
+                       ArgbValues [(int)KnownColor.MenuText] = GetSysColor 
(GetSysColorIndex.COLOR_MENUTEXT);
+                       ArgbValues [(int)KnownColor.ScrollBar] = GetSysColor 
(GetSysColorIndex.COLOR_SCROLLBAR);
+                       ArgbValues [(int)KnownColor.Window] = GetSysColor 
(GetSysColorIndex.COLOR_WINDOW);
+                       ArgbValues [(int)KnownColor.WindowFrame] = GetSysColor 
(GetSysColorIndex.COLOR_WINDOWFRAME);
+                       ArgbValues [(int)KnownColor.WindowText] = GetSysColor 
(GetSysColorIndex.COLOR_WINDOWTEXT);
 #if NET_2_0
-                       ArgbValues [(int)KnownColor.ButtonFace] = 
GDIPlus.Win32GetSysColor (GetSysColorIndex.COLOR_BTNFACE);
-                       ArgbValues [(int)KnownColor.ButtonHighlight] = 
GDIPlus.Win32GetSysColor (GetSysColorIndex.COLOR_BTNHIGHLIGHT);
-                       ArgbValues [(int)KnownColor.ButtonShadow] = 
GDIPlus.Win32GetSysColor (GetSysColorIndex.COLOR_BTNSHADOW);
-                       ArgbValues [(int)KnownColor.GradientActiveCaption] = 
GDIPlus.Win32GetSysColor (GetSysColorIndex.COLOR_GRADIENTACTIVECAPTION);
-                       ArgbValues [(int)KnownColor.GradientInactiveCaption] = 
GDIPlus.Win32GetSysColor (GetSysColorIndex.COLOR_GRADIENTINACTIVECAPTION);
-                       ArgbValues [(int)KnownColor.MenuBar] = 
GDIPlus.Win32GetSysColor (GetSysColorIndex.COLOR_MENUBAR);
-                       ArgbValues [(int)KnownColor.MenuHighlight] = 
GDIPlus.Win32GetSysColor (GetSysColorIndex.COLOR_MENUHIGHLIGHT);
+                       ArgbValues [(int)KnownColor.ButtonFace] = GetSysColor 
(GetSysColorIndex.COLOR_BTNFACE);
+                       ArgbValues [(int)KnownColor.ButtonHighlight] = 
GetSysColor (GetSysColorIndex.COLOR_BTNHIGHLIGHT);
+                       ArgbValues [(int)KnownColor.ButtonShadow] = GetSysColor 
(GetSysColorIndex.COLOR_BTNSHADOW);
+                       ArgbValues [(int)KnownColor.GradientActiveCaption] = 
GetSysColor (GetSysColorIndex.COLOR_GRADIENTACTIVECAPTION);
+                       ArgbValues [(int)KnownColor.GradientInactiveCaption] = 
GetSysColor (GetSysColorIndex.COLOR_GRADIENTINACTIVECAPTION);
+                       ArgbValues [(int)KnownColor.MenuBar] = GetSysColor 
(GetSysColorIndex.COLOR_MENUBAR);
+                       ArgbValues [(int)KnownColor.MenuHighlight] = 
GetSysColor (GetSysColorIndex.COLOR_MENUHIGHLIGHT);
 #endif
                }
 

_______________________________________________
Mono-patches maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches

Reply via email to