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.ComponentModel;
37 using System.Runtime.InteropServices;
39 namespace System.Drawing
41 [TypeConverter(typeof(ColorConverter))]
42 [Editor ("System.Drawing.Design.ColorEditor, " + Consts.AssemblySystem_Drawing_Design, typeof (System.Drawing.Design.UITypeEditor))]
46 // Private transparency (A) and R,G,B fields.
49 // The specs also indicate that all three of these properties are true
50 // if created with FromKnownColor or FromNamedColor, false otherwise (FromARGB).
51 // Per Microsoft and ECMA specs these varibles are set by which constructor is used, not by their values.
53 internal enum ColorType : short {
62 internal short knownColor;
64 // Mono bug #324144 is holding this change
65 // MS 1.1 requires this member to be present for serialization (not so in 2.0)
66 // however it's bad to keep a string (reference) in a struct
72 #if NET_2_0_ONCE_MONO_BUG_324144_IS_FIXED
74 return KnownColors.GetName (knownColor);
76 return String.Format ("{0:x}", ToArgb ());
78 // name is required for serialization under 1.x, but not under 2.0
80 // Can happen with stuff deserialized from MS
82 name = KnownColors.GetName (knownColor);
84 name = String.Format ("{0:x}", ToArgb ());
91 public bool IsKnownColor {
93 return (state & ((short) ColorType.Known)) != 0;
97 public bool IsSystemColor {
99 return (state & ((short) ColorType.System)) != 0;
103 public bool IsNamedColor {
105 return (state & (short)(ColorType.Known|ColorType.Named)) != 0;
109 internal long Value {
111 // Optimization for known colors that were deserialized
112 // from an MS serialized stream.
113 if (value == 0 && IsKnownColor) {
114 value = KnownColors.FromKnownColor ((KnownColor)knownColor).ToArgb () & 0xFFFFFFFF;
118 set { this.value = value; }
121 public static Color FromArgb (int red, int green, int blue)
123 return FromArgb (255, red, green, blue);
126 public static Color FromArgb (int alpha, int red, int green, int blue)
128 CheckARGBValues (alpha, red, green, blue);
129 Color color = new Color ();
130 color.state = (short) ColorType.ARGB;
131 color.Value = (int)((uint) alpha << 24) + (red << 16) + (green << 8) + blue;
140 public static Color FromArgb (int alpha, Color baseColor)
142 return FromArgb (alpha, baseColor.R, baseColor.G, baseColor.B);
145 public static Color FromArgb (int argb)
147 return FromArgb ((argb >> 24) & 0x0FF, (argb >> 16) & 0x0FF, (argb >> 8) & 0x0FF, argb & 0x0FF);
150 public static Color FromKnownColor (KnownColor color)
152 return KnownColors.FromKnownColor (color);
155 public static Color FromName (string name)
158 KnownColor kc = (KnownColor) Enum.Parse (typeof (KnownColor), name, true);
159 return KnownColors.FromKnownColor (kc);
162 // This is what it returns!
163 Color d = FromArgb (0, 0, 0, 0);
165 d.state |= (short) ColorType.Named;
171 // -----------------------
172 // Public Shared Members
173 // -----------------------
176 /// Empty Shared Field
180 /// An uninitialized Color Structure
183 public static readonly Color Empty;
186 /// Equality Operator
190 /// Compares two Color objects. The return value is
191 /// based on the equivalence of the A,R,G,B properties
192 /// of the two Colors.
195 public static bool operator == (Color left, Color right)
197 if (left.Value != right.Value)
199 if (left.IsNamedColor != right.IsNamedColor)
201 if (left.IsSystemColor != right.IsSystemColor)
203 if (left.IsEmpty != right.IsEmpty)
205 if (left.IsNamedColor) {
206 // then both are named (see previous check) and so we need to compare them
207 // but otherwise we don't as it kills performance (Name calls String.Format)
208 if (left.Name != right.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 left, Color right)
226 return ! (left == right);
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;
313 get { return (byte) (Value >> 24); }
317 get { return (byte) (Value >> 16); }
321 get { return (byte) (Value >> 8); }
325 get { return (byte) Value; }
333 /// Checks equivalence of this Color and another object.
336 public override bool Equals (object obj)
340 Color c = (Color) obj;
345 /// Reference Equals Method
346 /// Is commented out because this is handled by the base class.
347 /// TODO: Is it correct to let the base class handel reference equals
351 /// Checks equivalence of this Color and another object.
353 //public bool ReferenceEquals (object o)
355 // if (!(o is Color))return false;
356 // return (this == (Color) o);
362 /// GetHashCode Method
366 /// Calculates a hashing value.
369 public override int GetHashCode ()
371 int hc = (int)(Value ^ (Value >> 32) ^ state ^ (knownColor >> 16));
373 hc ^= Name.GetHashCode ();
382 /// Formats the Color as a string in ARGB notation.
385 public override string ToString ()
388 return "Color [Empty]";
390 // Use the property here, not the field.
392 return "Color [" + Name + "]";
394 return String.Format ("Color [A={0}, R={1}, G={2}, B={3}]", A, R, G, B);
397 private static void CheckRGBValues (int red,int green,int blue)
399 if( (red > 255) || (red < 0))
400 throw CreateColorArgumentException(red, "red");
401 if( (green > 255) || (green < 0))
402 throw CreateColorArgumentException (green, "green");
403 if( (blue > 255) || (blue < 0))
404 throw CreateColorArgumentException (blue, "blue");
407 private static ArgumentException CreateColorArgumentException (int value, string color)
409 return new ArgumentException (string.Format ("'{0}' is not a valid"
410 + " value for '{1}'. '{1}' should be greater or equal to 0 and"
411 + " less than or equal to 255.", value, color));
414 private static void CheckARGBValues (int alpha,int red,int green,int blue)
416 if( (alpha > 255) || (alpha < 0))
417 throw CreateColorArgumentException (alpha, "alpha");
418 CheckRGBValues(red,green,blue);
422 static public Color Transparent {
423 get { return KnownColors.FromKnownColor (KnownColor.Transparent); }
426 static public Color AliceBlue {
427 get { return KnownColors.FromKnownColor (KnownColor.AliceBlue); }
430 static public Color AntiqueWhite {
431 get { return KnownColors.FromKnownColor (KnownColor.AntiqueWhite); }
434 static public Color Aqua {
435 get { return KnownColors.FromKnownColor (KnownColor.Aqua); }
438 static public Color Aquamarine {
439 get { return KnownColors.FromKnownColor (KnownColor.Aquamarine); }
442 static public Color Azure {
443 get { return KnownColors.FromKnownColor (KnownColor.Azure); }
446 static public Color Beige {
447 get { return KnownColors.FromKnownColor (KnownColor.Beige); }
450 static public Color Bisque {
451 get { return KnownColors.FromKnownColor (KnownColor.Bisque); }
454 static public Color Black {
455 get { return KnownColors.FromKnownColor (KnownColor.Black); }
458 static public Color BlanchedAlmond {
459 get { return KnownColors.FromKnownColor (KnownColor.BlanchedAlmond); }
462 static public Color Blue {
463 get { return KnownColors.FromKnownColor (KnownColor.Blue); }
466 static public Color BlueViolet {
467 get { return KnownColors.FromKnownColor (KnownColor.BlueViolet); }
470 static public Color Brown {
471 get { return KnownColors.FromKnownColor (KnownColor.Brown); }
474 static public Color BurlyWood {
475 get { return KnownColors.FromKnownColor (KnownColor.BurlyWood); }
478 static public Color CadetBlue {
479 get { return KnownColors.FromKnownColor (KnownColor.CadetBlue); }
482 static public Color Chartreuse {
483 get { return KnownColors.FromKnownColor (KnownColor.Chartreuse); }
486 static public Color Chocolate {
487 get { return KnownColors.FromKnownColor (KnownColor.Chocolate); }
490 static public Color Coral {
491 get { return KnownColors.FromKnownColor (KnownColor.Coral); }
494 static public Color CornflowerBlue {
495 get { return KnownColors.FromKnownColor (KnownColor.CornflowerBlue); }
498 static public Color Cornsilk {
499 get { return KnownColors.FromKnownColor (KnownColor.Cornsilk); }
502 static public Color Crimson {
503 get { return KnownColors.FromKnownColor (KnownColor.Crimson); }
506 static public Color Cyan {
507 get { return KnownColors.FromKnownColor (KnownColor.Cyan); }
510 static public Color DarkBlue {
511 get { return KnownColors.FromKnownColor (KnownColor.DarkBlue); }
514 static public Color DarkCyan {
515 get { return KnownColors.FromKnownColor (KnownColor.DarkCyan); }
518 static public Color DarkGoldenrod {
519 get { return KnownColors.FromKnownColor (KnownColor.DarkGoldenrod); }
522 static public Color DarkGray {
523 get { return KnownColors.FromKnownColor (KnownColor.DarkGray); }
526 static public Color DarkGreen {
527 get { return KnownColors.FromKnownColor (KnownColor.DarkGreen); }
530 static public Color DarkKhaki {
531 get { return KnownColors.FromKnownColor (KnownColor.DarkKhaki); }
534 static public Color DarkMagenta {
535 get { return KnownColors.FromKnownColor (KnownColor.DarkMagenta); }
538 static public Color DarkOliveGreen {
539 get { return KnownColors.FromKnownColor (KnownColor.DarkOliveGreen); }
542 static public Color DarkOrange {
543 get { return KnownColors.FromKnownColor (KnownColor.DarkOrange); }
546 static public Color DarkOrchid {
547 get { return KnownColors.FromKnownColor (KnownColor.DarkOrchid); }
550 static public Color DarkRed {
551 get { return KnownColors.FromKnownColor (KnownColor.DarkRed); }
554 static public Color DarkSalmon {
555 get { return KnownColors.FromKnownColor (KnownColor.DarkSalmon); }
558 static public Color DarkSeaGreen {
559 get { return KnownColors.FromKnownColor (KnownColor.DarkSeaGreen); }
562 static public Color DarkSlateBlue {
563 get { return KnownColors.FromKnownColor (KnownColor.DarkSlateBlue); }
566 static public Color DarkSlateGray {
567 get { return KnownColors.FromKnownColor (KnownColor.DarkSlateGray); }
570 static public Color DarkTurquoise {
571 get { return KnownColors.FromKnownColor (KnownColor.DarkTurquoise); }
574 static public Color DarkViolet {
575 get { return KnownColors.FromKnownColor (KnownColor.DarkViolet); }
578 static public Color DeepPink {
579 get { return KnownColors.FromKnownColor (KnownColor.DeepPink); }
582 static public Color DeepSkyBlue {
583 get { return KnownColors.FromKnownColor (KnownColor.DeepSkyBlue); }
586 static public Color DimGray {
587 get { return KnownColors.FromKnownColor (KnownColor.DimGray); }
590 static public Color DodgerBlue {
591 get { return KnownColors.FromKnownColor (KnownColor.DodgerBlue); }
594 static public Color Firebrick {
595 get { return KnownColors.FromKnownColor (KnownColor.Firebrick); }
598 static public Color FloralWhite {
599 get { return KnownColors.FromKnownColor (KnownColor.FloralWhite); }
602 static public Color ForestGreen {
603 get { return KnownColors.FromKnownColor (KnownColor.ForestGreen); }
606 static public Color Fuchsia {
607 get { return KnownColors.FromKnownColor (KnownColor.Fuchsia); }
610 static public Color Gainsboro {
611 get { return KnownColors.FromKnownColor (KnownColor.Gainsboro); }
614 static public Color GhostWhite {
615 get { return KnownColors.FromKnownColor (KnownColor.GhostWhite); }
618 static public Color Gold {
619 get { return KnownColors.FromKnownColor (KnownColor.Gold); }
622 static public Color Goldenrod {
623 get { return KnownColors.FromKnownColor (KnownColor.Goldenrod); }
626 static public Color Gray {
627 get { return KnownColors.FromKnownColor (KnownColor.Gray); }
630 static public Color Green {
631 get { return KnownColors.FromKnownColor (KnownColor.Green); }
634 static public Color GreenYellow {
635 get { return KnownColors.FromKnownColor (KnownColor.GreenYellow); }
638 static public Color Honeydew {
639 get { return KnownColors.FromKnownColor (KnownColor.Honeydew); }
642 static public Color HotPink {
643 get { return KnownColors.FromKnownColor (KnownColor.HotPink); }
646 static public Color IndianRed {
647 get { return KnownColors.FromKnownColor (KnownColor.IndianRed); }
650 static public Color Indigo {
651 get { return KnownColors.FromKnownColor (KnownColor.Indigo); }
654 static public Color Ivory {
655 get { return KnownColors.FromKnownColor (KnownColor.Ivory); }
658 static public Color Khaki {
659 get { return KnownColors.FromKnownColor (KnownColor.Khaki); }
662 static public Color Lavender {
663 get { return KnownColors.FromKnownColor (KnownColor.Lavender); }
666 static public Color LavenderBlush {
667 get { return KnownColors.FromKnownColor (KnownColor.LavenderBlush); }
670 static public Color LawnGreen {
671 get { return KnownColors.FromKnownColor (KnownColor.LawnGreen); }
674 static public Color LemonChiffon {
675 get { return KnownColors.FromKnownColor (KnownColor.LemonChiffon); }
678 static public Color LightBlue {
679 get { return KnownColors.FromKnownColor (KnownColor.LightBlue); }
682 static public Color LightCoral {
683 get { return KnownColors.FromKnownColor (KnownColor.LightCoral); }
686 static public Color LightCyan {
687 get { return KnownColors.FromKnownColor (KnownColor.LightCyan); }
690 static public Color LightGoldenrodYellow {
691 get { return KnownColors.FromKnownColor (KnownColor.LightGoldenrodYellow); }
694 static public Color LightGreen {
695 get { return KnownColors.FromKnownColor (KnownColor.LightGreen); }
698 static public Color LightGray {
699 get { return KnownColors.FromKnownColor (KnownColor.LightGray); }
702 static public Color LightPink {
703 get { return KnownColors.FromKnownColor (KnownColor.LightPink); }
706 static public Color LightSalmon {
707 get { return KnownColors.FromKnownColor (KnownColor.LightSalmon); }
710 static public Color LightSeaGreen {
711 get { return KnownColors.FromKnownColor (KnownColor.LightSeaGreen); }
714 static public Color LightSkyBlue {
715 get { return KnownColors.FromKnownColor (KnownColor.LightSkyBlue); }
718 static public Color LightSlateGray {
719 get { return KnownColors.FromKnownColor (KnownColor.LightSlateGray); }
722 static public Color LightSteelBlue {
723 get { return KnownColors.FromKnownColor (KnownColor.LightSteelBlue); }
726 static public Color LightYellow {
727 get { return KnownColors.FromKnownColor (KnownColor.LightYellow); }
730 static public Color Lime {
731 get { return KnownColors.FromKnownColor (KnownColor.Lime); }
734 static public Color LimeGreen {
735 get { return KnownColors.FromKnownColor (KnownColor.LimeGreen); }
738 static public Color Linen {
739 get { return KnownColors.FromKnownColor (KnownColor.Linen); }
742 static public Color Magenta {
743 get { return KnownColors.FromKnownColor (KnownColor.Magenta); }
746 static public Color Maroon {
747 get { return KnownColors.FromKnownColor (KnownColor.Maroon); }
750 static public Color MediumAquamarine {
751 get { return KnownColors.FromKnownColor (KnownColor.MediumAquamarine); }
754 static public Color MediumBlue {
755 get { return KnownColors.FromKnownColor (KnownColor.MediumBlue); }
758 static public Color MediumOrchid {
759 get { return KnownColors.FromKnownColor (KnownColor.MediumOrchid); }
762 static public Color MediumPurple {
763 get { return KnownColors.FromKnownColor (KnownColor.MediumPurple); }
766 static public Color MediumSeaGreen {
767 get { return KnownColors.FromKnownColor (KnownColor.MediumSeaGreen); }
770 static public Color MediumSlateBlue {
771 get { return KnownColors.FromKnownColor (KnownColor.MediumSlateBlue); }
774 static public Color MediumSpringGreen {
775 get { return KnownColors.FromKnownColor (KnownColor.MediumSpringGreen); }
778 static public Color MediumTurquoise {
779 get { return KnownColors.FromKnownColor (KnownColor.MediumTurquoise); }
782 static public Color MediumVioletRed {
783 get { return KnownColors.FromKnownColor (KnownColor.MediumVioletRed); }
786 static public Color MidnightBlue {
787 get { return KnownColors.FromKnownColor (KnownColor.MidnightBlue); }
790 static public Color MintCream {
791 get { return KnownColors.FromKnownColor (KnownColor.MintCream); }
794 static public Color MistyRose {
795 get { return KnownColors.FromKnownColor (KnownColor.MistyRose); }
798 static public Color Moccasin {
799 get { return KnownColors.FromKnownColor (KnownColor.Moccasin); }
802 static public Color NavajoWhite {
803 get { return KnownColors.FromKnownColor (KnownColor.NavajoWhite); }
806 static public Color Navy {
807 get { return KnownColors.FromKnownColor (KnownColor.Navy); }
810 static public Color OldLace {
811 get { return KnownColors.FromKnownColor (KnownColor.OldLace); }
814 static public Color Olive {
815 get { return KnownColors.FromKnownColor (KnownColor.Olive); }
818 static public Color OliveDrab {
819 get { return KnownColors.FromKnownColor (KnownColor.OliveDrab); }
822 static public Color Orange {
823 get { return KnownColors.FromKnownColor (KnownColor.Orange); }
826 static public Color OrangeRed {
827 get { return KnownColors.FromKnownColor (KnownColor.OrangeRed); }
830 static public Color Orchid {
831 get { return KnownColors.FromKnownColor (KnownColor.Orchid); }
834 static public Color PaleGoldenrod {
835 get { return KnownColors.FromKnownColor (KnownColor.PaleGoldenrod); }
838 static public Color PaleGreen {
839 get { return KnownColors.FromKnownColor (KnownColor.PaleGreen); }
842 static public Color PaleTurquoise {
843 get { return KnownColors.FromKnownColor (KnownColor.PaleTurquoise); }
846 static public Color PaleVioletRed {
847 get { return KnownColors.FromKnownColor (KnownColor.PaleVioletRed); }
850 static public Color PapayaWhip {
851 get { return KnownColors.FromKnownColor (KnownColor.PapayaWhip); }
854 static public Color PeachPuff {
855 get { return KnownColors.FromKnownColor (KnownColor.PeachPuff); }
858 static public Color Peru {
859 get { return KnownColors.FromKnownColor (KnownColor.Peru); }
862 static public Color Pink {
863 get { return KnownColors.FromKnownColor (KnownColor.Pink); }
866 static public Color Plum {
867 get { return KnownColors.FromKnownColor (KnownColor.Plum); }
870 static public Color PowderBlue {
871 get { return KnownColors.FromKnownColor (KnownColor.PowderBlue); }
874 static public Color Purple {
875 get { return KnownColors.FromKnownColor (KnownColor.Purple); }
878 static public Color Red {
879 get { return KnownColors.FromKnownColor (KnownColor.Red); }
882 static public Color RosyBrown {
883 get { return KnownColors.FromKnownColor (KnownColor.RosyBrown); }
886 static public Color RoyalBlue {
887 get { return KnownColors.FromKnownColor (KnownColor.RoyalBlue); }
890 static public Color SaddleBrown {
891 get { return KnownColors.FromKnownColor (KnownColor.SaddleBrown); }
894 static public Color Salmon {
895 get { return KnownColors.FromKnownColor (KnownColor.Salmon); }
898 static public Color SandyBrown {
899 get { return KnownColors.FromKnownColor (KnownColor.SandyBrown); }
902 static public Color SeaGreen {
903 get { return KnownColors.FromKnownColor (KnownColor.SeaGreen); }
906 static public Color SeaShell {
907 get { return KnownColors.FromKnownColor (KnownColor.SeaShell); }
910 static public Color Sienna {
911 get { return KnownColors.FromKnownColor (KnownColor.Sienna); }
914 static public Color Silver {
915 get { return KnownColors.FromKnownColor (KnownColor.Silver); }
918 static public Color SkyBlue {
919 get { return KnownColors.FromKnownColor (KnownColor.SkyBlue); }
922 static public Color SlateBlue {
923 get { return KnownColors.FromKnownColor (KnownColor.SlateBlue); }
926 static public Color SlateGray {
927 get { return KnownColors.FromKnownColor (KnownColor.SlateGray); }
930 static public Color Snow {
931 get { return KnownColors.FromKnownColor (KnownColor.Snow); }
934 static public Color SpringGreen {
935 get { return KnownColors.FromKnownColor (KnownColor.SpringGreen); }
938 static public Color SteelBlue {
939 get { return KnownColors.FromKnownColor (KnownColor.SteelBlue); }
942 static public Color Tan {
943 get { return KnownColors.FromKnownColor (KnownColor.Tan); }
946 static public Color Teal {
947 get { return KnownColors.FromKnownColor (KnownColor.Teal); }
950 static public Color Thistle {
951 get { return KnownColors.FromKnownColor (KnownColor.Thistle); }
954 static public Color Tomato {
955 get { return KnownColors.FromKnownColor (KnownColor.Tomato); }
958 static public Color Turquoise {
959 get { return KnownColors.FromKnownColor (KnownColor.Turquoise); }
962 static public Color Violet {
963 get { return KnownColors.FromKnownColor (KnownColor.Violet); }
966 static public Color Wheat {
967 get { return KnownColors.FromKnownColor (KnownColor.Wheat); }
970 static public Color White {
971 get { return KnownColors.FromKnownColor (KnownColor.White); }
974 static public Color WhiteSmoke {
975 get { return KnownColors.FromKnownColor (KnownColor.WhiteSmoke); }
978 static public Color Yellow {
979 get { return KnownColors.FromKnownColor (KnownColor.Yellow); }
982 static public Color YellowGreen {
983 get { return KnownColors.FromKnownColor (KnownColor.YellowGreen); }