+2007-04-09 Sebastien Pouliot <sebastien@ximian.com>
+
+ * Color.cs: Remove hashtables and locks. All color properties are read
+ from KnownColors. Remove extra & 0xFF (typecast to byte is enough).
+ Keep track of the Name property once calculated. When possible (most
+ likely case) don't create the names (strings) in Equals, == and !=
+ * ColorTranslator.cs: Use the new KnownColors instead of the separate
+ NamedColors and SystemColors.
+ * ColorConverter.cs: Use the new KnownColors instead of the separate
+ NamedColors and SystemColors.
+ * gdipFunctions.cs: Moved GetSysColor p/invoke signature here as this
+ class is marked by [SuppressUnmanagedCodeSecurity].
+ * gdipStructs.cs: Moved Windows-specific GetSysColorIndex enum here.
+ * KnownColors.cs: New. Single source for all colors.
+ * SystemColors.cs: Vastly simplified. All color properties are read
+ from KnownColors.
+
2007-04-05 Sebastien Pouliot <sebastien@ximian.com>
* gdipFunctions.cs: Remove unused (and not part of GDI+) GdipGetHfont
// Ben Houston (ben@exocortex.org)
// Gonzalo Paniagua (gonzalo@ximian.com)
// Juraj Skripsky (juraj@hotfeet.ch)
+// Sebastien Pouliot <sebastien@ximian.com>
//
// (C) 2002 Dennis Hayes
// (c) 2002 Ximian, Inc. (http://www.ximiam.com)
// (C) 2005 HotFeet GmbH (http://www.hotfeet.ch)
-// Copyright (C) 2004,2006 Novell, Inc (http://www.novell.com)
+// Copyright (C) 2004,2006-2007 Novell, Inc (http://www.novell.com)
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
//
using System.Collections;
-using System.Runtime.InteropServices;
using System.ComponentModel;
-using System.Reflection;
+using System.Runtime.InteropServices;
namespace System.Drawing
{
[Editor ("System.Drawing.Design.ColorEditor, " + Consts.AssemblySystem_Drawing_Design, typeof (System.Drawing.Design.UITypeEditor))]
#endif
[Serializable]
- public struct Color
- {
- private static Hashtable namedColors;
- private static Hashtable systemColors;
- static Color [] knownColors;
-
+ public struct Color {
+
// Private transparency (A) and R,G,B fields.
- private long value;
- private static string creatingColorNames = "creatingColorNames";
+ internal long value;
// The specs also indicate that all three of these properties are true
// if created with FromKnownColor or FromNamedColor, false otherwise (FromARGB).
// Per Microsoft and ECMA specs these varibles are set by which constructor is used, not by their values.
[Flags]
- enum ColorType : short {
+ internal enum ColorType : short {
Empty=0,
Known=1,
ARGB=2,
Named=4,
System=8
}
- private short state;
- private short knownColor;
- private string name;
+ internal short state;
+ internal short knownColor;
+ internal string name;
#if TARGET_JVM
internal java.awt.Color NativeObject {
public string Name {
get{
if (name == null) {
- if (IsNamedColor) { // Can happen with stuff deserialized from MS
- FillColorNames ();
- object o = knownColors [knownColor];
- if (o != null)
- return ((Color) o).name;
- }
- return String.Format ("{0:x}", ToArgb ());
+ // Can happen with stuff deserialized from MS
+ if (IsNamedColor)
+ name = KnownColors.FromKnownColor ((KnownColor)knownColor).Name;
+ else
+ name = String.Format ("{0:x}", ToArgb ());
}
return name;
}
return color;
}
- private static Color FromArgbNamed (int alpha, int red, int green, int blue, string name, KnownColor knownColor)
+ internal static Color FromArgbNamed (int alpha, int red, int green, int blue, string name, KnownColor knownColor)
{
Color color = FromArgb (alpha, red, green, blue);
color.state = (short) (ColorType.Known|ColorType.Named);
public static Color FromKnownColor (KnownColor c)
{
- if (knownColors == null)
- FillColorNames ();
-
-#if NET_2_0
- if (c < KnownColor.ActiveBorder || c > KnownColor.MenuHighlight) {
-#else
- if (c < KnownColor.ActiveBorder || c > KnownColor.YellowGreen) {
-#endif
- // This is what it returns!
- Color d = FromArgb (0, 0, 0, 0);
- d.name = c.ToString ();
- d.state |= (short) ColorType.Named;
- d.knownColor = (short) c;
- return d;
- }
-
- return knownColors [(int) c];
- }
-
- private static Hashtable GetColorHashtableFromType (Type type)
- {
- Hashtable colorHash = new Hashtable (CaseInsensitiveHashCodeProvider.Default,
- CaseInsensitiveComparer.Default);
-
- PropertyInfo [] props = type.GetProperties ();
- foreach (PropertyInfo prop in props){
- if (prop.PropertyType != typeof (Color))
- continue;
-
- MethodInfo getget = prop.GetGetMethod ();
- if (getget == null || getget.IsStatic == false)
- continue;
-
- object o = prop.GetValue (null, null);
- colorHash.Add (prop.Name, o);
-
- Color c = (Color) o;
- knownColors [(int) c.knownColor] = c;
- }
- return colorHash;
- }
-
- private static void FillColorNames ()
- {
- lock (creatingColorNames) {
- if (systemColors != null)
- return;
-
-#if NET_2_0
- knownColors = new Color [(int)KnownColor.MenuHighlight + 1];
-#else
- knownColors = new Color [(int)KnownColor.YellowGreen + 1];
-#endif
- Hashtable colorHash = GetColorHashtableFromType (typeof (Color));
- namedColors = colorHash;
-
- colorHash = GetColorHashtableFromType (typeof (SystemColors));
- systemColors = colorHash;
- }
+ return KnownColors.FromKnownColor (c);
}
- internal static Color UpdateKnownColor (int alpha, int red, int green, int blue, string name, KnownColor known_color) {
- FillColorNames ();
- Color new_color = Color.FromArgbSystem(alpha, red, green, blue, name, known_color);
- knownColors[(int)known_color] = new_color;
- return new_color;
- }
-
public static Color FromName (string colorName)
{
- object c = NamedColors [colorName];
- if (c == null) {
- c = SystemColors [colorName];
- if (c == null) {
- // This is what it returns!
- Color d = FromArgb (0, 0, 0, 0);
- d.name = colorName;
- d.state |= (short) ColorType.Named;
- c = d;
- }
- }
-
- return (Color) c;
- }
-
- internal static Hashtable NamedColors
- {
- get {
- FillColorNames ();
- return namedColors;
- }
+ return ColorConverter.StaticConvertFromString (null, colorName, null);
}
- internal static Hashtable SystemColors
- {
- get {
- FillColorNames ();
- return systemColors;
- }
- }
-
+
// -----------------------
// Public Shared Members
// -----------------------
return false;
if (colorA.IsSystemColor != colorB.IsSystemColor)
return false;
- if (colorA.Name != colorB.Name)
- return false;
if (colorA.IsEmpty != colorB.IsEmpty)
return false;
+ if (colorA.IsNamedColor) {
+ if (!colorB.IsNamedColor)
+ return false;
+ // both are named so we need to compare them (otherwise we don't as it kills performance)
+ if (colorA.Name != colorB.Name)
+ return false;
+ }
return true;
}
// Optimization for known colors that were deserialized
// from an MS serialized stream.
if (value == 0 && IsKnownColor) {
- FillColorNames ();
- object o = knownColors [knownColor];
- if (o != null) {
- value = ((Color) o).ToArgb ();
- }
+ value = KnownColors.FromKnownColor ((KnownColor)knownColor).ToArgb ();
}
- return (byte) ((value >> 24 & 0x0ff));
+ return (byte) (value >> 24);
}
}
// Optimization for known colors that were deserialized
// from an MS serialized stream.
if (value == 0 && IsKnownColor) {
- FillColorNames ();
- object o = knownColors [knownColor];
- if (o != null) {
- value = ((Color) o).ToArgb ();
- }
+ value = KnownColors.FromKnownColor ((KnownColor)knownColor).ToArgb ();
}
- return (byte) ((value >> 16 & 0x0ff));
+ return (byte) (value >> 16);
}
}
// Optimization for known colors that were deserialized
// from an MS serialized stream.
if (value == 0 && IsKnownColor) {
- FillColorNames ();
- object o = knownColors [knownColor];
- if (o != null) {
- value = ((Color) o).ToArgb ();
- }
+ value = KnownColors.FromKnownColor ((KnownColor)knownColor).ToArgb ();
}
- return (byte) ((value >> 8 & 0x0ff));
+ return (byte) (value >> 8);
}
}
// Optimization for known colors that were deserialized
// from an MS serialized stream.
if (value == 0 && IsKnownColor) {
- FillColorNames ();
- object o = knownColors [knownColor];
- if (o != null) {
- value = ((Color) o).ToArgb ();
- }
+ value = KnownColors.FromKnownColor ((KnownColor)knownColor).ToArgb ();
}
- return (byte) (value & 0x0ff);
+ return (byte) value;
}
}
CheckRGBValues(red,green,blue);
}
- //Documentation, do not remove!
- //This is the program that was used to generate the C# source code below.
- //using System;
- //using System.Diagnostics;
- //using System.Drawing;
- //using System.Reflection;
- //public class m {
- //static void Main(string[] args)
- //{
- // Type cType = typeof (Color);
- // PropertyInfo [] properties = cType.GetProperties ();
- // foreach (PropertyInfo property in properties) {
- // MethodInfo method = property.GetGetMethod();
- // if (method != null && method.IsStatic && method.ReturnType == cType) {
- // Color c = (Color) method.Invoke( null, new object[0] );
- // Console.WriteLine("static public Color " + property.Name);
- // Console.WriteLine("{\t\n\tget {");
- // Console.WriteLine("\t\treturn Color.FromArgbNamed ({0}, {1}, {2}, {3}, \"{4}\", KnownColor.{4});",
- // c.A, c.R, c.G, c.B, property.Name);
- // Console.WriteLine("\t}");
- // Console.WriteLine("}\n");
- // }
- // }
- //}
- //}
- static public Color Transparent
- {
- get {
- return Color.FromArgbNamed (0, 255, 255, 255, "Transparent", KnownColor.Transparent);
- }
+ static public Color Transparent {
+ get { return KnownColors.FromKnownColor (KnownColor.Transparent); }
}
- static public Color AliceBlue
- {
- get {
- return Color.FromArgbNamed (255, 240, 248, 255, "AliceBlue", KnownColor.AliceBlue);
- }
+ static public Color AliceBlue {
+ get { return KnownColors.FromKnownColor (KnownColor.AliceBlue); }
}
- static public Color AntiqueWhite
- {
- get {
- return Color.FromArgbNamed (255, 250, 235, 215, "AntiqueWhite", KnownColor.AntiqueWhite);
- }
+ static public Color AntiqueWhite {
+ get { return KnownColors.FromKnownColor (KnownColor.AntiqueWhite); }
}
- static public Color Aqua
- {
- get {
- return Color.FromArgbNamed (255, 0, 255, 255, "Aqua", KnownColor.Aqua);
- }
+ static public Color Aqua {
+ get { return KnownColors.FromKnownColor (KnownColor.Aqua); }
}
- static public Color Aquamarine
- {
- get {
- return Color.FromArgbNamed (255, 127, 255, 212, "Aquamarine", KnownColor.Aquamarine);
- }
+ static public Color Aquamarine {
+ get { return KnownColors.FromKnownColor (KnownColor.Aquamarine); }
}
- static public Color Azure
- {
- get {
- return Color.FromArgbNamed (255, 240, 255, 255, "Azure", KnownColor.Azure);
- }
+ static public Color Azure {
+ get { return KnownColors.FromKnownColor (KnownColor.Azure); }
}
- static public Color Beige
- {
- get {
- return Color.FromArgbNamed (255, 245, 245, 220, "Beige", KnownColor.Beige);
- }
+ static public Color Beige {
+ get { return KnownColors.FromKnownColor (KnownColor.Beige); }
}
- static public Color Bisque
- {
- get {
- return Color.FromArgbNamed (255, 255, 228, 196, "Bisque", KnownColor.Bisque);
- }
+ static public Color Bisque {
+ get { return KnownColors.FromKnownColor (KnownColor.Bisque); }
}
- static public Color Black
- {
- get {
- return Color.FromArgbNamed (255, 0, 0, 0, "Black", KnownColor.Black);
- }
+ static public Color Black {
+ get { return KnownColors.FromKnownColor (KnownColor.Black); }
}
- static public Color BlanchedAlmond
- {
- get {
- return Color.FromArgbNamed (255, 255, 235, 205, "BlanchedAlmond", KnownColor.BlanchedAlmond);
- }
+ static public Color BlanchedAlmond {
+ get { return KnownColors.FromKnownColor (KnownColor.BlanchedAlmond); }
}
- static public Color Blue
- {
- get {
- return Color.FromArgbNamed (255, 0, 0, 255, "Blue", KnownColor.Blue);
- }
+ static public Color Blue {
+ get { return KnownColors.FromKnownColor (KnownColor.Blue); }
}
- static public Color BlueViolet
- {
- get {
- return Color.FromArgbNamed (255, 138, 43, 226, "BlueViolet", KnownColor.BlueViolet);
- }
+ static public Color BlueViolet {
+ get { return KnownColors.FromKnownColor (KnownColor.BlueViolet); }
}
- static public Color Brown
- {
- get {
- return Color.FromArgbNamed (255, 165, 42, 42, "Brown", KnownColor.Brown);
- }
+ static public Color Brown {
+ get { return KnownColors.FromKnownColor (KnownColor.Brown); }
}
- static public Color BurlyWood
- {
- get {
- return Color.FromArgbNamed (255, 222, 184, 135, "BurlyWood", KnownColor.BurlyWood);
- }
+ static public Color BurlyWood {
+ get { return KnownColors.FromKnownColor (KnownColor.BurlyWood); }
}
- static public Color CadetBlue
- {
- get {
- return Color.FromArgbNamed (255, 95, 158, 160, "CadetBlue", KnownColor.CadetBlue);
- }
+ static public Color CadetBlue {
+ get { return KnownColors.FromKnownColor (KnownColor.CadetBlue); }
}
- static public Color Chartreuse
- {
- get {
- return Color.FromArgbNamed (255, 127, 255, 0, "Chartreuse", KnownColor.Chartreuse);
- }
+ static public Color Chartreuse {
+ get { return KnownColors.FromKnownColor (KnownColor.Chartreuse); }
}
- static public Color Chocolate
- {
- get {
- return Color.FromArgbNamed (255, 210, 105, 30, "Chocolate", KnownColor.Chocolate);
- }
+ static public Color Chocolate {
+ get { return KnownColors.FromKnownColor (KnownColor.Chocolate); }
}
- static public Color Coral
- {
- get {
- return Color.FromArgbNamed (255, 255, 127, 80, "Coral", KnownColor.Coral);
- }
+ static public Color Coral {
+ get { return KnownColors.FromKnownColor (KnownColor.Coral); }
}
- static public Color CornflowerBlue
- {
- get {
- return Color.FromArgbNamed (255, 100, 149, 237, "CornflowerBlue", KnownColor.CornflowerBlue);
- }
+ static public Color CornflowerBlue {
+ get { return KnownColors.FromKnownColor (KnownColor.CornflowerBlue); }
}
- static public Color Cornsilk
- {
- get {
- return Color.FromArgbNamed (255, 255, 248, 220, "Cornsilk", KnownColor.Cornsilk);
- }
+ static public Color Cornsilk {
+ get { return KnownColors.FromKnownColor (KnownColor.Cornsilk); }
}
- static public Color Crimson
- {
- get {
- return Color.FromArgbNamed (255, 220, 20, 60, "Crimson", KnownColor.Crimson);
- }
+ static public Color Crimson {
+ get { return KnownColors.FromKnownColor (KnownColor.Crimson); }
}
- static public Color Cyan
- {
- get {
- return Color.FromArgbNamed (255, 0, 255, 255, "Cyan", KnownColor.Cyan);
- }
+ static public Color Cyan {
+ get { return KnownColors.FromKnownColor (KnownColor.Cyan); }
}
- static public Color DarkBlue
- {
- get {
- return Color.FromArgbNamed (255, 0, 0, 139, "DarkBlue", KnownColor.DarkBlue);
- }
+ static public Color DarkBlue {
+ get { return KnownColors.FromKnownColor (KnownColor.DarkBlue); }
}
- static public Color DarkCyan
- {
- get {
- return Color.FromArgbNamed (255, 0, 139, 139, "DarkCyan", KnownColor.DarkCyan);
- }
+ static public Color DarkCyan {
+ get { return KnownColors.FromKnownColor (KnownColor.DarkCyan); }
}
- static public Color DarkGoldenrod
- {
- get {
- return Color.FromArgbNamed (255, 184, 134, 11, "DarkGoldenrod", KnownColor.DarkGoldenrod);
- }
+ static public Color DarkGoldenrod {
+ get { return KnownColors.FromKnownColor (KnownColor.DarkGoldenrod); }
}
- static public Color DarkGray
- {
- get {
- return Color.FromArgbNamed (255, 169, 169, 169, "DarkGray", KnownColor.DarkGray);
- }
+ static public Color DarkGray {
+ get { return KnownColors.FromKnownColor (KnownColor.DarkGray); }
}
- static public Color DarkGreen
- {
- get {
- return Color.FromArgbNamed (255, 0, 100, 0, "DarkGreen", KnownColor.DarkGreen);
- }
+ static public Color DarkGreen {
+ get { return KnownColors.FromKnownColor (KnownColor.DarkGreen); }
}
- static public Color DarkKhaki
- {
- get {
- return Color.FromArgbNamed (255, 189, 183, 107, "DarkKhaki", KnownColor.DarkKhaki);
- }
+ static public Color DarkKhaki {
+ get { return KnownColors.FromKnownColor (KnownColor.DarkKhaki); }
}
- static public Color DarkMagenta
- {
- get {
- return Color.FromArgbNamed (255, 139, 0, 139, "DarkMagenta", KnownColor.DarkMagenta);
- }
+ static public Color DarkMagenta {
+ get { return KnownColors.FromKnownColor (KnownColor.DarkMagenta); }
}
- static public Color DarkOliveGreen
- {
- get {
- return Color.FromArgbNamed (255, 85, 107, 47, "DarkOliveGreen", KnownColor.DarkOliveGreen);
- }
+ static public Color DarkOliveGreen {
+ get { return KnownColors.FromKnownColor (KnownColor.DarkOliveGreen); }
}
- static public Color DarkOrange
- {
- get {
- return Color.FromArgbNamed (255, 255, 140, 0, "DarkOrange", KnownColor.DarkOrange);
- }
+ static public Color DarkOrange {
+ get { return KnownColors.FromKnownColor (KnownColor.DarkOrange); }
}
- static public Color DarkOrchid
- {
- get {
- return Color.FromArgbNamed (255, 153, 50, 204, "DarkOrchid", KnownColor.DarkOrchid);
- }
+ static public Color DarkOrchid {
+ get { return KnownColors.FromKnownColor (KnownColor.DarkOrchid); }
}
- static public Color DarkRed
- {
- get {
- return Color.FromArgbNamed (255, 139, 0, 0, "DarkRed", KnownColor.DarkRed);
- }
+ static public Color DarkRed {
+ get { return KnownColors.FromKnownColor (KnownColor.DarkRed); }
}
- static public Color DarkSalmon
- {
- get {
- return Color.FromArgbNamed (255, 233, 150, 122, "DarkSalmon", KnownColor.DarkSalmon);
- }
+ static public Color DarkSalmon {
+ get { return KnownColors.FromKnownColor (KnownColor.DarkSalmon); }
}
- static public Color DarkSeaGreen
- {
- get {
- return Color.FromArgbNamed (255, 143, 188, 139, "DarkSeaGreen", KnownColor.DarkSeaGreen);
- }
+ static public Color DarkSeaGreen {
+ get { return KnownColors.FromKnownColor (KnownColor.DarkSeaGreen); }
}
- static public Color DarkSlateBlue
- {
- get {
- return Color.FromArgbNamed (255, 72, 61, 139, "DarkSlateBlue", KnownColor.DarkSlateBlue);
- }
+ static public Color DarkSlateBlue {
+ get { return KnownColors.FromKnownColor (KnownColor.DarkSlateBlue); }
}
- static public Color DarkSlateGray
- {
- get {
- return Color.FromArgbNamed (255, 47, 79, 79, "DarkSlateGray", KnownColor.DarkSlateGray);
- }
+ static public Color DarkSlateGray {
+ get { return KnownColors.FromKnownColor (KnownColor.DarkSlateGray); }
}
- static public Color DarkTurquoise
- {
- get {
- return Color.FromArgbNamed (255, 0, 206, 209, "DarkTurquoise", KnownColor.DarkTurquoise);
- }
+ static public Color DarkTurquoise {
+ get { return KnownColors.FromKnownColor (KnownColor.DarkTurquoise); }
}
- static public Color DarkViolet
- {
- get {
- return Color.FromArgbNamed (255, 148, 0, 211, "DarkViolet", KnownColor.DarkViolet);
- }
+ static public Color DarkViolet {
+ get { return KnownColors.FromKnownColor (KnownColor.DarkViolet); }
}
- static public Color DeepPink
- {
- get {
- return Color.FromArgbNamed (255, 255, 20, 147, "DeepPink", KnownColor.DeepPink);
- }
+ static public Color DeepPink {
+ get { return KnownColors.FromKnownColor (KnownColor.DeepPink); }
}
- static public Color DeepSkyBlue
- {
- get {
- return Color.FromArgbNamed (255, 0, 191, 255, "DeepSkyBlue", KnownColor.DeepSkyBlue);
- }
+ static public Color DeepSkyBlue {
+ get { return KnownColors.FromKnownColor (KnownColor.DeepSkyBlue); }
}
- static public Color DimGray
- {
- get {
- return Color.FromArgbNamed (255, 105, 105, 105, "DimGray", KnownColor.DimGray);
- }
+ static public Color DimGray {
+ get { return KnownColors.FromKnownColor (KnownColor.DimGray); }
}
- static public Color DodgerBlue
- {
- get {
- return Color.FromArgbNamed (255, 30, 144, 255, "DodgerBlue", KnownColor.DodgerBlue);
- }
+ static public Color DodgerBlue {
+ get { return KnownColors.FromKnownColor (KnownColor.DodgerBlue); }
}
- static public Color Firebrick
- {
- get {
- return Color.FromArgbNamed (255, 178, 34, 34, "Firebrick", KnownColor.Firebrick);
- }
+ static public Color Firebrick {
+ get { return KnownColors.FromKnownColor (KnownColor.Firebrick); }
}
- static public Color FloralWhite
- {
- get {
- return Color.FromArgbNamed (255, 255, 250, 240, "FloralWhite", KnownColor.FloralWhite);
- }
+ static public Color FloralWhite {
+ get { return KnownColors.FromKnownColor (KnownColor.FloralWhite); }
}
- static public Color ForestGreen
- {
- get {
- return Color.FromArgbNamed (255, 34, 139, 34, "ForestGreen", KnownColor.ForestGreen);
- }
+ static public Color ForestGreen {
+ get { return KnownColors.FromKnownColor (KnownColor.ForestGreen); }
}
- static public Color Fuchsia
- {
- get {
- return Color.FromArgbNamed (255, 255, 0, 255, "Fuchsia", KnownColor.Fuchsia);
- }
+ static public Color Fuchsia {
+ get { return KnownColors.FromKnownColor (KnownColor.Fuchsia); }
}
- static public Color Gainsboro
- {
- get {
- return Color.FromArgbNamed (255, 220, 220, 220, "Gainsboro", KnownColor.Gainsboro);
- }
+ static public Color Gainsboro {
+ get { return KnownColors.FromKnownColor (KnownColor.Gainsboro); }
}
- static public Color GhostWhite
- {
- get {
- return Color.FromArgbNamed (255, 248, 248, 255, "GhostWhite", KnownColor.GhostWhite);
- }
+ static public Color GhostWhite {
+ get { return KnownColors.FromKnownColor (KnownColor.GhostWhite); }
}
- static public Color Gold
- {
- get {
- return Color.FromArgbNamed (255, 255, 215, 0, "Gold", KnownColor.Gold);
- }
+ static public Color Gold {
+ get { return KnownColors.FromKnownColor (KnownColor.Gold); }
}
- static public Color Goldenrod
- {
- get {
- return Color.FromArgbNamed (255, 218, 165, 32, "Goldenrod", KnownColor.Goldenrod);
- }
+ static public Color Goldenrod {
+ get { return KnownColors.FromKnownColor (KnownColor.Goldenrod); }
}
- static public Color Gray
- {
- get {
- return Color.FromArgbNamed (255, 128, 128, 128, "Gray", KnownColor.Gray);
- }
+ static public Color Gray {
+ get { return KnownColors.FromKnownColor (KnownColor.Gray); }
}
- static public Color Green
- {
- get {
- // LAMESPEC: MS uses A=255, R=0, G=128, B=0 for Green Color,
- // which is seems to be wrong. G must be 255.
- return Color.FromArgbNamed (255, 0, 128, 0, "Green", KnownColor.Green);
- }
+ static public Color Green {
+ get { return KnownColors.FromKnownColor (KnownColor.Green); }
}
- static public Color GreenYellow
- {
- get {
- return Color.FromArgbNamed (255, 173, 255, 47, "GreenYellow", KnownColor.GreenYellow);
- }
+ static public Color GreenYellow {
+ get { return KnownColors.FromKnownColor (KnownColor.GreenYellow); }
}
- static public Color Honeydew
- {
- get {
- return Color.FromArgbNamed (255, 240, 255, 240, "Honeydew", KnownColor.Honeydew);
- }
+ static public Color Honeydew {
+ get { return KnownColors.FromKnownColor (KnownColor.Honeydew); }
}
- static public Color HotPink
- {
- get {
- return Color.FromArgbNamed (255, 255, 105, 180, "HotPink", KnownColor.HotPink);
- }
+ static public Color HotPink {
+ get { return KnownColors.FromKnownColor (KnownColor.HotPink); }
}
- static public Color IndianRed
- {
- get {
- return Color.FromArgbNamed (255, 205, 92, 92, "IndianRed", KnownColor.IndianRed);
- }
+ static public Color IndianRed {
+ get { return KnownColors.FromKnownColor (KnownColor.IndianRed); }
}
- static public Color Indigo
- {
- get {
- return Color.FromArgbNamed (255, 75, 0, 130, "Indigo", KnownColor.Indigo);
- }
+ static public Color Indigo {
+ get { return KnownColors.FromKnownColor (KnownColor.Indigo); }
}
- static public Color Ivory
- {
- get {
- return Color.FromArgbNamed (255, 255, 255, 240, "Ivory", KnownColor.Ivory);
- }
+ static public Color Ivory {
+ get { return KnownColors.FromKnownColor (KnownColor.Ivory); }
}
- static public Color Khaki
- {
- get {
- return Color.FromArgbNamed (255, 240, 230, 140, "Khaki", KnownColor.Khaki);
- }
+ static public Color Khaki {
+ get { return KnownColors.FromKnownColor (KnownColor.Khaki); }
}
- static public Color Lavender
- {
- get {
- return Color.FromArgbNamed (255, 230, 230, 250, "Lavender", KnownColor.Lavender);
- }
+ static public Color Lavender {
+ get { return KnownColors.FromKnownColor (KnownColor.Lavender); }
}
- static public Color LavenderBlush
- {
- get {
- return Color.FromArgbNamed (255, 255, 240, 245, "LavenderBlush", KnownColor.LavenderBlush);
- }
+ static public Color LavenderBlush {
+ get { return KnownColors.FromKnownColor (KnownColor.LavenderBlush); }
}
- static public Color LawnGreen
- {
- get {
- return Color.FromArgbNamed (255, 124, 252, 0, "LawnGreen", KnownColor.LawnGreen);
- }
+ static public Color LawnGreen {
+ get { return KnownColors.FromKnownColor (KnownColor.LawnGreen); }
}
- static public Color LemonChiffon
- {
- get {
- return Color.FromArgbNamed (255, 255, 250, 205, "LemonChiffon", KnownColor.LemonChiffon);
- }
+ static public Color LemonChiffon {
+ get { return KnownColors.FromKnownColor (KnownColor.LemonChiffon); }
}
- static public Color LightBlue
- {
- get {
- return Color.FromArgbNamed (255, 173, 216, 230, "LightBlue", KnownColor.LightBlue);
- }
+ static public Color LightBlue {
+ get { return KnownColors.FromKnownColor (KnownColor.LightBlue); }
}
- static public Color LightCoral
- {
- get {
- return Color.FromArgbNamed (255, 240, 128, 128, "LightCoral", KnownColor.LightCoral);
- }
+ static public Color LightCoral {
+ get { return KnownColors.FromKnownColor (KnownColor.LightCoral); }
}
- static public Color LightCyan
- {
- get {
- return Color.FromArgbNamed (255, 224, 255, 255, "LightCyan", KnownColor.LightCyan);
- }
+ static public Color LightCyan {
+ get { return KnownColors.FromKnownColor (KnownColor.LightCyan); }
}
- static public Color LightGoldenrodYellow
- {
- get {
- return Color.FromArgbNamed (255, 250, 250, 210, "LightGoldenrodYellow", KnownColor.LightGoldenrodYellow);
- }
+ static public Color LightGoldenrodYellow {
+ get { return KnownColors.FromKnownColor (KnownColor.LightGoldenrodYellow); }
}
- static public Color LightGreen
- {
- get {
- return Color.FromArgbNamed (255, 144, 238, 144, "LightGreen", KnownColor.LightGreen);
- }
+ static public Color LightGreen {
+ get { return KnownColors.FromKnownColor (KnownColor.LightGreen); }
}
- static public Color LightGray
- {
- get {
- return Color.FromArgbNamed (255, 211, 211, 211, "LightGray", KnownColor.LightGray);
- }
+ static public Color LightGray {
+ get { return KnownColors.FromKnownColor (KnownColor.LightGray); }
}
- static public Color LightPink
- {
- get {
- return Color.FromArgbNamed (255, 255, 182, 193, "LightPink", KnownColor.LightPink);
- }
+ static public Color LightPink {
+ get { return KnownColors.FromKnownColor (KnownColor.LightPink); }
}
- static public Color LightSalmon
- {
- get {
- return Color.FromArgbNamed (255, 255, 160, 122, "LightSalmon", KnownColor.LightSalmon);
- }
+ static public Color LightSalmon {
+ get { return KnownColors.FromKnownColor (KnownColor.LightSalmon); }
}
- static public Color LightSeaGreen
- {
- get {
- return Color.FromArgbNamed (255, 32, 178, 170, "LightSeaGreen", KnownColor.LightSeaGreen);
- }
+ static public Color LightSeaGreen {
+ get { return KnownColors.FromKnownColor (KnownColor.LightSeaGreen); }
}
- static public Color LightSkyBlue
- {
- get {
- return Color.FromArgbNamed (255, 135, 206, 250, "LightSkyBlue", KnownColor.LightSkyBlue);
- }
+ static public Color LightSkyBlue {
+ get { return KnownColors.FromKnownColor (KnownColor.LightSkyBlue); }
}
- static public Color LightSlateGray
- {
- get {
- return Color.FromArgbNamed (255, 119, 136, 153, "LightSlateGray", KnownColor.LightSlateGray);
- }
+ static public Color LightSlateGray {
+ get { return KnownColors.FromKnownColor (KnownColor.LightSlateGray); }
}
- static public Color LightSteelBlue
- {
- get {
- return Color.FromArgbNamed (255, 176, 196, 222, "LightSteelBlue", KnownColor.LightSteelBlue);
- }
+ static public Color LightSteelBlue {
+ get { return KnownColors.FromKnownColor (KnownColor.LightSteelBlue); }
}
- static public Color LightYellow
- {
- get {
- return Color.FromArgbNamed (255, 255, 255, 224, "LightYellow", KnownColor.LightYellow);
- }
+ static public Color LightYellow {
+ get { return KnownColors.FromKnownColor (KnownColor.LightYellow); }
}
- static public Color Lime
- {
- get {
- return Color.FromArgbNamed (255, 0, 255, 0, "Lime", KnownColor.Lime);
- }
+ static public Color Lime {
+ get { return KnownColors.FromKnownColor (KnownColor.Lime); }
}
- static public Color LimeGreen
- {
- get {
- return Color.FromArgbNamed (255, 50, 205, 50, "LimeGreen", KnownColor.LimeGreen);
- }
+ static public Color LimeGreen {
+ get { return KnownColors.FromKnownColor (KnownColor.LimeGreen); }
}
- static public Color Linen
- {
- get {
- return Color.FromArgbNamed (255, 250, 240, 230, "Linen", KnownColor.Linen);
- }
+ static public Color Linen {
+ get { return KnownColors.FromKnownColor (KnownColor.Linen); }
}
- static public Color Magenta
- {
- get {
- return Color.FromArgbNamed (255, 255, 0, 255, "Magenta", KnownColor.Magenta);
- }
+ static public Color Magenta {
+ get { return KnownColors.FromKnownColor (KnownColor.Magenta); }
}
- static public Color Maroon
- {
- get {
- return Color.FromArgbNamed (255, 128, 0, 0, "Maroon", KnownColor.Maroon);
- }
+ static public Color Maroon {
+ get { return KnownColors.FromKnownColor (KnownColor.Maroon); }
}
- static public Color MediumAquamarine
- {
- get {
- return Color.FromArgbNamed (255, 102, 205, 170, "MediumAquamarine", KnownColor.MediumAquamarine);
- }
+ static public Color MediumAquamarine {
+ get { return KnownColors.FromKnownColor (KnownColor.MediumAquamarine); }
}
- static public Color MediumBlue
- {
- get {
- return Color.FromArgbNamed (255, 0, 0, 205, "MediumBlue", KnownColor.MediumBlue);
- }
+ static public Color MediumBlue {
+ get { return KnownColors.FromKnownColor (KnownColor.MediumBlue); }
}
- static public Color MediumOrchid
- {
- get {
- return Color.FromArgbNamed (255, 186, 85, 211, "MediumOrchid", KnownColor.MediumOrchid);
- }
+ static public Color MediumOrchid {
+ get { return KnownColors.FromKnownColor (KnownColor.MediumOrchid); }
}
- static public Color MediumPurple
- {
- get {
- return Color.FromArgbNamed (255, 147, 112, 219, "MediumPurple", KnownColor.MediumPurple);
- }
+ static public Color MediumPurple {
+ get { return KnownColors.FromKnownColor (KnownColor.MediumPurple); }
}
- static public Color MediumSeaGreen
- {
- get {
- return Color.FromArgbNamed (255, 60, 179, 113, "MediumSeaGreen", KnownColor.MediumSeaGreen);
- }
+ static public Color MediumSeaGreen {
+ get { return KnownColors.FromKnownColor (KnownColor.MediumSeaGreen); }
}
- static public Color MediumSlateBlue
- {
- get {
- return Color.FromArgbNamed (255, 123, 104, 238, "MediumSlateBlue", KnownColor.MediumSlateBlue);
- }
+ static public Color MediumSlateBlue {
+ get { return KnownColors.FromKnownColor (KnownColor.MediumSlateBlue); }
}
- static public Color MediumSpringGreen
- {
- get {
- return Color.FromArgbNamed (255, 0, 250, 154, "MediumSpringGreen", KnownColor.MediumSpringGreen);
- }
+ static public Color MediumSpringGreen {
+ get { return KnownColors.FromKnownColor (KnownColor.MediumSpringGreen); }
}
- static public Color MediumTurquoise
- {
- get {
- return Color.FromArgbNamed (255, 72, 209, 204, "MediumTurquoise", KnownColor.MediumTurquoise);
- }
+ static public Color MediumTurquoise {
+ get { return KnownColors.FromKnownColor (KnownColor.MediumTurquoise); }
}
- static public Color MediumVioletRed
- {
- get {
- return Color.FromArgbNamed (255, 199, 21, 133, "MediumVioletRed", KnownColor.MediumVioletRed);
- }
+ static public Color MediumVioletRed {
+ get { return KnownColors.FromKnownColor (KnownColor.MediumVioletRed); }
}
- static public Color MidnightBlue
- {
- get {
- return Color.FromArgbNamed (255, 25, 25, 112, "MidnightBlue", KnownColor.MidnightBlue);
- }
+ static public Color MidnightBlue {
+ get { return KnownColors.FromKnownColor (KnownColor.MidnightBlue); }
}
- static public Color MintCream
- {
- get {
- return Color.FromArgbNamed (255, 245, 255, 250, "MintCream", KnownColor.MintCream);
- }
+ static public Color MintCream {
+ get { return KnownColors.FromKnownColor (KnownColor.MintCream); }
}
- static public Color MistyRose
- {
- get {
- return Color.FromArgbNamed (255, 255, 228, 225, "MistyRose", KnownColor.MistyRose);
- }
+ static public Color MistyRose {
+ get { return KnownColors.FromKnownColor (KnownColor.MistyRose); }
}
- static public Color Moccasin
- {
- get {
- return Color.FromArgbNamed (255, 255, 228, 181, "Moccasin", KnownColor.Moccasin);
- }
+ static public Color Moccasin {
+ get { return KnownColors.FromKnownColor (KnownColor.Moccasin); }
}
- static public Color NavajoWhite
- {
- get {
- return Color.FromArgbNamed (255, 255, 222, 173, "NavajoWhite", KnownColor.NavajoWhite);
- }
+ static public Color NavajoWhite {
+ get { return KnownColors.FromKnownColor (KnownColor.NavajoWhite); }
}
- static public Color Navy
- {
- get {
- return Color.FromArgbNamed (255, 0, 0, 128, "Navy", KnownColor.Navy);
- }
+ static public Color Navy {
+ get { return KnownColors.FromKnownColor (KnownColor.Navy); }
}
- static public Color OldLace
- {
- get {
- return Color.FromArgbNamed (255, 253, 245, 230, "OldLace", KnownColor.OldLace);
- }
+ static public Color OldLace {
+ get { return KnownColors.FromKnownColor (KnownColor.OldLace); }
}
- static public Color Olive
- {
- get {
- return Color.FromArgbNamed (255, 128, 128, 0, "Olive", KnownColor.Olive);
- }
+ static public Color Olive {
+ get { return KnownColors.FromKnownColor (KnownColor.Olive); }
}
- static public Color OliveDrab
- {
- get {
- return Color.FromArgbNamed (255, 107, 142, 35, "OliveDrab", KnownColor.OliveDrab);
- }
+ static public Color OliveDrab {
+ get { return KnownColors.FromKnownColor (KnownColor.OliveDrab); }
}
- static public Color Orange
- {
- get {
- return Color.FromArgbNamed (255, 255, 165, 0, "Orange", KnownColor.Orange);
- }
+ static public Color Orange {
+ get { return KnownColors.FromKnownColor (KnownColor.Orange); }
}
- static public Color OrangeRed
- {
- get {
- return Color.FromArgbNamed (255, 255, 69, 0, "OrangeRed", KnownColor.OrangeRed);
- }
+ static public Color OrangeRed {
+ get { return KnownColors.FromKnownColor (KnownColor.OrangeRed); }
}
- static public Color Orchid
- {
- get {
- return Color.FromArgbNamed (255, 218, 112, 214, "Orchid", KnownColor.Orchid);
- }
+ static public Color Orchid {
+ get { return KnownColors.FromKnownColor (KnownColor.Orchid); }
}
- static public Color PaleGoldenrod
- {
- get {
- return Color.FromArgbNamed (255, 238, 232, 170, "PaleGoldenrod", KnownColor.PaleGoldenrod);
- }
+ static public Color PaleGoldenrod {
+ get { return KnownColors.FromKnownColor (KnownColor.PaleGoldenrod); }
}
- static public Color PaleGreen
- {
- get {
- return Color.FromArgbNamed (255, 152, 251, 152, "PaleGreen", KnownColor.PaleGreen);
- }
+ static public Color PaleGreen {
+ get { return KnownColors.FromKnownColor (KnownColor.PaleGreen); }
}
- static public Color PaleTurquoise
- {
- get {
- return Color.FromArgbNamed (255, 175, 238, 238, "PaleTurquoise", KnownColor.PaleTurquoise);
- }
+ static public Color PaleTurquoise {
+ get { return KnownColors.FromKnownColor (KnownColor.PaleTurquoise); }
}
- static public Color PaleVioletRed
- {
- get {
- return Color.FromArgbNamed (255, 219, 112, 147, "PaleVioletRed", KnownColor.PaleVioletRed);
- }
+ static public Color PaleVioletRed {
+ get { return KnownColors.FromKnownColor (KnownColor.PaleVioletRed); }
}
- static public Color PapayaWhip
- {
- get {
- return Color.FromArgbNamed (255, 255, 239, 213, "PapayaWhip", KnownColor.PapayaWhip);
- }
+ static public Color PapayaWhip {
+ get { return KnownColors.FromKnownColor (KnownColor.PapayaWhip); }
}
- static public Color PeachPuff
- {
- get {
- return Color.FromArgbNamed (255, 255, 218, 185, "PeachPuff", KnownColor.PeachPuff);
- }
+ static public Color PeachPuff {
+ get { return KnownColors.FromKnownColor (KnownColor.PeachPuff); }
}
- static public Color Peru
- {
- get {
- return Color.FromArgbNamed (255, 205, 133, 63, "Peru", KnownColor.Peru);
- }
+ static public Color Peru {
+ get { return KnownColors.FromKnownColor (KnownColor.Peru); }
}
- static public Color Pink
- {
- get {
- return Color.FromArgbNamed (255, 255, 192, 203, "Pink", KnownColor.Pink);
- }
+ static public Color Pink {
+ get { return KnownColors.FromKnownColor (KnownColor.Pink); }
}
- static public Color Plum
- {
- get {
- return Color.FromArgbNamed (255, 221, 160, 221, "Plum", KnownColor.Plum);
- }
+ static public Color Plum {
+ get { return KnownColors.FromKnownColor (KnownColor.Plum); }
}
- static public Color PowderBlue
- {
- get {
- return Color.FromArgbNamed (255, 176, 224, 230, "PowderBlue", KnownColor.PowderBlue);
- }
+ static public Color PowderBlue {
+ get { return KnownColors.FromKnownColor (KnownColor.PowderBlue); }
}
- static public Color Purple
- {
- get {
- return Color.FromArgbNamed (255, 128, 0, 128, "Purple", KnownColor.Purple);
- }
+ static public Color Purple {
+ get { return KnownColors.FromKnownColor (KnownColor.Purple); }
}
- static public Color Red
- {
- get {
- return Color.FromArgbNamed (255, 255, 0, 0, "Red", KnownColor.Red);
- }
+ static public Color Red {
+ get { return KnownColors.FromKnownColor (KnownColor.Red); }
}
- static public Color RosyBrown
- {
- get {
- return Color.FromArgbNamed (255, 188, 143, 143, "RosyBrown", KnownColor.RosyBrown);
- }
+ static public Color RosyBrown {
+ get { return KnownColors.FromKnownColor (KnownColor.RosyBrown); }
}
- static public Color RoyalBlue
- {
- get {
- return Color.FromArgbNamed (255, 65, 105, 225, "RoyalBlue", KnownColor.RoyalBlue);
- }
+ static public Color RoyalBlue {
+ get { return KnownColors.FromKnownColor (KnownColor.RoyalBlue); }
}
- static public Color SaddleBrown
- {
- get {
- return Color.FromArgbNamed (255, 139, 69, 19, "SaddleBrown", KnownColor.SaddleBrown);
- }
+ static public Color SaddleBrown {
+ get { return KnownColors.FromKnownColor (KnownColor.SaddleBrown); }
}
- static public Color Salmon
- {
- get {
- return Color.FromArgbNamed (255, 250, 128, 114, "Salmon", KnownColor.Salmon);
- }
+ static public Color Salmon {
+ get { return KnownColors.FromKnownColor (KnownColor.Salmon); }
}
- static public Color SandyBrown
- {
- get {
- return Color.FromArgbNamed (255, 244, 164, 96, "SandyBrown", KnownColor.SandyBrown);
- }
+ static public Color SandyBrown {
+ get { return KnownColors.FromKnownColor (KnownColor.SandyBrown); }
}
- static public Color SeaGreen
- {
- get {
- return Color.FromArgbNamed (255, 46, 139, 87, "SeaGreen", KnownColor.SeaGreen);
- }
+ static public Color SeaGreen {
+ get { return KnownColors.FromKnownColor (KnownColor.SeaGreen); }
}
- static public Color SeaShell
- {
- get {
- return Color.FromArgbNamed (255, 255, 245, 238, "SeaShell", KnownColor.SeaShell);
- }
+ static public Color SeaShell {
+ get { return KnownColors.FromKnownColor (KnownColor.SeaShell); }
}
- static public Color Sienna
- {
- get {
- return Color.FromArgbNamed (255, 160, 82, 45, "Sienna", KnownColor.Sienna);
- }
+ static public Color Sienna {
+ get { return KnownColors.FromKnownColor (KnownColor.Sienna); }
}
- static public Color Silver
- {
- get {
- return Color.FromArgbNamed (255, 192, 192, 192, "Silver", KnownColor.Silver);
- }
+ static public Color Silver {
+ get { return KnownColors.FromKnownColor (KnownColor.Silver); }
}
- static public Color SkyBlue
- {
- get {
- return Color.FromArgbNamed (255, 135, 206, 235, "SkyBlue", KnownColor.SkyBlue);
- }
+ static public Color SkyBlue {
+ get { return KnownColors.FromKnownColor (KnownColor.SkyBlue); }
}
- static public Color SlateBlue
- {
- get {
- return Color.FromArgbNamed (255, 106, 90, 205, "SlateBlue", KnownColor.SlateBlue);
- }
+ static public Color SlateBlue {
+ get { return KnownColors.FromKnownColor (KnownColor.SlateBlue); }
}
- static public Color SlateGray
- {
- get {
- return Color.FromArgbNamed (255, 112, 128, 144, "SlateGray", KnownColor.SlateGray);
- }
+ static public Color SlateGray {
+ get { return KnownColors.FromKnownColor (KnownColor.SlateGray); }
}
- static public Color Snow
- {
- get {
- return Color.FromArgbNamed (255, 255, 250, 250, "Snow", KnownColor.Snow);
- }
+ static public Color Snow {
+ get { return KnownColors.FromKnownColor (KnownColor.Snow); }
}
- static public Color SpringGreen
- {
- get {
- return Color.FromArgbNamed (255, 0, 255, 127, "SpringGreen", KnownColor.SpringGreen);
- }
+ static public Color SpringGreen {
+ get { return KnownColors.FromKnownColor (KnownColor.SpringGreen); }
}
- static public Color SteelBlue
- {
- get {
- return Color.FromArgbNamed (255, 70, 130, 180, "SteelBlue", KnownColor.SteelBlue);
- }
+ static public Color SteelBlue {
+ get { return KnownColors.FromKnownColor (KnownColor.SteelBlue); }
}
- static public Color Tan
- {
- get {
- return Color.FromArgbNamed (255, 210, 180, 140, "Tan", KnownColor.Tan);
- }
+ static public Color Tan {
+ get { return KnownColors.FromKnownColor (KnownColor.Tan); }
}
- static public Color Teal
- {
- get {
- return Color.FromArgbNamed (255, 0, 128, 128, "Teal", KnownColor.Teal);
- }
+ static public Color Teal {
+ get { return KnownColors.FromKnownColor (KnownColor.Teal); }
}
- static public Color Thistle
- {
- get {
- return Color.FromArgbNamed (255, 216, 191, 216, "Thistle", KnownColor.Thistle);
- }
+ static public Color Thistle {
+ get { return KnownColors.FromKnownColor (KnownColor.Thistle); }
}
- static public Color Tomato
- {
- get {
- return Color.FromArgbNamed (255, 255, 99, 71, "Tomato", KnownColor.Tomato);
- }
+ static public Color Tomato {
+ get { return KnownColors.FromKnownColor (KnownColor.Tomato); }
}
- static public Color Turquoise
- {
- get {
- return Color.FromArgbNamed (255, 64, 224, 208, "Turquoise", KnownColor.Turquoise);
- }
+ static public Color Turquoise {
+ get { return KnownColors.FromKnownColor (KnownColor.Turquoise); }
}
- static public Color Violet
- {
- get {
- return Color.FromArgbNamed (255, 238, 130, 238, "Violet", KnownColor.Violet);
- }
+ static public Color Violet {
+ get { return KnownColors.FromKnownColor (KnownColor.Violet); }
}
- static public Color Wheat
- {
- get {
- return Color.FromArgbNamed (255, 245, 222, 179, "Wheat", KnownColor.Wheat);
- }
+ static public Color Wheat {
+ get { return KnownColors.FromKnownColor (KnownColor.Wheat); }
}
- static public Color White
- {
- get {
- return Color.FromArgbNamed (255, 255, 255, 255, "White", KnownColor.White);
- }
+ static public Color White {
+ get { return KnownColors.FromKnownColor (KnownColor.White); }
}
- static public Color WhiteSmoke
- {
- get {
- return Color.FromArgbNamed (255, 245, 245, 245, "WhiteSmoke", KnownColor.WhiteSmoke);
- }
+ static public Color WhiteSmoke {
+ get { return KnownColors.FromKnownColor (KnownColor.WhiteSmoke); }
}
- static public Color Yellow
- {
- get {
- return Color.FromArgbNamed (255, 255, 255, 0, "Yellow", KnownColor.Yellow);
- }
+ static public Color Yellow {
+ get { return KnownColors.FromKnownColor (KnownColor.Yellow); }
}
- static public Color YellowGreen
- {
- get {
- return Color.FromArgbNamed (255, 154, 205, 50, "YellowGreen", KnownColor.YellowGreen);
- }
+ static public Color YellowGreen {
+ get { return KnownColors.FromKnownColor (KnownColor.YellowGreen); }
}
}
}
return base.CanConvertTo (context, destinationType);
}
- public override object ConvertFrom (ITypeDescriptorContext context,
- CultureInfo culture,
- object value)
+ internal static Color StaticConvertFromString (ITypeDescriptorContext context, string s, CultureInfo culture)
{
- string s = value as string;
- if (s == null)
- return base.ConvertFrom (context, culture, value);
+ if (culture == null)
+ culture = CultureInfo.InvariantCulture;
s = s.Trim ();
- if (s.Length == 0) {
+ if (s.Length == 0)
return Color.Empty;
- }
-
- object named = Color.NamedColors [s];
- if (named != null)
- return (Color) named;
- named = Color.SystemColors [s];
- if (named != null)
- return (Color) named;
+ // Try to process both NamedColor and SystemColors from the KnownColor enumeration
+ if (Char.IsLetter (s [0])) {
+ KnownColor kc;
+ try {
+ kc = (KnownColor) Enum.Parse (typeof (KnownColor), s, true);
+ }
+ catch (Exception e) {
+ // whatever happens MS throws an basic Exception
+ string msg = Locale.GetText ("Invalid color name '{0}'.", s);
+ throw new Exception (msg, new FormatException (msg, e));
+ }
+ return KnownColors.FromKnownColor (kc);
+ }
String numSeparator = culture.TextInfo.ListSeparator;
- object result = null;
+ Color result = Color.Empty;
if (s.IndexOf (numSeparator) == -1) {
bool sharp = (s[0] == '#');
}
}
- if (result == null) {
+ if (result.IsEmpty) {
Int32Converter converter = new Int32Converter ();
String [] components = s.Split (numSeparator.ToCharArray ());
}
}
- if (result != null) {
+ if (!result.IsEmpty) {
Color resultColor = (Color) result;
// Look for a named or system color with those values
- foreach (Color c in Color.NamedColors.Values) {
- if (c == resultColor)
- return c;
- }
-
- foreach (Color c in Color.SystemColors.Values) {
+ foreach (Color c in KnownColors.Values) {
if (c == resultColor)
return c;
}
return result;
}
+
+ public override object ConvertFrom (ITypeDescriptorContext context,
+ CultureInfo culture,
+ object value)
+ {
+ string s = value as string;
+ if (s == null)
+ return base.ConvertFrom (context, culture, value);
+
+ return StaticConvertFromString (context, s, culture);
+ }
+
public override object ConvertTo (ITypeDescriptorContext context,
CultureInfo culture,
object value,
return string.Empty;
}
- if (color.IsKnownColor) {
- return color.Name;
- }
-
- if (color.IsNamedColor)
+ if (color.IsKnownColor || color.IsNamedColor)
return color.Name;
String numSeparator = culture.TextInfo.ListSeparator;
lock (creatingCached) {
if (cached != null)
return cached;
-
- ICollection named = (ICollection) Color.NamedColors.Values;
- ICollection system = (ICollection) Color.SystemColors.Values;
- Array colors = Array.CreateInstance (typeof (Color), named.Count + system.Count);
- named.CopyTo (colors, 0);
- system.CopyTo (colors, named.Count);
+
+ // copy all colors except the first empty slot
+ Array colors = Array.CreateInstance (typeof (Color), KnownColors.Values.Length - 1);
+ Array.Copy (KnownColors.Values, 1, colors, 0, colors.Length);
Array.Sort (colors, 0, colors.Length, new CompareColors ());
cached = new StandardValuesCollection (colors);
}
int B = (oleColor >> 16) & 0xFF;
Color retcolor = Color.FromArgb (255, R, G, B);
- foreach (Color c in Color.NamedColors.Values) {
- if (c == retcolor)
- return c;
- }
-
- foreach (Color c in Color.SystemColors.Values) {
+ foreach (Color c in KnownColors.Values) {
if (c == retcolor)
return c;
}
int B = (win32Color >> 16) & 0xFF;
Color retcolor = Color.FromArgb (255, R, G, B);
- foreach (Color c in Color.NamedColors.Values) {
- if (c == retcolor)
- return c;
- }
-
- foreach (Color c in Color.SystemColors.Values) {
+ foreach (Color c in KnownColors.Values) {
if (c == retcolor)
return c;
}
--- /dev/null
+//
+// System.Drawing.KnownColors
+//
+// Authors:
+// Gonzalo Paniagua Javier (gonzalo@ximian.com)
+// Peter Dennis Bartok (pbartok@novell.com)
+// Sebastien Pouliot <sebastien@ximian.com>
+//
+// Copyright (C) 2007 Novell, Inc (http://www.novell.com)
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace System.Drawing {
+
+#if NET_2_0
+ internal static class KnownColors {
+#else
+ internal class KnownColors {
+
+ private KnownColors ()
+ {
+ }
+#endif
+ static Color[] knownColors = new Color [] {
+ Color.Empty,
+ Color.FromArgbSystem (0xFF, 0xD4, 0xD0, 0xC8, "ActiveBorder", KnownColor.ActiveBorder),
+ Color.FromArgbSystem (0xFF, 0x00, 0x54, 0xE3, "ActiveCaption", KnownColor.ActiveCaption),
+ Color.FromArgbSystem (0xFF, 0xFF, 0xFF, 0xFF, "ActiveCaptionText", KnownColor.ActiveCaptionText),
+ Color.FromArgbSystem (0xFF, 0x80, 0x80, 0x80, "AppWorkspace", KnownColor.AppWorkspace),
+ Color.FromArgbSystem (0xFF, 0xEC, 0xE9, 0xD8, "Control", KnownColor.Control),
+ Color.FromArgbSystem (0xFF, 0xAC, 0xA8, 0x99, "ControlDark", KnownColor.ControlDark),
+ Color.FromArgbSystem (0xFF, 0x71, 0x6F, 0x64, "ControlDarkDark", KnownColor.ControlDarkDark),
+ Color.FromArgbSystem (0xFF, 0xF1, 0xEF, 0xE2, "ControlLight", KnownColor.ControlLight),
+ Color.FromArgbSystem (0xFF, 0xFF, 0xFF, 0xFF, "ControlLightLight", KnownColor.ControlLightLight),
+ Color.FromArgbSystem (0xFF, 0x00, 0x00, 0x00, "ControlText", KnownColor.ControlText),
+ Color.FromArgbSystem (0xFF, 0x00, 0x4E, 0x98, "Desktop", KnownColor.Desktop),
+ Color.FromArgbSystem (0xFF, 0xAC, 0xA8, 0x99, "GrayText", KnownColor.GrayText),
+ Color.FromArgbSystem (0xFF, 0x31, 0x6A, 0xC5, "Highlight", KnownColor.Highlight),
+ Color.FromArgbSystem (0xFF, 0xFF, 0xFF, 0xFF, "HighlightText", KnownColor.HighlightText),
+ Color.FromArgbSystem (0xFF, 0x00, 0x00, 0x80, "HotTrack", KnownColor.HotTrack),
+ Color.FromArgbSystem (0xFF, 0xD4, 0xD0, 0xC8, "InactiveBorder", KnownColor.InactiveBorder),
+ Color.FromArgbSystem (0xFF, 0x7A, 0x96, 0xDF, "InactiveCaption", KnownColor.InactiveCaption),
+ Color.FromArgbSystem (0xFF, 0xD8, 0xE4, 0xF8, "InactiveCaptionText", KnownColor.InactiveCaptionText),
+ Color.FromArgbSystem (0xFF, 0xFF, 0xFF, 0xE1, "Info", KnownColor.Info),
+ Color.FromArgbSystem (0xFF, 0x00, 0x00, 0x00, "InfoText", KnownColor.InfoText),
+ Color.FromArgbSystem (0xFF, 0xFF, 0xFF, 0xFF, "Menu", KnownColor.Menu),
+ Color.FromArgbSystem (0xFF, 0x00, 0x00, 0x00, "MenuText", KnownColor.MenuText),
+ Color.FromArgbSystem (0xFF, 0xD4, 0xD0, 0xC8, "ScrollBar", KnownColor.ScrollBar),
+ Color.FromArgbSystem (0xFF, 0xFF, 0xFF, 0xFF, "Window", KnownColor.Window),
+ Color.FromArgbSystem (0xFF, 0x00, 0x00, 0x00, "WindowFrame", KnownColor.WindowFrame),
+ Color.FromArgbSystem (0xFF, 0x00, 0x00, 0x00, "WindowText", KnownColor.WindowText),
+ Color.FromArgbNamed (0x00, 0xFF, 0xFF, 0xFF, "Transparent", KnownColor.Transparent),
+ Color.FromArgbNamed (0xFF, 0xF0, 0xF8, 0xFF, "AliceBlue", KnownColor.AliceBlue),
+ Color.FromArgbNamed (0xFF, 0xFA, 0xEB, 0xD7, "AntiqueWhite", KnownColor.AntiqueWhite),
+ Color.FromArgbNamed (0xFF, 0x00, 0xFF, 0xFF, "Aqua", KnownColor.Aqua),
+ Color.FromArgbNamed (0xFF, 0x7F, 0xFF, 0xD4, "Aquamarine", KnownColor.Aquamarine),
+ Color.FromArgbNamed (0xFF, 0xF0, 0xFF, 0xFF, "Azure", KnownColor.Azure),
+ Color.FromArgbNamed (0xFF, 0xF5, 0xF5, 0xDC, "Beige", KnownColor.Beige),
+ Color.FromArgbNamed (0xFF, 0xFF, 0xE4, 0xC4, "Bisque", KnownColor.Bisque),
+ Color.FromArgbNamed (0xFF, 0x00, 0x00, 0x00, "Black", KnownColor.Black),
+ Color.FromArgbNamed (0xFF, 0xFF, 0xEB, 0xCD, "BlanchedAlmond", KnownColor.BlanchedAlmond),
+ Color.FromArgbNamed (0xFF, 0x00, 0x00, 0xFF, "Blue", KnownColor.Blue),
+ Color.FromArgbNamed (0xFF, 0x8A, 0x2B, 0xE2, "BlueViolet", KnownColor.BlueViolet),
+ Color.FromArgbNamed (0xFF, 0xA5, 0x2A, 0x2A, "Brown", KnownColor.Brown),
+ Color.FromArgbNamed (0xFF, 0xDE, 0xB8, 0x87, "BurlyWood", KnownColor.BurlyWood),
+ Color.FromArgbNamed (0xFF, 0x5F, 0x9E, 0xA0, "CadetBlue", KnownColor.CadetBlue),
+ Color.FromArgbNamed (0xFF, 0x7F, 0xFF, 0x00, "Chartreuse", KnownColor.Chartreuse),
+ Color.FromArgbNamed (0xFF, 0xD2, 0x69, 0x1E, "Chocolate", KnownColor.Chocolate),
+ Color.FromArgbNamed (0xFF, 0xFF, 0x7F, 0x50, "Coral", KnownColor.Coral),
+ Color.FromArgbNamed (0xFF, 0x64, 0x95, 0xED, "CornflowerBlue", KnownColor.CornflowerBlue),
+ Color.FromArgbNamed (0xFF, 0xFF, 0xF8, 0xDC, "Cornsilk", KnownColor.Cornsilk),
+ Color.FromArgbNamed (0xFF, 0xDC, 0x14, 0x3C, "Crimson", KnownColor.Crimson),
+ Color.FromArgbNamed (0xFF, 0x00, 0xFF, 0xFF, "Cyan", KnownColor.Cyan),
+ Color.FromArgbNamed (0xFF, 0x00, 0x00, 0x8B, "DarkBlue", KnownColor.DarkBlue),
+ Color.FromArgbNamed (0xFF, 0x00, 0x8B, 0x8B, "DarkCyan", KnownColor.DarkCyan),
+ Color.FromArgbNamed (0xFF, 0xB8, 0x86, 0x0B, "DarkGoldenrod", KnownColor.DarkGoldenrod),
+ Color.FromArgbNamed (0xFF, 0xA9, 0xA9, 0xA9, "DarkGray", KnownColor.DarkGray),
+ Color.FromArgbNamed (0xFF, 0x00, 0x64, 0x00, "DarkGreen", KnownColor.DarkGreen),
+ Color.FromArgbNamed (0xFF, 0xBD, 0xB7, 0x6B, "DarkKhaki", KnownColor.DarkKhaki),
+ Color.FromArgbNamed (0xFF, 0x8B, 0x00, 0x8B, "DarkMagenta", KnownColor.DarkMagenta),
+ Color.FromArgbNamed (0xFF, 0x55, 0x6B, 0x2F, "DarkOliveGreen", KnownColor.DarkOliveGreen),
+ Color.FromArgbNamed (0xFF, 0xFF, 0x8C, 0x00, "DarkOrange", KnownColor.DarkOrange),
+ Color.FromArgbNamed (0xFF, 0x99, 0x32, 0xCC, "DarkOrchid", KnownColor.DarkOrchid),
+ Color.FromArgbNamed (0xFF, 0x8B, 0x00, 0x00, "DarkRed", KnownColor.DarkRed),
+ Color.FromArgbNamed (0xFF, 0xE9, 0x96, 0x7A, "DarkSalmon", KnownColor.DarkSalmon),
+ Color.FromArgbNamed (0xFF, 0x8F, 0xBC, 0x8B, "DarkSeaGreen", KnownColor.DarkSeaGreen),
+ Color.FromArgbNamed (0xFF, 0x48, 0x3D, 0x8B, "DarkSlateBlue", KnownColor.DarkSlateBlue),
+ Color.FromArgbNamed (0xFF, 0x2F, 0x4F, 0x4F, "DarkSlateGray", KnownColor.DarkSlateGray),
+ Color.FromArgbNamed (0xFF, 0x00, 0xCE, 0xD1, "DarkTurquoise", KnownColor.DarkTurquoise),
+ Color.FromArgbNamed (0xFF, 0x94, 0x00, 0xD3, "DarkViolet", KnownColor.DarkViolet),
+ Color.FromArgbNamed (0xFF, 0xFF, 0x14, 0x93, "DeepPink", KnownColor.DeepPink),
+ Color.FromArgbNamed (0xFF, 0x00, 0xBF, 0xFF, "DeepSkyBlue", KnownColor.DeepSkyBlue),
+ Color.FromArgbNamed (0xFF, 0x69, 0x69, 0x69, "DimGray", KnownColor.DimGray),
+ Color.FromArgbNamed (0xFF, 0x1E, 0x90, 0xFF, "DodgerBlue", KnownColor.DodgerBlue),
+ Color.FromArgbNamed (0xFF, 0xB2, 0x22, 0x22, "Firebrick", KnownColor.Firebrick),
+ Color.FromArgbNamed (0xFF, 0xFF, 0xFA, 0xF0, "FloralWhite", KnownColor.FloralWhite),
+ Color.FromArgbNamed (0xFF, 0x22, 0x8B, 0x22, "ForestGreen", KnownColor.ForestGreen),
+ Color.FromArgbNamed (0xFF, 0xFF, 0x00, 0xFF, "Fuchsia", KnownColor.Fuchsia),
+ Color.FromArgbNamed (0xFF, 0xDC, 0xDC, 0xDC, "Gainsboro", KnownColor.Gainsboro),
+ Color.FromArgbNamed (0xFF, 0xF8, 0xF8, 0xFF, "GhostWhite", KnownColor.GhostWhite),
+ Color.FromArgbNamed (0xFF, 0xFF, 0xD7, 0x00, "Gold", KnownColor.Gold),
+ Color.FromArgbNamed (0xFF, 0xDA, 0xA5, 0x20, "Goldenrod", KnownColor.Goldenrod),
+ Color.FromArgbNamed (0xFF, 0x80, 0x80, 0x80, "Gray", KnownColor.Gray),
+ Color.FromArgbNamed (0xFF, 0x00, 0x80, 0x00, "Green", KnownColor.Green),
+ Color.FromArgbNamed (0xFF, 0xAD, 0xFF, 0x2F, "GreenYellow", KnownColor.GreenYellow),
+ Color.FromArgbNamed (0xFF, 0xF0, 0xFF, 0xF0, "Honeydew", KnownColor.Honeydew),
+ Color.FromArgbNamed (0xFF, 0xFF, 0x69, 0xB4, "HotPink", KnownColor.HotPink),
+ Color.FromArgbNamed (0xFF, 0xCD, 0x5C, 0x5C, "IndianRed", KnownColor.IndianRed),
+ Color.FromArgbNamed (0xFF, 0x4B, 0x00, 0x82, "Indigo", KnownColor.Indigo),
+ Color.FromArgbNamed (0xFF, 0xFF, 0xFF, 0xF0, "Ivory", KnownColor.Ivory),
+ Color.FromArgbNamed (0xFF, 0xF0, 0xE6, 0x8C, "Khaki", KnownColor.Khaki),
+ Color.FromArgbNamed (0xFF, 0xE6, 0xE6, 0xFA, "Lavender", KnownColor.Lavender),
+ Color.FromArgbNamed (0xFF, 0xFF, 0xF0, 0xF5, "LavenderBlush", KnownColor.LavenderBlush),
+ Color.FromArgbNamed (0xFF, 0x7C, 0xFC, 0x00, "LawnGreen", KnownColor.LawnGreen),
+ Color.FromArgbNamed (0xFF, 0xFF, 0xFA, 0xCD, "LemonChiffon", KnownColor.LemonChiffon),
+ Color.FromArgbNamed (0xFF, 0xAD, 0xD8, 0xE6, "LightBlue", KnownColor.LightBlue),
+ Color.FromArgbNamed (0xFF, 0xF0, 0x80, 0x80, "LightCoral", KnownColor.LightCoral),
+ Color.FromArgbNamed (0xFF, 0xE0, 0xFF, 0xFF, "LightCyan", KnownColor.LightCyan),
+ Color.FromArgbNamed (0xFF, 0xFA, 0xFA, 0xD2, "LightGoldenrodYellow", KnownColor.LightGoldenrodYellow),
+ Color.FromArgbNamed (0xFF, 0xD3, 0xD3, 0xD3, "LightGray", KnownColor.LightGray),
+ Color.FromArgbNamed (0xFF, 0x90, 0xEE, 0x90, "LightGreen", KnownColor.LightGreen),
+ Color.FromArgbNamed (0xFF, 0xFF, 0xB6, 0xC1, "LightPink", KnownColor.LightPink),
+ Color.FromArgbNamed (0xFF, 0xFF, 0xA0, 0x7A, "LightSalmon", KnownColor.LightSalmon),
+ Color.FromArgbNamed (0xFF, 0x20, 0xB2, 0xAA, "LightSeaGreen", KnownColor.LightSeaGreen),
+ Color.FromArgbNamed (0xFF, 0x87, 0xCE, 0xFA, "LightSkyBlue", KnownColor.LightSkyBlue),
+ Color.FromArgbNamed (0xFF, 0x77, 0x88, 0x99, "LightSlateGray", KnownColor.LightSlateGray),
+ Color.FromArgbNamed (0xFF, 0xB0, 0xC4, 0xDE, "LightSteelBlue", KnownColor.LightSteelBlue),
+ Color.FromArgbNamed (0xFF, 0xFF, 0xFF, 0xE0, "LightYellow", KnownColor.LightYellow),
+ Color.FromArgbNamed (0xFF, 0x00, 0xFF, 0x00, "Lime", KnownColor.Lime),
+ Color.FromArgbNamed (0xFF, 0x32, 0xCD, 0x32, "LimeGreen", KnownColor.LimeGreen),
+ Color.FromArgbNamed (0xFF, 0xFA, 0xF0, 0xE6, "Linen", KnownColor.Linen),
+ Color.FromArgbNamed (0xFF, 0xFF, 0x00, 0xFF, "Magenta", KnownColor.Magenta),
+ Color.FromArgbNamed (0xFF, 0x80, 0x00, 0x00, "Maroon", KnownColor.Maroon),
+ Color.FromArgbNamed (0xFF, 0x66, 0xCD, 0xAA, "MediumAquamarine", KnownColor.MediumAquamarine),
+ Color.FromArgbNamed (0xFF, 0x00, 0x00, 0xCD, "MediumBlue", KnownColor.MediumBlue),
+ Color.FromArgbNamed (0xFF, 0xBA, 0x55, 0xD3, "MediumOrchid", KnownColor.MediumOrchid),
+ Color.FromArgbNamed (0xFF, 0x93, 0x70, 0xDB, "MediumPurple", KnownColor.MediumPurple),
+ Color.FromArgbNamed (0xFF, 0x3C, 0xB3, 0x71, "MediumSeaGreen", KnownColor.MediumSeaGreen),
+ Color.FromArgbNamed (0xFF, 0x7B, 0x68, 0xEE, "MediumSlateBlue", KnownColor.MediumSlateBlue),
+ Color.FromArgbNamed (0xFF, 0x00, 0xFA, 0x9A, "MediumSpringGreen", KnownColor.MediumSpringGreen),
+ Color.FromArgbNamed (0xFF, 0x48, 0xD1, 0xCC, "MediumTurquoise", KnownColor.MediumTurquoise),
+ Color.FromArgbNamed (0xFF, 0xC7, 0x15, 0x85, "MediumVioletRed", KnownColor.MediumVioletRed),
+ Color.FromArgbNamed (0xFF, 0x19, 0x19, 0x70, "MidnightBlue", KnownColor.MidnightBlue),
+ Color.FromArgbNamed (0xFF, 0xF5, 0xFF, 0xFA, "MintCream", KnownColor.MintCream),
+ Color.FromArgbNamed (0xFF, 0xFF, 0xE4, 0xE1, "MistyRose", KnownColor.MistyRose),
+ Color.FromArgbNamed (0xFF, 0xFF, 0xE4, 0xB5, "Moccasin", KnownColor.Moccasin),
+ Color.FromArgbNamed (0xFF, 0xFF, 0xDE, 0xAD, "NavajoWhite", KnownColor.NavajoWhite),
+ Color.FromArgbNamed (0xFF, 0x00, 0x00, 0x80, "Navy", KnownColor.Navy),
+ Color.FromArgbNamed (0xFF, 0xFD, 0xF5, 0xE6, "OldLace", KnownColor.OldLace),
+ Color.FromArgbNamed (0xFF, 0x80, 0x80, 0x00, "Olive", KnownColor.Olive),
+ Color.FromArgbNamed (0xFF, 0x6B, 0x8E, 0x23, "OliveDrab", KnownColor.OliveDrab),
+ Color.FromArgbNamed (0xFF, 0xFF, 0xA5, 0x00, "Orange", KnownColor.Orange),
+ Color.FromArgbNamed (0xFF, 0xFF, 0x45, 0x00, "OrangeRed", KnownColor.OrangeRed),
+ Color.FromArgbNamed (0xFF, 0xDA, 0x70, 0xD6, "Orchid", KnownColor.Orchid),
+ Color.FromArgbNamed (0xFF, 0xEE, 0xE8, 0xAA, "PaleGoldenrod", KnownColor.PaleGoldenrod),
+ Color.FromArgbNamed (0xFF, 0x98, 0xFB, 0x98, "PaleGreen", KnownColor.PaleGreen),
+ Color.FromArgbNamed (0xFF, 0xAF, 0xEE, 0xEE, "PaleTurquoise", KnownColor.PaleTurquoise),
+ Color.FromArgbNamed (0xFF, 0xDB, 0x70, 0x93, "PaleVioletRed", KnownColor.PaleVioletRed),
+ Color.FromArgbNamed (0xFF, 0xFF, 0xEF, 0xD5, "PapayaWhip", KnownColor.PapayaWhip),
+ Color.FromArgbNamed (0xFF, 0xFF, 0xDA, 0xB9, "PeachPuff", KnownColor.PeachPuff),
+ Color.FromArgbNamed (0xFF, 0xCD, 0x85, 0x3F, "Peru", KnownColor.Peru),
+ Color.FromArgbNamed (0xFF, 0xFF, 0xC0, 0xCB, "Pink", KnownColor.Pink),
+ Color.FromArgbNamed (0xFF, 0xDD, 0xA0, 0xDD, "Plum", KnownColor.Plum),
+ Color.FromArgbNamed (0xFF, 0xB0, 0xE0, 0xE6, "PowderBlue", KnownColor.PowderBlue),
+ Color.FromArgbNamed (0xFF, 0x80, 0x00, 0x80, "Purple", KnownColor.Purple),
+ Color.FromArgbNamed (0xFF, 0xFF, 0x00, 0x00, "Red", KnownColor.Red),
+ Color.FromArgbNamed (0xFF, 0xBC, 0x8F, 0x8F, "RosyBrown", KnownColor.RosyBrown),
+ Color.FromArgbNamed (0xFF, 0x41, 0x69, 0xE1, "RoyalBlue", KnownColor.RoyalBlue),
+ Color.FromArgbNamed (0xFF, 0x8B, 0x45, 0x13, "SaddleBrown", KnownColor.SaddleBrown),
+ Color.FromArgbNamed (0xFF, 0xFA, 0x80, 0x72, "Salmon", KnownColor.Salmon),
+ Color.FromArgbNamed (0xFF, 0xF4, 0xA4, 0x60, "SandyBrown", KnownColor.SandyBrown),
+ Color.FromArgbNamed (0xFF, 0x2E, 0x8B, 0x57, "SeaGreen", KnownColor.SeaGreen),
+ Color.FromArgbNamed (0xFF, 0xFF, 0xF5, 0xEE, "SeaShell", KnownColor.SeaShell),
+ Color.FromArgbNamed (0xFF, 0xA0, 0x52, 0x2D, "Sienna", KnownColor.Sienna),
+ Color.FromArgbNamed (0xFF, 0xC0, 0xC0, 0xC0, "Silver", KnownColor.Silver),
+ Color.FromArgbNamed (0xFF, 0x87, 0xCE, 0xEB, "SkyBlue", KnownColor.SkyBlue),
+ Color.FromArgbNamed (0xFF, 0x6A, 0x5A, 0xCD, "SlateBlue", KnownColor.SlateBlue),
+ Color.FromArgbNamed (0xFF, 0x70, 0x80, 0x90, "SlateGray", KnownColor.SlateGray),
+ Color.FromArgbNamed (0xFF, 0xFF, 0xFA, 0xFA, "Snow", KnownColor.Snow),
+ Color.FromArgbNamed (0xFF, 0x00, 0xFF, 0x7F, "SpringGreen", KnownColor.SpringGreen),
+ Color.FromArgbNamed (0xFF, 0x46, 0x82, 0xB4, "SteelBlue", KnownColor.SteelBlue),
+ Color.FromArgbNamed (0xFF, 0xD2, 0xB4, 0x8C, "Tan", KnownColor.Tan),
+ Color.FromArgbNamed (0xFF, 0x00, 0x80, 0x80, "Teal", KnownColor.Teal),
+ Color.FromArgbNamed (0xFF, 0xD8, 0xBF, 0xD8, "Thistle", KnownColor.Thistle),
+ Color.FromArgbNamed (0xFF, 0xFF, 0x63, 0x47, "Tomato", KnownColor.Tomato),
+ Color.FromArgbNamed (0xFF, 0x40, 0xE0, 0xD0, "Turquoise", KnownColor.Turquoise),
+ Color.FromArgbNamed (0xFF, 0xEE, 0x82, 0xEE, "Violet", KnownColor.Violet),
+ Color.FromArgbNamed (0xFF, 0xF5, 0xDE, 0xB3, "Wheat", KnownColor.Wheat),
+ Color.FromArgbNamed (0xFF, 0xFF, 0xFF, 0xFF, "White", KnownColor.White),
+ Color.FromArgbNamed (0xFF, 0xF5, 0xF5, 0xF5, "WhiteSmoke", KnownColor.WhiteSmoke),
+ Color.FromArgbNamed (0xFF, 0xFF, 0xFF, 0x00, "Yellow", KnownColor.Yellow),
+ Color.FromArgbNamed (0xFF, 0x9A, 0xCD, 0x32, "YellowGreen", KnownColor.YellowGreen),
+#if NET_2_0
+ Color.FromArgbSystem (0xFF, 0xEC, 0xE9, 0xD8, "ButtonFace", KnownColor.ButtonFace),
+ Color.FromArgbSystem (0xFF, 0xFF, 0xFF, 0xFF, "ButtonHighlight", KnownColor.ButtonHighlight),
+ Color.FromArgbSystem (0xFF, 0xAC, 0xA8, 0x99, "ButtonShadow", KnownColor.ButtonShadow),
+ Color.FromArgbSystem (0xFF, 0x3D, 0x95, 0xFF, "GradientActiveCaption", KnownColor.GradientActiveCaption),
+ Color.FromArgbSystem (0xFF, 0x9D, 0xB9, 0xEB, "GradientInactiveCaption", KnownColor.GradientInactiveCaption),
+ Color.FromArgbSystem (0xFF, 0xEC, 0xE9, 0xD8, "MenuBar", KnownColor.MenuBar),
+ Color.FromArgbSystem (0xFF, 0x31, 0x6A, 0xC5, "MenuHighlight", KnownColor.MenuHighlight),
+#endif
+ };
+
+ static KnownColors ()
+ {
+ if (GDIPlus.RunningOnWindows ()) {
+ // If we're on Windows we should behave like MS and pull the colors
+ InitOnWindows ();
+ }
+ }
+
+ private static void SetWindowsColor (GetSysColorIndex index, string name, KnownColor knownColor)
+ {
+ uint rgb = GDIPlus.Win32GetSysColor (index);
+ Color color = Color.FromArgbSystem (255, (byte)rgb, (byte)(rgb >> 8), (byte)(rgb >> 16), name, knownColor);
+ knownColors [(int)knownColor] = color;
+ }
+
+ static void InitOnWindows ()
+ {
+ SetWindowsColor (GetSysColorIndex.COLOR_ACTIVEBORDER, "ActiveBorder", KnownColor.ActiveBorder);
+ SetWindowsColor (GetSysColorIndex.COLOR_ACTIVECAPTION, "ActiveCaption", KnownColor.ActiveCaption);
+ SetWindowsColor (GetSysColorIndex.COLOR_CAPTIONTEXT, "ActiveCaptionText", KnownColor.ActiveCaptionText);
+ SetWindowsColor (GetSysColorIndex.COLOR_APPWORKSPACE, "AppWorkspace", KnownColor.AppWorkspace);
+ SetWindowsColor (GetSysColorIndex.COLOR_BTNFACE, "Control", KnownColor.Control);
+ SetWindowsColor (GetSysColorIndex.COLOR_BTNSHADOW, "ControlDark", KnownColor.ControlDark);
+ SetWindowsColor (GetSysColorIndex.COLOR_3DDKSHADOW, "ControlDarkDark", KnownColor.ControlDarkDark);
+ SetWindowsColor (GetSysColorIndex.COLOR_3DLIGHT, "ControlLight", KnownColor.ControlLight);
+ SetWindowsColor (GetSysColorIndex.COLOR_BTNHIGHLIGHT, "ControlLightLight", KnownColor.ControlLightLight);
+ SetWindowsColor (GetSysColorIndex.COLOR_BTNTEXT, "ControlText", KnownColor.ControlText);
+ SetWindowsColor (GetSysColorIndex.COLOR_DESKTOP, "Desktop", KnownColor.Desktop);
+ SetWindowsColor (GetSysColorIndex.COLOR_GRAYTEXT, "GrayText", KnownColor.GrayText);
+ SetWindowsColor (GetSysColorIndex.COLOR_HIGHLIGHT, "Highlight", KnownColor.Highlight);
+ SetWindowsColor (GetSysColorIndex.COLOR_HIGHLIGHTTEXT, "HighlightText", KnownColor.HighlightText);
+ SetWindowsColor (GetSysColorIndex.COLOR_HOTLIGHT, "HotTrack", KnownColor.HotTrack);
+ SetWindowsColor (GetSysColorIndex.COLOR_INACTIVEBORDER, "InactiveBorder", KnownColor.InactiveBorder);
+ SetWindowsColor (GetSysColorIndex.COLOR_INACTIVECAPTION, "InactiveCaption", KnownColor.InactiveCaption);
+ SetWindowsColor (GetSysColorIndex.COLOR_INACTIVECAPTIONTEXT, "InactiveCaptionText", KnownColor.InactiveCaptionText);
+ SetWindowsColor (GetSysColorIndex.COLOR_INFOBK, "Info", KnownColor.Info);
+ SetWindowsColor (GetSysColorIndex.COLOR_INFOTEXT, "InfoText", KnownColor.InfoText);
+ SetWindowsColor (GetSysColorIndex.COLOR_MENU, "Menu", KnownColor.Menu);
+ SetWindowsColor (GetSysColorIndex.COLOR_MENUTEXT, "MenuText", KnownColor.MenuText);
+ SetWindowsColor (GetSysColorIndex.COLOR_SCROLLBAR, "ScrollBar", KnownColor.ScrollBar);
+ SetWindowsColor (GetSysColorIndex.COLOR_WINDOW, "Window", KnownColor.Window);
+ SetWindowsColor (GetSysColorIndex.COLOR_WINDOWFRAME, "WindowFrame", KnownColor.WindowFrame);
+ SetWindowsColor (GetSysColorIndex.COLOR_WINDOWTEXT, "WindowText", KnownColor.WindowText);
+#if NET_2_0
+ SetWindowsColor (GetSysColorIndex.COLOR_BTNFACE, "ButtonFace", KnownColor.ButtonFace);
+ SetWindowsColor (GetSysColorIndex.COLOR_BTNHIGHLIGHT, "ButtonHighlight", KnownColor.ButtonHighlight);
+ SetWindowsColor (GetSysColorIndex.COLOR_BTNSHADOW, "ButtonShadow", KnownColor.ButtonShadow);
+ SetWindowsColor (GetSysColorIndex.COLOR_GRADIENTACTIVECAPTION, "GradientActiveCaption", KnownColor.GradientActiveCaption);
+ SetWindowsColor (GetSysColorIndex.COLOR_GRADIENTINACTIVECAPTION, "GradientInactiveCaption", KnownColor.GradientInactiveCaption);
+ SetWindowsColor (GetSysColorIndex.COLOR_MENUBAR, "MenuBar", KnownColor.MenuBar);
+ SetWindowsColor (GetSysColorIndex.COLOR_MENUHIGHLIGHT, "MenuHighlight", KnownColor.MenuHighlight);
+#endif
+ }
+
+ public static Color[] Values {
+ get { return knownColors; }
+ }
+
+ public static Color FromKnownColor (KnownColor kc)
+ {
+ int n = (int)kc;
+ if ((n <= 0) || (n >= knownColors.Length)) {
+ // This is what it returns!
+ Color c = Color.FromArgb (0, 0, 0, 0);
+ c.name = kc.ToString ();
+ c.state |= (short) Color.ColorType.Named;
+ c.knownColor = (short) kc;
+ return c;
+ }
+ return knownColors [n];
+ }
+
+ // When this method is called, we teach any new color(s) to the Color class
+ // NOTE: This is called (reflection) by System.Windows.Forms.Theme (this isn't dead code)
+ public static Color Update (int knownColor, int color)
+ {
+ Color c = knownColors[knownColor];
+ c.state = (short) (Color.ColorType.ARGB | Color.ColorType.Known | Color.ColorType.Named | Color.ColorType.System);
+ c.value = color;
+ knownColors[knownColor] = c;
+ return c;
+ }
+ }
+}
//
-// System.Drawing.SystemColors.cs
+// System.Drawing.SystemColors
//
// Copyright (C) 2002 Ximian, Inc (http://www.ximian.com)
-// Copyright (C) 2004-2005 Novell, Inc (http://www.novell.com)
+// Copyright (C) 2004-2005, 2007 Novell, Inc (http://www.novell.com)
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// Authors:
// Gonzalo Paniagua Javier (gonzalo@ximian.com)
// Peter Dennis Bartok (pbartok@novell.com)
+// Sebastien Pouliot <sebastien@ximian.com>
//
-
-// The following method can be (and was) used to generate the defaults for the properties
-//private static void GenerateColorTable (Type type) {
-// PropertyInfo [] props = type.GetProperties ();
-// foreach (PropertyInfo prop in props){
-// if (prop.PropertyType != typeof (Color))
-// continue;
-//
-// MethodInfo getget = prop.GetGetMethod ();
-// if (getget == null || getget.IsStatic == false)
-// continue;
-//
-// object o = prop.GetValue (null, null);
-//
-// Color c = (Color) o;
-//
-// StringBuilder name = new StringBuilder(prop.Name);
-// name[0] = Char.ToLower(name[0]);
-// for (int i = 1; i < name.Length; i++) {
-// if (Char.IsUpper(name[i])) {
-// name[i] = Char.ToLower(name[i]);
-// name.Insert(i, '_');
-// }
-// }
-//
-// Console.WriteLine("static private Color " + name.ToString() + " = Color.FromArgbSystem (" +
-// c.A.ToString() + ", " +
-// c.R.ToString() + ", " +
-// c.G.ToString() + ", " +
-// c.B.ToString() + ", " +
-// "\"" + prop.Name + "\", " +
-// "KnownColor." + prop.Name + ");");
-// }
-//}
-
-
-using System;
-using System.Reflection;
-using System.Runtime.InteropServices;
-
namespace System.Drawing {
- public sealed class SystemColors
- {
- // Default Windows XP color table
- static private Color active_border = Color.FromArgbSystem (255, 212, 208, 200, "ActiveBorder", KnownColor.ActiveBorder);
- static private Color active_caption = Color.FromArgbSystem (255, 0, 164, 164, "ActiveCaption", KnownColor.ActiveCaption);
- static private Color active_caption_text = Color.FromArgbSystem (255, 255, 255, 255, "ActiveCaptionText", KnownColor.ActiveCaptionText);
- static private Color app_workspace = Color.FromArgbSystem (255, 128, 128, 128, "AppWorkspace", KnownColor.AppWorkspace);
- static private Color control = Color.FromArgbSystem (255, 212, 208, 200, "Control", KnownColor.Control);
- static private Color control_dark = Color.FromArgbSystem (255, 128, 128, 128, "ControlDark", KnownColor.ControlDark);
- static private Color control_dark_dark = Color.FromArgbSystem (255, 64, 64, 64, "ControlDarkDark", KnownColor.ControlDarkDark);
- static private Color control_light = Color.FromArgbSystem (255, 212, 208, 200, "ControlLight", KnownColor.ControlLight);
- static private Color control_light_light = Color.FromArgbSystem (255, 255, 255, 255, "ControlLightLight", KnownColor.ControlLightLight);
- static private Color control_text = Color.FromArgbSystem (255, 0, 0, 0, "ControlText", KnownColor.ControlText);
- static private Color desktop = Color.FromArgbSystem (255, 0, 0, 0, "Desktop", KnownColor.Desktop);
- static private Color gray_text = Color.FromArgbSystem (255, 128, 128, 128, "GrayText", KnownColor.GrayText);
- static private Color highlight = Color.FromArgbSystem (255, 10, 36, 106, "Highlight", KnownColor.Highlight);
- static private Color highlight_text = Color.FromArgbSystem (255, 255, 255, 255, "HighlightText", KnownColor.HighlightText);
- static private Color hot_track = Color.FromArgbSystem (255, 0, 0, 128, "HotTrack", KnownColor.HotTrack);
- static private Color inactive_border = Color.FromArgbSystem (255, 212, 208, 200, "InactiveBorder", KnownColor.InactiveBorder);
- static private Color inactive_caption = Color.FromArgbSystem (255, 128, 128, 128, "InactiveCaption", KnownColor.InactiveCaption);
- static private Color inactive_caption_text = Color.FromArgbSystem (255, 212, 208, 200, "InactiveCaptionText", KnownColor.InactiveCaptionText);
- static private Color info = Color.FromArgbSystem (255, 255, 255, 225, "Info", KnownColor.Info);
- static private Color info_text = Color.FromArgbSystem (255, 0, 0, 0, "InfoText", KnownColor.InfoText);
- static private Color menu = Color.FromArgbSystem (255, 212, 208, 200, "Menu", KnownColor.Menu);
- static private Color menu_text = Color.FromArgbSystem (255, 0, 0, 0, "MenuText", KnownColor.MenuText);
- static private Color scroll_bar = Color.FromArgbSystem (255, 212, 208, 200, "ScrollBar", KnownColor.ScrollBar);
- // This would give a better looking gray background instead of the high-contrast white background
- //static private Color window = Color.FromArgbSystem (255, 212, 208, 200, "Window", KnownColor.Window);
- static private Color window = Color.FromArgbSystem (255, 255, 255, 255, "Window", KnownColor.Window);
- static private Color window_frame = Color.FromArgbSystem (255, 0, 0, 0, "WindowFrame", KnownColor.WindowFrame);
- static private Color window_text = Color.FromArgbSystem (255, 0, 0, 0, "WindowText", KnownColor.WindowText);
-
-#if NET_2_0
- static private Color button_face = Color.FromArgbSystem (255, 192, 192, 192, "ButtonFace", KnownColor.ButtonFace);
- static private Color button_highlight = Color.FromArgbSystem (255, 255, 255, 255, "ButtonHighlight", KnownColor.ButtonHighlight);
- static private Color button_shadow = Color.FromArgbSystem (255, 128, 128, 128, "ButtonShadow", KnownColor.ButtonShadow);
- static private Color gradient_activecaption = Color.FromArgbSystem (255, 16, 132, 208, "GradientActiveCaption", KnownColor.GradientActiveCaption);
- static private Color gradient_inactivecaption = Color.FromArgbSystem (255, 181, 181, 181, "GradientInactiveCaption", KnownColor.GradientInactiveCaption);
- static private Color menubar = Color.FromArgbSystem (255, 192, 192, 192, "MenuBar", KnownColor.MenuBar);
- static private Color menu_highlight = Color.FromArgbSystem (255, 0, 0, 0, "MenuHighlight", KnownColor.MenuHighlight);
-#endif
-
-#if old
- static private Color active_border = Color.FromArgbSystem (255, 131, 153, 177, "ActiveBorder", KnownColor.ActiveBorder);
- static private Color active_caption = Color.FromArgbSystem (255, 79, 101, 125, "ActiveCaption", KnownColor.ActiveCaption);
- static private Color active_caption_text = Color.FromArgbSystem (255, 255, 255, 255, "ActiveCaptionText", KnownColor.ActiveCaptionText);
- static private Color app_workspace = Color.FromArgbSystem (255, 128, 128, 128, "AppWorkspace", KnownColor.AppWorkspace);
- static private Color control = Color.FromArgbSystem (255, 192, 192, 192, "Control", KnownColor.Control);
- static private Color control_dark = Color.FromArgbSystem (255, 79, 101, 125, "ControlDark", KnownColor.ControlDark);
- static private Color control_dark_dark = Color.FromArgbSystem (255, 0, 0, 0, "ControlDarkDark", KnownColor.ControlDarkDark);
- static private Color control_light = Color.FromArgbSystem (255, 131, 153, 177, "ControlLight", KnownColor.ControlLight);
- static private Color control_light_light = Color.FromArgbSystem (255, 193, 204, 217, "ControlLightLight", KnownColor.ControlLightLight);
- static private Color control_text = Color.FromArgbSystem (255, 0, 0, 0, "ControlText", KnownColor.ControlText);
- static private Color desktop = Color.FromArgbSystem (255, 0, 0, 0, "Desktop", KnownColor.Desktop);
- static private Color gray_text = Color.FromArgbSystem (255, 79, 101, 125, "GrayText", KnownColor.GrayText);
- static private Color highlight = Color.FromArgbSystem (255, 0, 0, 128, "Highlight", KnownColor.Highlight);
- static private Color highlight_text = Color.FromArgbSystem (255, 255, 255, 255, "HighlightText", KnownColor.HighlightText);
- static private Color hot_track = Color.FromArgbSystem (255, 0, 0, 255, "HotTrack", KnownColor.HotTrack);
- static private Color inactive_border = Color.FromArgbSystem (255, 131, 153, 177, "InactiveBorder", KnownColor.InactiveBorder);
- static private Color inactive_caption = Color.FromArgbSystem (255, 128, 128, 128, "InactiveCaption", KnownColor.InactiveCaption);
- static private Color inactive_caption_text = Color.FromArgbSystem (255, 193, 204, 217, "InactiveCaptionText", KnownColor.InactiveCaptionText);
- static private Color info = Color.FromArgbSystem (255, 255, 255, 255, "Info", KnownColor.Info);
- static private Color info_text = Color.FromArgbSystem (255, 0, 0, 0, "InfoText", KnownColor.InfoText);
- static private Color menu = Color.FromArgbSystem (255, 131, 153, 177, "Menu", KnownColor.Menu);
- static private Color menu_text = Color.FromArgbSystem (255, 0, 0, 0, "MenuText", KnownColor.MenuText);
- static private Color scroll_bar = Color.FromArgbSystem (255, 193, 204, 217, "ScrollBar", KnownColor.ScrollBar);
- static private Color window = Color.FromArgbSystem (255, 255, 255, 255, "Window", KnownColor.Window);
- static private Color window_frame = Color.FromArgbSystem (255, 0, 0, 0, "WindowFrame", KnownColor.WindowFrame);
- static private Color window_text = Color.FromArgbSystem (255, 0, 0, 0, "WindowText", KnownColor.WindowText);
-#endif
- private enum GetSysColorIndex {
- COLOR_SCROLLBAR = 0,
- COLOR_BACKGROUND = 1,
- COLOR_ACTIVECAPTION = 2,
- COLOR_INACTIVECAPTION = 3,
- COLOR_MENU = 4,
- COLOR_WINDOW = 5,
- COLOR_WINDOWFRAME = 6,
- COLOR_MENUTEXT = 7,
- COLOR_WINDOWTEXT = 8,
- COLOR_CAPTIONTEXT = 9,
- COLOR_ACTIVEBORDER = 10,
- COLOR_INACTIVEBORDER = 11,
- COLOR_APPWORKSPACE = 12,
- COLOR_HIGHLIGHT = 13,
- COLOR_HIGHLIGHTTEXT = 14,
- COLOR_BTNFACE = 15,
- COLOR_BTNSHADOW = 16,
- COLOR_GRAYTEXT = 17,
- COLOR_BTNTEXT = 18,
- COLOR_INACTIVECAPTIONTEXT = 19,
- COLOR_BTNHIGHLIGHT = 20,
- COLOR_3DDKSHADOW = 21,
- COLOR_3DLIGHT = 22,
- COLOR_INFOTEXT = 23,
- COLOR_INFOBK = 24,
-
- COLOR_HOTLIGHT = 26,
- COLOR_GRADIENTACTIVECAPTION = 27,
- COLOR_GRADIENTINACTIVECAPTION = 28,
- COLOR_MENUHIGHLIGHT = 29,
- COLOR_MENUBAR = 30,
-
- COLOR_DESKTOP = 1,
- COLOR_3DFACE = 16,
- COLOR_3DSHADOW = 16,
- COLOR_3DHIGHLIGHT = 20,
- COLOR_3DHILIGHT = 20,
- COLOR_BTNHILIGHT = 20,
-
- COLOR_MAXVALUE = 30,/* Maximum value */
- }
-
- [DllImport ("user32.dll", EntryPoint="GetSysColor", CallingConvention=CallingConvention.StdCall)]
- private extern static uint Win32GetSysColor(GetSysColorIndex index);
-
- private static Color GetSysColor(GetSysColorIndex index, string name, KnownColor knownColor) {
- uint color;
-
- color = Win32GetSysColor(index);
-
- return Color.FromArgbSystem(255, (byte)(color & 0xff), (byte)((color >> 8) & 0xff), (byte)((color >> 16) & 0xff), name, knownColor);
- }
-
- // When this method is called, we teach any new color(s) to the Color class
- private static void UpdateColors() {
- active_border = Color.UpdateKnownColor (active_border.A, active_border.R, active_border.G, active_border.B, "ActiveBorder", KnownColor.ActiveBorder);
- active_caption = Color.UpdateKnownColor (active_caption.A, active_caption.R, active_caption.G, active_caption.B, "ActiveCaption", KnownColor.ActiveCaption);
- active_caption_text = Color.UpdateKnownColor (active_caption_text.A, active_caption_text.R, active_caption_text.G, active_caption_text.B, "ActiveCaptionText", KnownColor.ActiveCaptionText);
- app_workspace = Color.UpdateKnownColor (app_workspace.A, app_workspace.R, app_workspace.G, app_workspace.B, "AppWorkspace", KnownColor.AppWorkspace);
- control = Color.UpdateKnownColor (control.A, control.R, control.G, control.B, "Control", KnownColor.Control);
- control_dark = Color.UpdateKnownColor (control_dark.A, control_dark.R, control_dark.G, control_dark.B, "ControlDark", KnownColor.ControlDark);
- control_dark_dark = Color.UpdateKnownColor (control_dark_dark.A, control_dark_dark.R, control_dark_dark.G, control_dark_dark.B, "ControlDarkDark", KnownColor.ControlDarkDark);
- control_light = Color.UpdateKnownColor (control_light.A, control_light.R, control_light.G, control_light.B, "ControlLight", KnownColor.ControlLight);
- control_light_light = Color.UpdateKnownColor (control_light_light.A, control_light_light.R, control_light_light.G, control_light_light.B, "ControlLightLight", KnownColor.ControlLightLight);
- control_text = Color.UpdateKnownColor (control_text.A, control_text.R, control_text.G, control_text.B, "ControlText", KnownColor.ControlText);
- desktop = Color.UpdateKnownColor (desktop.A, desktop.R, desktop.G, desktop.B, "Desktop", KnownColor.Desktop);
- gray_text = Color.UpdateKnownColor (gray_text.A, gray_text.R, gray_text.G, gray_text.B, "GrayText", KnownColor.GrayText);
- highlight = Color.UpdateKnownColor (highlight.A, highlight.R, highlight.G, highlight.B, "Highlight", KnownColor.Highlight);
- highlight_text = Color.UpdateKnownColor (highlight_text.A, highlight_text.R, highlight_text.G, highlight_text.B, "HighlightText", KnownColor.HighlightText);
- hot_track = Color.UpdateKnownColor (hot_track.A, hot_track.R, hot_track.G, hot_track.B, "HotTrack", KnownColor.HotTrack);
- inactive_border = Color.UpdateKnownColor (inactive_border.A, inactive_border.R, inactive_border.G, inactive_border.B, "InactiveBorder", KnownColor.InactiveBorder);
- inactive_caption = Color.UpdateKnownColor (inactive_caption.A, inactive_caption.R, inactive_caption.G, inactive_caption.B, "InactiveCaption", KnownColor.InactiveCaption);
- inactive_caption_text = Color.UpdateKnownColor (inactive_caption_text.A, inactive_caption_text.R, inactive_caption_text.G, inactive_caption_text.B, "InactiveCaptionText", KnownColor.InactiveCaptionText);
- info = Color.UpdateKnownColor (info.A, info.R, info.G, info.B, "Info", KnownColor.Info);
- info_text = Color.UpdateKnownColor (info_text.A, info_text.R, info_text.G, info_text.B, "InfoText", KnownColor.InfoText);
- menu = Color.UpdateKnownColor (menu.A, menu.R, menu.G, menu.B, "Menu", KnownColor.Menu);
- menu_text = Color.UpdateKnownColor (menu_text.A, menu_text.R, menu_text.G, menu_text.B, "MenuText", KnownColor.MenuText);
- scroll_bar = Color.UpdateKnownColor (scroll_bar.A, scroll_bar.R, scroll_bar.G, scroll_bar.B, "ScrollBar", KnownColor.ScrollBar);
- window = Color.UpdateKnownColor (window.A, window.R, window.G, window.B, "Window", KnownColor.Window);
- window_frame = Color.UpdateKnownColor (window_frame.A, window_frame.R, window_frame.G, window_frame.B, "WindowFrame", KnownColor.WindowFrame);
- window_text = Color.UpdateKnownColor (window_text.A, window_text.R, window_text.G, window_text.B, "WindowText", KnownColor.WindowText);
- }
-
- static SystemColors ()
- {
- if (GDIPlus.RunningOnWindows ()) {
- // If we're on Windows we should behave like MS and pull the colors
- InitOnWindows ();
- }
- }
-
- static void InitOnWindows ()
- {
- active_border = GetSysColor(GetSysColorIndex.COLOR_ACTIVEBORDER, "ActiveBorder", KnownColor.ActiveBorder);
- active_caption = GetSysColor(GetSysColorIndex.COLOR_ACTIVECAPTION, "ActiveCaption", KnownColor.ActiveCaption);
- active_caption_text = GetSysColor(GetSysColorIndex.COLOR_CAPTIONTEXT, "ActiveCaptionText", KnownColor.ActiveCaptionText);
- app_workspace = GetSysColor(GetSysColorIndex.COLOR_APPWORKSPACE, "AppWorkspace", KnownColor.AppWorkspace);
- control = GetSysColor(GetSysColorIndex.COLOR_BTNFACE, "Control", KnownColor.Control);
- control_dark = GetSysColor(GetSysColorIndex.COLOR_BTNSHADOW, "ControlDark", KnownColor.ControlDark);
- control_dark_dark = GetSysColor(GetSysColorIndex.COLOR_3DDKSHADOW, "ControlDarkDark", KnownColor.ControlDarkDark);
- control_light = GetSysColor(GetSysColorIndex.COLOR_3DLIGHT, "ControlLight", KnownColor.ControlLight);
- control_light_light = GetSysColor(GetSysColorIndex.COLOR_BTNHIGHLIGHT, "ControlLightLight", KnownColor.ControlLightLight);
- control_text = GetSysColor(GetSysColorIndex.COLOR_BTNTEXT, "ControlText", KnownColor.ControlText);
- desktop = GetSysColor(GetSysColorIndex.COLOR_DESKTOP, "Desktop", KnownColor.Desktop);
- gray_text = GetSysColor(GetSysColorIndex.COLOR_GRAYTEXT, "GrayText", KnownColor.GrayText);
- highlight = GetSysColor(GetSysColorIndex.COLOR_HIGHLIGHT, "Highlight", KnownColor.Highlight);
- highlight_text = GetSysColor(GetSysColorIndex.COLOR_HIGHLIGHTTEXT, "HighlightText", KnownColor.HighlightText);
- hot_track = GetSysColor(GetSysColorIndex.COLOR_HOTLIGHT, "HotTrack", KnownColor.HotTrack);
- inactive_border = GetSysColor(GetSysColorIndex.COLOR_INACTIVEBORDER, "InactiveBorder", KnownColor.InactiveBorder);
- inactive_caption = GetSysColor(GetSysColorIndex.COLOR_INACTIVECAPTION, "InactiveCaption", KnownColor.InactiveCaption);
- inactive_caption_text = GetSysColor(GetSysColorIndex.COLOR_INACTIVECAPTIONTEXT, "InactiveCaptionText", KnownColor.InactiveCaptionText);
- info = GetSysColor(GetSysColorIndex.COLOR_INFOBK, "Info", KnownColor.Info);
- info_text = GetSysColor(GetSysColorIndex.COLOR_INFOTEXT, "InfoText", KnownColor.InfoText);
- menu = GetSysColor(GetSysColorIndex.COLOR_MENU, "Menu", KnownColor.Menu);
- menu_text = GetSysColor(GetSysColorIndex.COLOR_MENUTEXT, "MenuText", KnownColor.MenuText);
- scroll_bar = GetSysColor(GetSysColorIndex.COLOR_SCROLLBAR, "ScrollBar", KnownColor.ScrollBar);
- window = GetSysColor(GetSysColorIndex.COLOR_WINDOW, "Window", KnownColor.Window);
- window_frame = GetSysColor(GetSysColorIndex.COLOR_WINDOWFRAME, "WindowFrame", KnownColor.WindowFrame);
- window_text = GetSysColor(GetSysColorIndex.COLOR_WINDOWTEXT, "WindowText", KnownColor.WindowText);
-
-#if NET_2_0
- button_face = GetSysColor (GetSysColorIndex.COLOR_BTNFACE, "ButtonFace", KnownColor.ButtonFace);
- button_highlight = GetSysColor (GetSysColorIndex.COLOR_BTNHIGHLIGHT, "ButtonHighlight", KnownColor.ButtonHighlight);
- button_shadow = GetSysColor (GetSysColorIndex.COLOR_BTNSHADOW, "ButtonShadow", KnownColor.ButtonShadow);
- gradient_activecaption = GetSysColor (GetSysColorIndex.COLOR_GRADIENTACTIVECAPTION, "GradientActiveCaption", KnownColor.GradientActiveCaption);
- gradient_inactivecaption = GetSysColor (GetSysColorIndex.COLOR_GRADIENTINACTIVECAPTION, "GradientInactiveCaption", KnownColor.GradientInactiveCaption);
- menubar = GetSysColor (GetSysColorIndex.COLOR_MENUBAR, "MenuBar", KnownColor.MenuBar);
- menu_highlight = GetSysColor (GetSysColorIndex.COLOR_MENUHIGHLIGHT, "MenuHighlight", KnownColor.MenuHighlight);
-#endif
-
- }
+ public sealed class SystemColors {
private SystemColors ()
{
}
- static public Color ActiveBorder
- {
- get {
- return active_border;
- }
+ static public Color ActiveBorder {
+ get { return KnownColors.FromKnownColor (KnownColor.ActiveBorder); }
}
- static public Color ActiveCaption
- {
- get {
- return active_caption;
- }
+ static public Color ActiveCaption {
+ get { return KnownColors.FromKnownColor (KnownColor.ActiveCaption); }
}
- static public Color ActiveCaptionText
- {
- get {
- return active_caption_text;
- }
+ static public Color ActiveCaptionText {
+ get { return KnownColors.FromKnownColor (KnownColor.ActiveCaptionText); }
}
- static public Color AppWorkspace
- {
- get {
- return app_workspace;
- }
+ static public Color AppWorkspace {
+ get { return KnownColors.FromKnownColor (KnownColor.AppWorkspace); }
}
- static public Color Control
- {
- get {
- return control;
- }
+ static public Color Control {
+ get { return KnownColors.FromKnownColor (KnownColor.Control); }
}
- static public Color ControlDark
- {
- get {
- return control_dark;
- }
+ static public Color ControlDark {
+ get { return KnownColors.FromKnownColor (KnownColor.ControlDark); }
}
- static public Color ControlDarkDark
- {
- get {
- return control_dark_dark;
- }
+ static public Color ControlDarkDark {
+ get { return KnownColors.FromKnownColor (KnownColor.ControlDarkDark); }
}
- static public Color ControlLight
- {
- get {
- return control_light;
- }
+ static public Color ControlLight {
+ get { return KnownColors.FromKnownColor (KnownColor.ControlLight); }
}
- static public Color ControlLightLight
- {
- get {
- return control_light_light;
- }
+ static public Color ControlLightLight {
+ get { return KnownColors.FromKnownColor (KnownColor.ControlLightLight); }
}
- static public Color ControlText
- {
- get {
- return control_text;
- }
+ static public Color ControlText {
+ get { return KnownColors.FromKnownColor (KnownColor.ControlText); }
}
- static public Color Desktop
- {
- get {
- return desktop;
- }
+ static public Color Desktop {
+ get { return KnownColors.FromKnownColor (KnownColor.Desktop); }
}
- static public Color GrayText
- {
- get {
- return gray_text;
- }
+ static public Color GrayText {
+ get { return KnownColors.FromKnownColor (KnownColor.GrayText); }
}
- static public Color Highlight
- {
- get {
- return highlight;
- }
+ static public Color Highlight {
+ get { return KnownColors.FromKnownColor (KnownColor.Highlight); }
}
- static public Color HighlightText
- {
- get {
- return highlight_text;
- }
+ static public Color HighlightText {
+ get { return KnownColors.FromKnownColor (KnownColor.HighlightText); }
}
- static public Color HotTrack
- {
- get {
- return hot_track;
- }
+ static public Color HotTrack {
+ get { return KnownColors.FromKnownColor (KnownColor.HotTrack); }
}
- static public Color InactiveBorder
- {
- get {
- return inactive_border;
- }
+ static public Color InactiveBorder {
+ get { return KnownColors.FromKnownColor (KnownColor.InactiveBorder); }
}
- static public Color InactiveCaption
- {
- get {
- return inactive_caption;
- }
+ static public Color InactiveCaption {
+ get { return KnownColors.FromKnownColor (KnownColor.InactiveCaption); }
}
- static public Color InactiveCaptionText
- {
- get {
- return inactive_caption_text;
- }
+ static public Color InactiveCaptionText {
+ get { return KnownColors.FromKnownColor (KnownColor.InactiveCaptionText); }
}
- static public Color Info
- {
- get {
- return info;
- }
+ static public Color Info {
+ get { return KnownColors.FromKnownColor (KnownColor.Info); }
}
- static public Color InfoText
- {
- get {
- return info_text;
- }
+ static public Color InfoText {
+ get { return KnownColors.FromKnownColor (KnownColor.InfoText); }
}
- static public Color Menu
- {
- get {
- return menu;
- }
+ static public Color Menu {
+ get { return KnownColors.FromKnownColor (KnownColor.Menu); }
}
- static public Color MenuText
- {
- get {
- return menu_text;
- }
+ static public Color MenuText {
+ get { return KnownColors.FromKnownColor (KnownColor.MenuText); }
}
- static public Color ScrollBar
- {
- get {
- return scroll_bar;
- }
+ static public Color ScrollBar {
+ get { return KnownColors.FromKnownColor (KnownColor.ScrollBar); }
}
- static public Color Window
- {
- get {
- return window;
- }
+ static public Color Window {
+ get { return KnownColors.FromKnownColor (KnownColor.Window); }
}
- static public Color WindowFrame
- {
- get {
- return window_frame;
- }
+ static public Color WindowFrame {
+ get { return KnownColors.FromKnownColor (KnownColor.WindowFrame); }
}
- static public Color WindowText
- {
- get {
- return window_text;
- }
+ static public Color WindowText {
+ get { return KnownColors.FromKnownColor (KnownColor.WindowText); }
}
#if NET_2_0
-
- static public Color ButtonFace
- {
- get {
- return button_face;
- }
+ static public Color ButtonFace {
+ get { return KnownColors.FromKnownColor (KnownColor.ButtonFace); }
}
- static public Color ButtonHighlight
- {
- get {
- return button_highlight;
- }
+ static public Color ButtonHighlight {
+ get { return KnownColors.FromKnownColor (KnownColor.ButtonHighlight); }
}
- static public Color ButtonShadow
- {
- get {
- return button_shadow;
- }
+ static public Color ButtonShadow {
+ get { return KnownColors.FromKnownColor (KnownColor.ButtonShadow); }
}
- static public Color GradientActiveCaption
- {
- get {
- return gradient_activecaption;
- }
+ static public Color GradientActiveCaption {
+ get { return KnownColors.FromKnownColor (KnownColor.GradientActiveCaption); }
}
- static public Color GradientInactiveCaption
- {
- get {
- return gradient_inactivecaption;
- }
+ static public Color GradientInactiveCaption {
+ get { return KnownColors.FromKnownColor (KnownColor.GradientInactiveCaption); }
}
- static public Color MenuBar
- {
- get {
- return menubar;
- }
+ static public Color MenuBar {
+ get { return KnownColors.FromKnownColor (KnownColor.MenuBar); }
}
- static public Color MenuHighlight
- {
- get {
- return menu_highlight;
- }
+ static public Color MenuHighlight {
+ get { return KnownColors.FromKnownColor (KnownColor.MenuHighlight); }
}
#endif
-
}
}
-
public static extern int BitBlt(IntPtr hdcDest, int nXDest, int nYDest,
int nWidth, int nHeight, IntPtr hdcSrc, int nXSrc, int nYSrc, int dwRop);
+ [DllImport ("user32.dll", EntryPoint = "GetSysColor", CallingConvention = CallingConvention.StdCall)]
+ public static extern uint Win32GetSysColor (GetSysColorIndex index);
+
// Some special X11 stuff
[DllImport("libX11", EntryPoint="XOpenDisplay")]
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-using System;
-using System.Runtime.InteropServices;
-using System.Text;
using System.Drawing.Imaging;
-using System.Drawing;
+using System.Runtime.InteropServices;
namespace System.Drawing
{
internal int bits_per_rgb;
}
+ internal enum GetSysColorIndex {
+ COLOR_SCROLLBAR = 0,
+ COLOR_BACKGROUND = 1,
+ COLOR_ACTIVECAPTION = 2,
+ COLOR_INACTIVECAPTION = 3,
+ COLOR_MENU = 4,
+ COLOR_WINDOW = 5,
+ COLOR_WINDOWFRAME = 6,
+ COLOR_MENUTEXT = 7,
+ COLOR_WINDOWTEXT = 8,
+ COLOR_CAPTIONTEXT = 9,
+ COLOR_ACTIVEBORDER = 10,
+ COLOR_INACTIVEBORDER = 11,
+ COLOR_APPWORKSPACE = 12,
+ COLOR_HIGHLIGHT = 13,
+ COLOR_HIGHLIGHTTEXT = 14,
+ COLOR_BTNFACE = 15,
+ COLOR_BTNSHADOW = 16,
+ COLOR_GRAYTEXT = 17,
+ COLOR_BTNTEXT = 18,
+ COLOR_INACTIVECAPTIONTEXT = 19,
+ COLOR_BTNHIGHLIGHT = 20,
+ COLOR_3DDKSHADOW = 21,
+ COLOR_3DLIGHT = 22,
+ COLOR_INFOTEXT = 23,
+ COLOR_INFOBK = 24,
+
+ COLOR_HOTLIGHT = 26,
+ COLOR_GRADIENTACTIVECAPTION = 27,
+ COLOR_GRADIENTINACTIVECAPTION = 28,
+ COLOR_MENUHIGHLIGHT = 29,
+ COLOR_MENUBAR = 30,
+
+ COLOR_DESKTOP = 1,
+ COLOR_3DFACE = 16,
+ COLOR_3DSHADOW = 16,
+ COLOR_3DHIGHLIGHT = 20,
+ COLOR_3DHILIGHT = 20,
+ COLOR_BTNHILIGHT = 20,
+
+ COLOR_MAXVALUE = 30,/* Maximum value */
+ }
}