2 // System.Drawing.Color.cs
5 // Dennis Hayes (dennish@raytek.com)
6 // Ben Houston (ben@exocortex.org)
7 // Gonzalo Paniagua (gonzalo@ximian.com)
8 // Juraj Skripsky (juraj@hotfeet.ch)
9 // Sebastien Pouliot <sebastien@ximian.com>
11 // (C) 2002 Dennis Hayes
12 // (c) 2002 Ximian, Inc. (http://www.ximiam.com)
13 // (C) 2005 HotFeet GmbH (http://www.hotfeet.ch)
14 // Copyright (C) 2004,2006-2007 Novell, Inc (http://www.novell.com)
16 // Permission is hereby granted, free of charge, to any person obtaining
17 // a copy of this software and associated documentation files (the
18 // "Software"), to deal in the Software without restriction, including
19 // without limitation the rights to use, copy, modify, merge, publish,
20 // distribute, sublicense, and/or sell copies of the Software, and to
21 // permit persons to whom the Software is furnished to do so, subject to
22 // the following conditions:
24 // The above copyright notice and this permission notice shall be
25 // included in all copies or substantial portions of the Software.
27 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
28 // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
29 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
30 // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
31 // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
32 // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
33 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
36 using System.Collections;
37 using System.ComponentModel;
38 using System.Runtime.InteropServices;
40 namespace System.Drawing
42 [TypeConverter(typeof(ColorConverter))]
47 [Editor ("System.Drawing.Design.ColorEditor, " + Consts.AssemblySystem_Drawing_Design, typeof (System.Drawing.Design.UITypeEditor))]
52 // Private transparency (A) and R,G,B fields.
55 // The specs also indicate that all three of these properties are true
56 // if created with FromKnownColor or FromNamedColor, false otherwise (FromARGB).
57 // Per Microsoft and ECMA specs these varibles are set by which constructor is used, not by their values.
59 internal enum ColorType : short {
68 internal short knownColor;
72 internal java.awt.Color NativeObject {
74 return new java.awt.Color (R, G, B, A);
82 // Can happen with stuff deserialized from MS
84 name = KnownColors.FromKnownColor ((KnownColor)knownColor).Name;
86 name = String.Format ("{0:x}", ToArgb ());
92 public bool IsKnownColor {
94 return (state & ((short) ColorType.Known)) != 0;
98 public bool IsSystemColor {
100 return (state & ((short) ColorType.System)) != 0;
104 public bool IsNamedColor {
106 return (state & (short)(ColorType.Known|ColorType.Named)) != 0;
111 public static Color FromArgb (int red, int green, int blue)
113 return FromArgb (255, red, green, blue);
116 public static Color FromArgb (int alpha, int red, int green, int blue)
118 CheckARGBValues (alpha, red, green, blue);
119 Color color = new Color ();
120 color.state = (short) ColorType.ARGB;
121 color.value = ((uint) alpha << 24) + (red << 16) + (green << 8) + blue;
125 internal static Color FromArgbNamed (int alpha, int red, int green, int blue, string name, KnownColor knownColor)
127 Color color = FromArgb (alpha, red, green, blue);
128 color.state = (short) (ColorType.Known|ColorType.Named);
129 //color.issystemcolor = false; //???
131 // FIXME: here happens SEGFAULT.
132 //color.knownColor = (KnownColor) Enum.Parse (typeof (KnownColor), name, false);
133 color.knownColor = (short) knownColor;
137 internal static Color FromArgbSystem (int alpha, int red, int green, int blue, string name, KnownColor knownColor)
139 Color color = FromArgbNamed (alpha, red, green, blue, name, knownColor);
140 color.state |= (short) ColorType.System;
149 public static Color FromArgb (int alpha, Color baseColor)
151 return FromArgb (alpha, baseColor.R, baseColor.G, baseColor.B);
154 public static Color FromArgb (int argb)
156 return FromArgb ((argb >> 24) & 0x0FF, (argb >> 16) & 0x0FF, (argb >> 8) & 0x0FF, argb & 0x0FF);
159 public static Color FromKnownColor (KnownColor c)
161 return KnownColors.FromKnownColor (c);
164 public static Color FromName (string colorName)
166 return ColorConverter.StaticConvertFromString (null, colorName, null);
170 // -----------------------
171 // Public Shared Members
172 // -----------------------
175 /// Empty Shared Field
179 /// An uninitialized Color Structure
182 public static readonly Color Empty;
185 /// Equality Operator
189 /// Compares two Color objects. The return value is
190 /// based on the equivalence of the A,R,G,B properties
191 /// of the two Colors.
194 public static bool operator == (Color colorA, Color colorB)
196 if (colorA.value != colorB.value)
198 if (colorA.IsNamedColor != colorB.IsNamedColor)
200 if (colorA.IsSystemColor != colorB.IsSystemColor)
202 if (colorA.IsEmpty != colorB.IsEmpty)
204 if (colorA.IsNamedColor) {
205 if (!colorB.IsNamedColor)
207 // both are named so we need to compare them (otherwise we don't as it kills performance)
208 if (colorA.Name != colorB.Name)
215 /// Inequality Operator
219 /// Compares two Color objects. The return value is
220 /// based on the equivalence of the A,R,G,B properties
221 /// of the two colors.
224 public static bool operator != (Color colorA, Color colorB)
226 return ! (colorA == colorB);
229 public float GetBrightness ()
231 byte minval = Math.Min (R, Math.Min (G, B));
232 byte maxval = Math.Max (R, Math.Max (G, B));
234 return (float)(maxval + minval) / 510;
237 public float GetSaturation ()
239 byte minval = (byte) Math.Min (R, Math.Min (G, B));
240 byte maxval = (byte) Math.Max (R, Math.Max (G, B));
242 if (maxval == minval)
245 int sum = maxval + minval;
249 return (float)(maxval - minval) / sum;
252 public float GetHue ()
257 byte minval = (byte) Math.Min (r, Math.Min (g, b));
258 byte maxval = (byte) Math.Max (r, Math.Max (g, b));
260 if (maxval == minval)
263 float diff = (float)(maxval - minval);
264 float rnorm = (maxval - r) / diff;
265 float gnorm = (maxval - g) / diff;
266 float bnorm = (maxval - b) / diff;
270 hue = 60.0f * (6.0f + bnorm - gnorm);
272 hue = 60.0f * (2.0f + rnorm - bnorm);
274 hue = 60.0f * (4.0f + gnorm - rnorm);
281 // -----------------------
282 // Public Instance Members
283 // -----------------------
286 /// ToKnownColor method
290 /// Returns the KnownColor enum value for this color, 0 if is not known.
292 public KnownColor ToKnownColor ()
294 return (KnownColor) knownColor;
302 /// Indicates transparent black. R,G,B = 0; A=0?
308 return state == (short) ColorType.Empty;
317 /// The transparancy of the Color.
323 // Optimization for known colors that were deserialized
324 // from an MS serialized stream.
325 if (value == 0 && IsKnownColor) {
326 value = KnownColors.FromKnownColor ((KnownColor)knownColor).ToArgb ();
328 return (byte) (value >> 24);
337 /// The red value of the Color.
343 // Optimization for known colors that were deserialized
344 // from an MS serialized stream.
345 if (value == 0 && IsKnownColor) {
346 value = KnownColors.FromKnownColor ((KnownColor)knownColor).ToArgb ();
348 return (byte) (value >> 16);
357 /// The green value of the Color.
363 // Optimization for known colors that were deserialized
364 // from an MS serialized stream.
365 if (value == 0 && IsKnownColor) {
366 value = KnownColors.FromKnownColor ((KnownColor)knownColor).ToArgb ();
368 return (byte) (value >> 8);
377 /// The blue value of the Color.
383 // Optimization for known colors that were deserialized
384 // from an MS serialized stream.
385 if (value == 0 && IsKnownColor) {
386 value = KnownColors.FromKnownColor ((KnownColor)knownColor).ToArgb ();
397 /// Checks equivalence of this Color and another object.
400 public override bool Equals (object o)
409 /// Reference Equals Method
410 /// Is commented out because this is handled by the base class.
411 /// TODO: Is it correct to let the base class handel reference equals
415 /// Checks equivalence of this Color and another object.
417 //public bool ReferenceEquals (object o)
419 // if (!(o is Color))return false;
420 // return (this == (Color) o);
426 /// GetHashCode Method
430 /// Calculates a hashing value.
433 public override int GetHashCode ()
435 return ((int) value) ^ Name.GetHashCode ();
443 /// Formats the Color as a string in ARGB notation.
446 public override string ToString ()
449 return "Color [Empty]";
451 // Use the property here, not the field.
453 return "Color [" + Name + "]";
455 return String.Format ("Color [A={0}, R={1}, G={2}, B={3}]", A, R, G, B);
458 private static void CheckRGBValues (int red,int green,int blue)
460 if( (red > 255) || (red < 0))
461 throw CreateColorArgumentException(red, "red");
462 if( (green > 255) || (green < 0))
463 throw CreateColorArgumentException (green, "green");
464 if( (blue > 255) || (blue < 0))
465 throw CreateColorArgumentException (blue, "blue");
468 private static ArgumentException CreateColorArgumentException (int value, string color)
470 return new ArgumentException (string.Format ("'{0}' is not a valid"
471 + " value for '{1}'. '{1}' should be greater or equal to 0 and"
472 + " less than or equal to 255.", value, color));
475 private static void CheckARGBValues (int alpha,int red,int green,int blue)
477 if( (alpha > 255) || (alpha < 0))
478 throw CreateColorArgumentException (alpha, "alpha");
479 CheckRGBValues(red,green,blue);
483 static public Color Transparent {
484 get { return KnownColors.FromKnownColor (KnownColor.Transparent); }
487 static public Color AliceBlue {
488 get { return KnownColors.FromKnownColor (KnownColor.AliceBlue); }
491 static public Color AntiqueWhite {
492 get { return KnownColors.FromKnownColor (KnownColor.AntiqueWhite); }
495 static public Color Aqua {
496 get { return KnownColors.FromKnownColor (KnownColor.Aqua); }
499 static public Color Aquamarine {
500 get { return KnownColors.FromKnownColor (KnownColor.Aquamarine); }
503 static public Color Azure {
504 get { return KnownColors.FromKnownColor (KnownColor.Azure); }
507 static public Color Beige {
508 get { return KnownColors.FromKnownColor (KnownColor.Beige); }
511 static public Color Bisque {
512 get { return KnownColors.FromKnownColor (KnownColor.Bisque); }
515 static public Color Black {
516 get { return KnownColors.FromKnownColor (KnownColor.Black); }
519 static public Color BlanchedAlmond {
520 get { return KnownColors.FromKnownColor (KnownColor.BlanchedAlmond); }
523 static public Color Blue {
524 get { return KnownColors.FromKnownColor (KnownColor.Blue); }
527 static public Color BlueViolet {
528 get { return KnownColors.FromKnownColor (KnownColor.BlueViolet); }
531 static public Color Brown {
532 get { return KnownColors.FromKnownColor (KnownColor.Brown); }
535 static public Color BurlyWood {
536 get { return KnownColors.FromKnownColor (KnownColor.BurlyWood); }
539 static public Color CadetBlue {
540 get { return KnownColors.FromKnownColor (KnownColor.CadetBlue); }
543 static public Color Chartreuse {
544 get { return KnownColors.FromKnownColor (KnownColor.Chartreuse); }
547 static public Color Chocolate {
548 get { return KnownColors.FromKnownColor (KnownColor.Chocolate); }
551 static public Color Coral {
552 get { return KnownColors.FromKnownColor (KnownColor.Coral); }
555 static public Color CornflowerBlue {
556 get { return KnownColors.FromKnownColor (KnownColor.CornflowerBlue); }
559 static public Color Cornsilk {
560 get { return KnownColors.FromKnownColor (KnownColor.Cornsilk); }
563 static public Color Crimson {
564 get { return KnownColors.FromKnownColor (KnownColor.Crimson); }
567 static public Color Cyan {
568 get { return KnownColors.FromKnownColor (KnownColor.Cyan); }
571 static public Color DarkBlue {
572 get { return KnownColors.FromKnownColor (KnownColor.DarkBlue); }
575 static public Color DarkCyan {
576 get { return KnownColors.FromKnownColor (KnownColor.DarkCyan); }
579 static public Color DarkGoldenrod {
580 get { return KnownColors.FromKnownColor (KnownColor.DarkGoldenrod); }
583 static public Color DarkGray {
584 get { return KnownColors.FromKnownColor (KnownColor.DarkGray); }
587 static public Color DarkGreen {
588 get { return KnownColors.FromKnownColor (KnownColor.DarkGreen); }
591 static public Color DarkKhaki {
592 get { return KnownColors.FromKnownColor (KnownColor.DarkKhaki); }
595 static public Color DarkMagenta {
596 get { return KnownColors.FromKnownColor (KnownColor.DarkMagenta); }
599 static public Color DarkOliveGreen {
600 get { return KnownColors.FromKnownColor (KnownColor.DarkOliveGreen); }
603 static public Color DarkOrange {
604 get { return KnownColors.FromKnownColor (KnownColor.DarkOrange); }
607 static public Color DarkOrchid {
608 get { return KnownColors.FromKnownColor (KnownColor.DarkOrchid); }
611 static public Color DarkRed {
612 get { return KnownColors.FromKnownColor (KnownColor.DarkRed); }
615 static public Color DarkSalmon {
616 get { return KnownColors.FromKnownColor (KnownColor.DarkSalmon); }
619 static public Color DarkSeaGreen {
620 get { return KnownColors.FromKnownColor (KnownColor.DarkSeaGreen); }
623 static public Color DarkSlateBlue {
624 get { return KnownColors.FromKnownColor (KnownColor.DarkSlateBlue); }
627 static public Color DarkSlateGray {
628 get { return KnownColors.FromKnownColor (KnownColor.DarkSlateGray); }
631 static public Color DarkTurquoise {
632 get { return KnownColors.FromKnownColor (KnownColor.DarkTurquoise); }
635 static public Color DarkViolet {
636 get { return KnownColors.FromKnownColor (KnownColor.DarkViolet); }
639 static public Color DeepPink {
640 get { return KnownColors.FromKnownColor (KnownColor.DeepPink); }
643 static public Color DeepSkyBlue {
644 get { return KnownColors.FromKnownColor (KnownColor.DeepSkyBlue); }
647 static public Color DimGray {
648 get { return KnownColors.FromKnownColor (KnownColor.DimGray); }
651 static public Color DodgerBlue {
652 get { return KnownColors.FromKnownColor (KnownColor.DodgerBlue); }
655 static public Color Firebrick {
656 get { return KnownColors.FromKnownColor (KnownColor.Firebrick); }
659 static public Color FloralWhite {
660 get { return KnownColors.FromKnownColor (KnownColor.FloralWhite); }
663 static public Color ForestGreen {
664 get { return KnownColors.FromKnownColor (KnownColor.ForestGreen); }
667 static public Color Fuchsia {
668 get { return KnownColors.FromKnownColor (KnownColor.Fuchsia); }
671 static public Color Gainsboro {
672 get { return KnownColors.FromKnownColor (KnownColor.Gainsboro); }
675 static public Color GhostWhite {
676 get { return KnownColors.FromKnownColor (KnownColor.GhostWhite); }
679 static public Color Gold {
680 get { return KnownColors.FromKnownColor (KnownColor.Gold); }
683 static public Color Goldenrod {
684 get { return KnownColors.FromKnownColor (KnownColor.Goldenrod); }
687 static public Color Gray {
688 get { return KnownColors.FromKnownColor (KnownColor.Gray); }
691 static public Color Green {
692 get { return KnownColors.FromKnownColor (KnownColor.Green); }
695 static public Color GreenYellow {
696 get { return KnownColors.FromKnownColor (KnownColor.GreenYellow); }
699 static public Color Honeydew {
700 get { return KnownColors.FromKnownColor (KnownColor.Honeydew); }
703 static public Color HotPink {
704 get { return KnownColors.FromKnownColor (KnownColor.HotPink); }
707 static public Color IndianRed {
708 get { return KnownColors.FromKnownColor (KnownColor.IndianRed); }
711 static public Color Indigo {
712 get { return KnownColors.FromKnownColor (KnownColor.Indigo); }
715 static public Color Ivory {
716 get { return KnownColors.FromKnownColor (KnownColor.Ivory); }
719 static public Color Khaki {
720 get { return KnownColors.FromKnownColor (KnownColor.Khaki); }
723 static public Color Lavender {
724 get { return KnownColors.FromKnownColor (KnownColor.Lavender); }
727 static public Color LavenderBlush {
728 get { return KnownColors.FromKnownColor (KnownColor.LavenderBlush); }
731 static public Color LawnGreen {
732 get { return KnownColors.FromKnownColor (KnownColor.LawnGreen); }
735 static public Color LemonChiffon {
736 get { return KnownColors.FromKnownColor (KnownColor.LemonChiffon); }
739 static public Color LightBlue {
740 get { return KnownColors.FromKnownColor (KnownColor.LightBlue); }
743 static public Color LightCoral {
744 get { return KnownColors.FromKnownColor (KnownColor.LightCoral); }
747 static public Color LightCyan {
748 get { return KnownColors.FromKnownColor (KnownColor.LightCyan); }
751 static public Color LightGoldenrodYellow {
752 get { return KnownColors.FromKnownColor (KnownColor.LightGoldenrodYellow); }
755 static public Color LightGreen {
756 get { return KnownColors.FromKnownColor (KnownColor.LightGreen); }
759 static public Color LightGray {
760 get { return KnownColors.FromKnownColor (KnownColor.LightGray); }
763 static public Color LightPink {
764 get { return KnownColors.FromKnownColor (KnownColor.LightPink); }
767 static public Color LightSalmon {
768 get { return KnownColors.FromKnownColor (KnownColor.LightSalmon); }
771 static public Color LightSeaGreen {
772 get { return KnownColors.FromKnownColor (KnownColor.LightSeaGreen); }
775 static public Color LightSkyBlue {
776 get { return KnownColors.FromKnownColor (KnownColor.LightSkyBlue); }
779 static public Color LightSlateGray {
780 get { return KnownColors.FromKnownColor (KnownColor.LightSlateGray); }
783 static public Color LightSteelBlue {
784 get { return KnownColors.FromKnownColor (KnownColor.LightSteelBlue); }
787 static public Color LightYellow {
788 get { return KnownColors.FromKnownColor (KnownColor.LightYellow); }
791 static public Color Lime {
792 get { return KnownColors.FromKnownColor (KnownColor.Lime); }
795 static public Color LimeGreen {
796 get { return KnownColors.FromKnownColor (KnownColor.LimeGreen); }
799 static public Color Linen {
800 get { return KnownColors.FromKnownColor (KnownColor.Linen); }
803 static public Color Magenta {
804 get { return KnownColors.FromKnownColor (KnownColor.Magenta); }
807 static public Color Maroon {
808 get { return KnownColors.FromKnownColor (KnownColor.Maroon); }
811 static public Color MediumAquamarine {
812 get { return KnownColors.FromKnownColor (KnownColor.MediumAquamarine); }
815 static public Color MediumBlue {
816 get { return KnownColors.FromKnownColor (KnownColor.MediumBlue); }
819 static public Color MediumOrchid {
820 get { return KnownColors.FromKnownColor (KnownColor.MediumOrchid); }
823 static public Color MediumPurple {
824 get { return KnownColors.FromKnownColor (KnownColor.MediumPurple); }
827 static public Color MediumSeaGreen {
828 get { return KnownColors.FromKnownColor (KnownColor.MediumSeaGreen); }
831 static public Color MediumSlateBlue {
832 get { return KnownColors.FromKnownColor (KnownColor.MediumSlateBlue); }
835 static public Color MediumSpringGreen {
836 get { return KnownColors.FromKnownColor (KnownColor.MediumSpringGreen); }
839 static public Color MediumTurquoise {
840 get { return KnownColors.FromKnownColor (KnownColor.MediumTurquoise); }
843 static public Color MediumVioletRed {
844 get { return KnownColors.FromKnownColor (KnownColor.MediumVioletRed); }
847 static public Color MidnightBlue {
848 get { return KnownColors.FromKnownColor (KnownColor.MidnightBlue); }
851 static public Color MintCream {
852 get { return KnownColors.FromKnownColor (KnownColor.MintCream); }
855 static public Color MistyRose {
856 get { return KnownColors.FromKnownColor (KnownColor.MistyRose); }
859 static public Color Moccasin {
860 get { return KnownColors.FromKnownColor (KnownColor.Moccasin); }
863 static public Color NavajoWhite {
864 get { return KnownColors.FromKnownColor (KnownColor.NavajoWhite); }
867 static public Color Navy {
868 get { return KnownColors.FromKnownColor (KnownColor.Navy); }
871 static public Color OldLace {
872 get { return KnownColors.FromKnownColor (KnownColor.OldLace); }
875 static public Color Olive {
876 get { return KnownColors.FromKnownColor (KnownColor.Olive); }
879 static public Color OliveDrab {
880 get { return KnownColors.FromKnownColor (KnownColor.OliveDrab); }
883 static public Color Orange {
884 get { return KnownColors.FromKnownColor (KnownColor.Orange); }
887 static public Color OrangeRed {
888 get { return KnownColors.FromKnownColor (KnownColor.OrangeRed); }
891 static public Color Orchid {
892 get { return KnownColors.FromKnownColor (KnownColor.Orchid); }
895 static public Color PaleGoldenrod {
896 get { return KnownColors.FromKnownColor (KnownColor.PaleGoldenrod); }
899 static public Color PaleGreen {
900 get { return KnownColors.FromKnownColor (KnownColor.PaleGreen); }
903 static public Color PaleTurquoise {
904 get { return KnownColors.FromKnownColor (KnownColor.PaleTurquoise); }
907 static public Color PaleVioletRed {
908 get { return KnownColors.FromKnownColor (KnownColor.PaleVioletRed); }
911 static public Color PapayaWhip {
912 get { return KnownColors.FromKnownColor (KnownColor.PapayaWhip); }
915 static public Color PeachPuff {
916 get { return KnownColors.FromKnownColor (KnownColor.PeachPuff); }
919 static public Color Peru {
920 get { return KnownColors.FromKnownColor (KnownColor.Peru); }
923 static public Color Pink {
924 get { return KnownColors.FromKnownColor (KnownColor.Pink); }
927 static public Color Plum {
928 get { return KnownColors.FromKnownColor (KnownColor.Plum); }
931 static public Color PowderBlue {
932 get { return KnownColors.FromKnownColor (KnownColor.PowderBlue); }
935 static public Color Purple {
936 get { return KnownColors.FromKnownColor (KnownColor.Purple); }
939 static public Color Red {
940 get { return KnownColors.FromKnownColor (KnownColor.Red); }
943 static public Color RosyBrown {
944 get { return KnownColors.FromKnownColor (KnownColor.RosyBrown); }
947 static public Color RoyalBlue {
948 get { return KnownColors.FromKnownColor (KnownColor.RoyalBlue); }
951 static public Color SaddleBrown {
952 get { return KnownColors.FromKnownColor (KnownColor.SaddleBrown); }
955 static public Color Salmon {
956 get { return KnownColors.FromKnownColor (KnownColor.Salmon); }
959 static public Color SandyBrown {
960 get { return KnownColors.FromKnownColor (KnownColor.SandyBrown); }
963 static public Color SeaGreen {
964 get { return KnownColors.FromKnownColor (KnownColor.SeaGreen); }
967 static public Color SeaShell {
968 get { return KnownColors.FromKnownColor (KnownColor.SeaShell); }
971 static public Color Sienna {
972 get { return KnownColors.FromKnownColor (KnownColor.Sienna); }
975 static public Color Silver {
976 get { return KnownColors.FromKnownColor (KnownColor.Silver); }
979 static public Color SkyBlue {
980 get { return KnownColors.FromKnownColor (KnownColor.SkyBlue); }
983 static public Color SlateBlue {
984 get { return KnownColors.FromKnownColor (KnownColor.SlateBlue); }
987 static public Color SlateGray {
988 get { return KnownColors.FromKnownColor (KnownColor.SlateGray); }
991 static public Color Snow {
992 get { return KnownColors.FromKnownColor (KnownColor.Snow); }
995 static public Color SpringGreen {
996 get { return KnownColors.FromKnownColor (KnownColor.SpringGreen); }
999 static public Color SteelBlue {
1000 get { return KnownColors.FromKnownColor (KnownColor.SteelBlue); }
1003 static public Color Tan {
1004 get { return KnownColors.FromKnownColor (KnownColor.Tan); }
1007 static public Color Teal {
1008 get { return KnownColors.FromKnownColor (KnownColor.Teal); }
1011 static public Color Thistle {
1012 get { return KnownColors.FromKnownColor (KnownColor.Thistle); }
1015 static public Color Tomato {
1016 get { return KnownColors.FromKnownColor (KnownColor.Tomato); }
1019 static public Color Turquoise {
1020 get { return KnownColors.FromKnownColor (KnownColor.Turquoise); }
1023 static public Color Violet {
1024 get { return KnownColors.FromKnownColor (KnownColor.Violet); }
1027 static public Color Wheat {
1028 get { return KnownColors.FromKnownColor (KnownColor.Wheat); }
1031 static public Color White {
1032 get { return KnownColors.FromKnownColor (KnownColor.White); }
1035 static public Color WhiteSmoke {
1036 get { return KnownColors.FromKnownColor (KnownColor.WhiteSmoke); }
1039 static public Color Yellow {
1040 get { return KnownColors.FromKnownColor (KnownColor.Yellow); }
1043 static public Color YellowGreen {
1044 get { return KnownColors.FromKnownColor (KnownColor.YellowGreen); }