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))]
46 [Editor ("System.Drawing.Design.ColorEditor, " + Consts.AssemblySystem_Drawing_Design, typeof (System.Drawing.Design.UITypeEditor))]
51 // Private transparency (A) and R,G,B fields.
54 // The specs also indicate that all three of these properties are true
55 // if created with FromKnownColor or FromNamedColor, false otherwise (FromARGB).
56 // Per Microsoft and ECMA specs these varibles are set by which constructor is used, not by their values.
58 internal enum ColorType : short {
67 internal short knownColor;
69 // Mono bug #324144 is holding this change
70 // MS 1.1 requires this member to be present for serialization (not so in 2.0)
71 // however it's bad to keep a string (reference) in a struct
75 internal java.awt.Color NativeObject {
77 return new java.awt.Color (R, G, B, A);
81 internal static Color FromArgbNamed (int alpha, int red, int green, int blue, string name, KnownColor knownColor)
83 Color color = FromArgb (alpha, red, green, blue);
84 color.state = (short) (ColorType.Known|ColorType.Named);
85 color.name = KnownColors.GetName (knownColor);
86 color.knownColor = (short) knownColor;
90 internal static Color FromArgbSystem (int alpha, int red, int green, int blue, string name, KnownColor knownColor)
92 Color color = FromArgbNamed (alpha, red, green, blue, name, knownColor);
93 color.state |= (short) ColorType.System;
100 #if NET_2_0_ONCE_MONO_BUG_324144_IS_FIXED
102 return KnownColors.GetName (knownColor);
104 return String.Format ("{0:x}", ToArgb ());
106 // name is required for serialization under 1.x, but not under 2.0
108 // Can happen with stuff deserialized from MS
110 name = KnownColors.GetName (knownColor);
112 name = String.Format ("{0:x}", ToArgb ());
119 public bool IsKnownColor {
121 return (state & ((short) ColorType.Known)) != 0;
125 public bool IsSystemColor {
127 return (state & ((short) ColorType.System)) != 0;
131 public bool IsNamedColor {
133 return (state & (short)(ColorType.Known|ColorType.Named)) != 0;
137 internal long Value {
139 // Optimization for known colors that were deserialized
140 // from an MS serialized stream.
141 if (value == 0 && IsKnownColor) {
142 value = KnownColors.FromKnownColor ((KnownColor)knownColor).ToArgb () & 0xFFFFFFFF;
146 set { this.value = value; }
149 public static Color FromArgb (int red, int green, int blue)
151 return FromArgb (255, red, green, blue);
154 public static Color FromArgb (int alpha, int red, int green, int blue)
156 CheckARGBValues (alpha, red, green, blue);
157 Color color = new Color ();
158 color.state = (short) ColorType.ARGB;
159 color.Value = (int)((uint) alpha << 24) + (red << 16) + (green << 8) + blue;
168 public static Color FromArgb (int alpha, Color baseColor)
170 return FromArgb (alpha, baseColor.R, baseColor.G, baseColor.B);
173 public static Color FromArgb (int argb)
175 return FromArgb ((argb >> 24) & 0x0FF, (argb >> 16) & 0x0FF, (argb >> 8) & 0x0FF, argb & 0x0FF);
178 public static Color FromKnownColor (KnownColor color)
180 return KnownColors.FromKnownColor (color);
183 public static Color FromName (string name)
186 KnownColor kc = (KnownColor) Enum.Parse (typeof (KnownColor), name, true);
187 return KnownColors.FromKnownColor (kc);
190 // This is what it returns!
191 Color d = FromArgb (0, 0, 0, 0);
193 d.state |= (short) ColorType.Named;
199 // -----------------------
200 // Public Shared Members
201 // -----------------------
204 /// Empty Shared Field
208 /// An uninitialized Color Structure
211 public static readonly Color Empty;
214 /// Equality Operator
218 /// Compares two Color objects. The return value is
219 /// based on the equivalence of the A,R,G,B properties
220 /// of the two Colors.
223 public static bool operator == (Color left, Color right)
225 if (left.Value != right.Value)
227 if (left.IsNamedColor != right.IsNamedColor)
229 if (left.IsSystemColor != right.IsSystemColor)
231 if (left.IsEmpty != right.IsEmpty)
233 if (left.IsNamedColor) {
234 // then both are named (see previous check) and so we need to compare them
235 // but otherwise we don't as it kills performance (Name calls String.Format)
236 if (left.Name != right.Name)
243 /// Inequality Operator
247 /// Compares two Color objects. The return value is
248 /// based on the equivalence of the A,R,G,B properties
249 /// of the two colors.
252 public static bool operator != (Color left, Color right)
254 return ! (left == right);
257 public float GetBrightness ()
259 byte minval = Math.Min (R, Math.Min (G, B));
260 byte maxval = Math.Max (R, Math.Max (G, B));
262 return (float)(maxval + minval) / 510;
265 public float GetSaturation ()
267 byte minval = (byte) Math.Min (R, Math.Min (G, B));
268 byte maxval = (byte) Math.Max (R, Math.Max (G, B));
270 if (maxval == minval)
273 int sum = maxval + minval;
277 return (float)(maxval - minval) / sum;
280 public float GetHue ()
285 byte minval = (byte) Math.Min (r, Math.Min (g, b));
286 byte maxval = (byte) Math.Max (r, Math.Max (g, b));
288 if (maxval == minval)
291 float diff = (float)(maxval - minval);
292 float rnorm = (maxval - r) / diff;
293 float gnorm = (maxval - g) / diff;
294 float bnorm = (maxval - b) / diff;
298 hue = 60.0f * (6.0f + bnorm - gnorm);
300 hue = 60.0f * (2.0f + rnorm - bnorm);
302 hue = 60.0f * (4.0f + gnorm - rnorm);
309 // -----------------------
310 // Public Instance Members
311 // -----------------------
314 /// ToKnownColor method
318 /// Returns the KnownColor enum value for this color, 0 if is not known.
320 public KnownColor ToKnownColor ()
322 return (KnownColor) knownColor;
330 /// Indicates transparent black. R,G,B = 0; A=0?
336 return state == (short) ColorType.Empty;
341 get { return (byte) (Value >> 24); }
345 get { return (byte) (Value >> 16); }
349 get { return (byte) (Value >> 8); }
353 get { return (byte) Value; }
361 /// Checks equivalence of this Color and another object.
364 public override bool Equals (object obj)
368 Color c = (Color) obj;
373 /// Reference Equals Method
374 /// Is commented out because this is handled by the base class.
375 /// TODO: Is it correct to let the base class handel reference equals
379 /// Checks equivalence of this Color and another object.
381 //public bool ReferenceEquals (object o)
383 // if (!(o is Color))return false;
384 // return (this == (Color) o);
390 /// GetHashCode Method
394 /// Calculates a hashing value.
397 public override int GetHashCode ()
399 int hc = (int)(Value ^ (Value >> 32) ^ state ^ (knownColor >> 16));
401 hc ^= Name.GetHashCode ();
410 /// Formats the Color as a string in ARGB notation.
413 public override string ToString ()
416 return "Color [Empty]";
418 // Use the property here, not the field.
420 return "Color [" + Name + "]";
422 return String.Format ("Color [A={0}, R={1}, G={2}, B={3}]", A, R, G, B);
425 private static void CheckRGBValues (int red,int green,int blue)
427 if( (red > 255) || (red < 0))
428 throw CreateColorArgumentException(red, "red");
429 if( (green > 255) || (green < 0))
430 throw CreateColorArgumentException (green, "green");
431 if( (blue > 255) || (blue < 0))
432 throw CreateColorArgumentException (blue, "blue");
435 private static ArgumentException CreateColorArgumentException (int value, string color)
437 return new ArgumentException (string.Format ("'{0}' is not a valid"
438 + " value for '{1}'. '{1}' should be greater or equal to 0 and"
439 + " less than or equal to 255.", value, color));
442 private static void CheckARGBValues (int alpha,int red,int green,int blue)
444 if( (alpha > 255) || (alpha < 0))
445 throw CreateColorArgumentException (alpha, "alpha");
446 CheckRGBValues(red,green,blue);
450 static public Color Transparent {
451 get { return KnownColors.FromKnownColor (KnownColor.Transparent); }
454 static public Color AliceBlue {
455 get { return KnownColors.FromKnownColor (KnownColor.AliceBlue); }
458 static public Color AntiqueWhite {
459 get { return KnownColors.FromKnownColor (KnownColor.AntiqueWhite); }
462 static public Color Aqua {
463 get { return KnownColors.FromKnownColor (KnownColor.Aqua); }
466 static public Color Aquamarine {
467 get { return KnownColors.FromKnownColor (KnownColor.Aquamarine); }
470 static public Color Azure {
471 get { return KnownColors.FromKnownColor (KnownColor.Azure); }
474 static public Color Beige {
475 get { return KnownColors.FromKnownColor (KnownColor.Beige); }
478 static public Color Bisque {
479 get { return KnownColors.FromKnownColor (KnownColor.Bisque); }
482 static public Color Black {
483 get { return KnownColors.FromKnownColor (KnownColor.Black); }
486 static public Color BlanchedAlmond {
487 get { return KnownColors.FromKnownColor (KnownColor.BlanchedAlmond); }
490 static public Color Blue {
491 get { return KnownColors.FromKnownColor (KnownColor.Blue); }
494 static public Color BlueViolet {
495 get { return KnownColors.FromKnownColor (KnownColor.BlueViolet); }
498 static public Color Brown {
499 get { return KnownColors.FromKnownColor (KnownColor.Brown); }
502 static public Color BurlyWood {
503 get { return KnownColors.FromKnownColor (KnownColor.BurlyWood); }
506 static public Color CadetBlue {
507 get { return KnownColors.FromKnownColor (KnownColor.CadetBlue); }
510 static public Color Chartreuse {
511 get { return KnownColors.FromKnownColor (KnownColor.Chartreuse); }
514 static public Color Chocolate {
515 get { return KnownColors.FromKnownColor (KnownColor.Chocolate); }
518 static public Color Coral {
519 get { return KnownColors.FromKnownColor (KnownColor.Coral); }
522 static public Color CornflowerBlue {
523 get { return KnownColors.FromKnownColor (KnownColor.CornflowerBlue); }
526 static public Color Cornsilk {
527 get { return KnownColors.FromKnownColor (KnownColor.Cornsilk); }
530 static public Color Crimson {
531 get { return KnownColors.FromKnownColor (KnownColor.Crimson); }
534 static public Color Cyan {
535 get { return KnownColors.FromKnownColor (KnownColor.Cyan); }
538 static public Color DarkBlue {
539 get { return KnownColors.FromKnownColor (KnownColor.DarkBlue); }
542 static public Color DarkCyan {
543 get { return KnownColors.FromKnownColor (KnownColor.DarkCyan); }
546 static public Color DarkGoldenrod {
547 get { return KnownColors.FromKnownColor (KnownColor.DarkGoldenrod); }
550 static public Color DarkGray {
551 get { return KnownColors.FromKnownColor (KnownColor.DarkGray); }
554 static public Color DarkGreen {
555 get { return KnownColors.FromKnownColor (KnownColor.DarkGreen); }
558 static public Color DarkKhaki {
559 get { return KnownColors.FromKnownColor (KnownColor.DarkKhaki); }
562 static public Color DarkMagenta {
563 get { return KnownColors.FromKnownColor (KnownColor.DarkMagenta); }
566 static public Color DarkOliveGreen {
567 get { return KnownColors.FromKnownColor (KnownColor.DarkOliveGreen); }
570 static public Color DarkOrange {
571 get { return KnownColors.FromKnownColor (KnownColor.DarkOrange); }
574 static public Color DarkOrchid {
575 get { return KnownColors.FromKnownColor (KnownColor.DarkOrchid); }
578 static public Color DarkRed {
579 get { return KnownColors.FromKnownColor (KnownColor.DarkRed); }
582 static public Color DarkSalmon {
583 get { return KnownColors.FromKnownColor (KnownColor.DarkSalmon); }
586 static public Color DarkSeaGreen {
587 get { return KnownColors.FromKnownColor (KnownColor.DarkSeaGreen); }
590 static public Color DarkSlateBlue {
591 get { return KnownColors.FromKnownColor (KnownColor.DarkSlateBlue); }
594 static public Color DarkSlateGray {
595 get { return KnownColors.FromKnownColor (KnownColor.DarkSlateGray); }
598 static public Color DarkTurquoise {
599 get { return KnownColors.FromKnownColor (KnownColor.DarkTurquoise); }
602 static public Color DarkViolet {
603 get { return KnownColors.FromKnownColor (KnownColor.DarkViolet); }
606 static public Color DeepPink {
607 get { return KnownColors.FromKnownColor (KnownColor.DeepPink); }
610 static public Color DeepSkyBlue {
611 get { return KnownColors.FromKnownColor (KnownColor.DeepSkyBlue); }
614 static public Color DimGray {
615 get { return KnownColors.FromKnownColor (KnownColor.DimGray); }
618 static public Color DodgerBlue {
619 get { return KnownColors.FromKnownColor (KnownColor.DodgerBlue); }
622 static public Color Firebrick {
623 get { return KnownColors.FromKnownColor (KnownColor.Firebrick); }
626 static public Color FloralWhite {
627 get { return KnownColors.FromKnownColor (KnownColor.FloralWhite); }
630 static public Color ForestGreen {
631 get { return KnownColors.FromKnownColor (KnownColor.ForestGreen); }
634 static public Color Fuchsia {
635 get { return KnownColors.FromKnownColor (KnownColor.Fuchsia); }
638 static public Color Gainsboro {
639 get { return KnownColors.FromKnownColor (KnownColor.Gainsboro); }
642 static public Color GhostWhite {
643 get { return KnownColors.FromKnownColor (KnownColor.GhostWhite); }
646 static public Color Gold {
647 get { return KnownColors.FromKnownColor (KnownColor.Gold); }
650 static public Color Goldenrod {
651 get { return KnownColors.FromKnownColor (KnownColor.Goldenrod); }
654 static public Color Gray {
655 get { return KnownColors.FromKnownColor (KnownColor.Gray); }
658 static public Color Green {
659 get { return KnownColors.FromKnownColor (KnownColor.Green); }
662 static public Color GreenYellow {
663 get { return KnownColors.FromKnownColor (KnownColor.GreenYellow); }
666 static public Color Honeydew {
667 get { return KnownColors.FromKnownColor (KnownColor.Honeydew); }
670 static public Color HotPink {
671 get { return KnownColors.FromKnownColor (KnownColor.HotPink); }
674 static public Color IndianRed {
675 get { return KnownColors.FromKnownColor (KnownColor.IndianRed); }
678 static public Color Indigo {
679 get { return KnownColors.FromKnownColor (KnownColor.Indigo); }
682 static public Color Ivory {
683 get { return KnownColors.FromKnownColor (KnownColor.Ivory); }
686 static public Color Khaki {
687 get { return KnownColors.FromKnownColor (KnownColor.Khaki); }
690 static public Color Lavender {
691 get { return KnownColors.FromKnownColor (KnownColor.Lavender); }
694 static public Color LavenderBlush {
695 get { return KnownColors.FromKnownColor (KnownColor.LavenderBlush); }
698 static public Color LawnGreen {
699 get { return KnownColors.FromKnownColor (KnownColor.LawnGreen); }
702 static public Color LemonChiffon {
703 get { return KnownColors.FromKnownColor (KnownColor.LemonChiffon); }
706 static public Color LightBlue {
707 get { return KnownColors.FromKnownColor (KnownColor.LightBlue); }
710 static public Color LightCoral {
711 get { return KnownColors.FromKnownColor (KnownColor.LightCoral); }
714 static public Color LightCyan {
715 get { return KnownColors.FromKnownColor (KnownColor.LightCyan); }
718 static public Color LightGoldenrodYellow {
719 get { return KnownColors.FromKnownColor (KnownColor.LightGoldenrodYellow); }
722 static public Color LightGreen {
723 get { return KnownColors.FromKnownColor (KnownColor.LightGreen); }
726 static public Color LightGray {
727 get { return KnownColors.FromKnownColor (KnownColor.LightGray); }
730 static public Color LightPink {
731 get { return KnownColors.FromKnownColor (KnownColor.LightPink); }
734 static public Color LightSalmon {
735 get { return KnownColors.FromKnownColor (KnownColor.LightSalmon); }
738 static public Color LightSeaGreen {
739 get { return KnownColors.FromKnownColor (KnownColor.LightSeaGreen); }
742 static public Color LightSkyBlue {
743 get { return KnownColors.FromKnownColor (KnownColor.LightSkyBlue); }
746 static public Color LightSlateGray {
747 get { return KnownColors.FromKnownColor (KnownColor.LightSlateGray); }
750 static public Color LightSteelBlue {
751 get { return KnownColors.FromKnownColor (KnownColor.LightSteelBlue); }
754 static public Color LightYellow {
755 get { return KnownColors.FromKnownColor (KnownColor.LightYellow); }
758 static public Color Lime {
759 get { return KnownColors.FromKnownColor (KnownColor.Lime); }
762 static public Color LimeGreen {
763 get { return KnownColors.FromKnownColor (KnownColor.LimeGreen); }
766 static public Color Linen {
767 get { return KnownColors.FromKnownColor (KnownColor.Linen); }
770 static public Color Magenta {
771 get { return KnownColors.FromKnownColor (KnownColor.Magenta); }
774 static public Color Maroon {
775 get { return KnownColors.FromKnownColor (KnownColor.Maroon); }
778 static public Color MediumAquamarine {
779 get { return KnownColors.FromKnownColor (KnownColor.MediumAquamarine); }
782 static public Color MediumBlue {
783 get { return KnownColors.FromKnownColor (KnownColor.MediumBlue); }
786 static public Color MediumOrchid {
787 get { return KnownColors.FromKnownColor (KnownColor.MediumOrchid); }
790 static public Color MediumPurple {
791 get { return KnownColors.FromKnownColor (KnownColor.MediumPurple); }
794 static public Color MediumSeaGreen {
795 get { return KnownColors.FromKnownColor (KnownColor.MediumSeaGreen); }
798 static public Color MediumSlateBlue {
799 get { return KnownColors.FromKnownColor (KnownColor.MediumSlateBlue); }
802 static public Color MediumSpringGreen {
803 get { return KnownColors.FromKnownColor (KnownColor.MediumSpringGreen); }
806 static public Color MediumTurquoise {
807 get { return KnownColors.FromKnownColor (KnownColor.MediumTurquoise); }
810 static public Color MediumVioletRed {
811 get { return KnownColors.FromKnownColor (KnownColor.MediumVioletRed); }
814 static public Color MidnightBlue {
815 get { return KnownColors.FromKnownColor (KnownColor.MidnightBlue); }
818 static public Color MintCream {
819 get { return KnownColors.FromKnownColor (KnownColor.MintCream); }
822 static public Color MistyRose {
823 get { return KnownColors.FromKnownColor (KnownColor.MistyRose); }
826 static public Color Moccasin {
827 get { return KnownColors.FromKnownColor (KnownColor.Moccasin); }
830 static public Color NavajoWhite {
831 get { return KnownColors.FromKnownColor (KnownColor.NavajoWhite); }
834 static public Color Navy {
835 get { return KnownColors.FromKnownColor (KnownColor.Navy); }
838 static public Color OldLace {
839 get { return KnownColors.FromKnownColor (KnownColor.OldLace); }
842 static public Color Olive {
843 get { return KnownColors.FromKnownColor (KnownColor.Olive); }
846 static public Color OliveDrab {
847 get { return KnownColors.FromKnownColor (KnownColor.OliveDrab); }
850 static public Color Orange {
851 get { return KnownColors.FromKnownColor (KnownColor.Orange); }
854 static public Color OrangeRed {
855 get { return KnownColors.FromKnownColor (KnownColor.OrangeRed); }
858 static public Color Orchid {
859 get { return KnownColors.FromKnownColor (KnownColor.Orchid); }
862 static public Color PaleGoldenrod {
863 get { return KnownColors.FromKnownColor (KnownColor.PaleGoldenrod); }
866 static public Color PaleGreen {
867 get { return KnownColors.FromKnownColor (KnownColor.PaleGreen); }
870 static public Color PaleTurquoise {
871 get { return KnownColors.FromKnownColor (KnownColor.PaleTurquoise); }
874 static public Color PaleVioletRed {
875 get { return KnownColors.FromKnownColor (KnownColor.PaleVioletRed); }
878 static public Color PapayaWhip {
879 get { return KnownColors.FromKnownColor (KnownColor.PapayaWhip); }
882 static public Color PeachPuff {
883 get { return KnownColors.FromKnownColor (KnownColor.PeachPuff); }
886 static public Color Peru {
887 get { return KnownColors.FromKnownColor (KnownColor.Peru); }
890 static public Color Pink {
891 get { return KnownColors.FromKnownColor (KnownColor.Pink); }
894 static public Color Plum {
895 get { return KnownColors.FromKnownColor (KnownColor.Plum); }
898 static public Color PowderBlue {
899 get { return KnownColors.FromKnownColor (KnownColor.PowderBlue); }
902 static public Color Purple {
903 get { return KnownColors.FromKnownColor (KnownColor.Purple); }
906 static public Color Red {
907 get { return KnownColors.FromKnownColor (KnownColor.Red); }
910 static public Color RosyBrown {
911 get { return KnownColors.FromKnownColor (KnownColor.RosyBrown); }
914 static public Color RoyalBlue {
915 get { return KnownColors.FromKnownColor (KnownColor.RoyalBlue); }
918 static public Color SaddleBrown {
919 get { return KnownColors.FromKnownColor (KnownColor.SaddleBrown); }
922 static public Color Salmon {
923 get { return KnownColors.FromKnownColor (KnownColor.Salmon); }
926 static public Color SandyBrown {
927 get { return KnownColors.FromKnownColor (KnownColor.SandyBrown); }
930 static public Color SeaGreen {
931 get { return KnownColors.FromKnownColor (KnownColor.SeaGreen); }
934 static public Color SeaShell {
935 get { return KnownColors.FromKnownColor (KnownColor.SeaShell); }
938 static public Color Sienna {
939 get { return KnownColors.FromKnownColor (KnownColor.Sienna); }
942 static public Color Silver {
943 get { return KnownColors.FromKnownColor (KnownColor.Silver); }
946 static public Color SkyBlue {
947 get { return KnownColors.FromKnownColor (KnownColor.SkyBlue); }
950 static public Color SlateBlue {
951 get { return KnownColors.FromKnownColor (KnownColor.SlateBlue); }
954 static public Color SlateGray {
955 get { return KnownColors.FromKnownColor (KnownColor.SlateGray); }
958 static public Color Snow {
959 get { return KnownColors.FromKnownColor (KnownColor.Snow); }
962 static public Color SpringGreen {
963 get { return KnownColors.FromKnownColor (KnownColor.SpringGreen); }
966 static public Color SteelBlue {
967 get { return KnownColors.FromKnownColor (KnownColor.SteelBlue); }
970 static public Color Tan {
971 get { return KnownColors.FromKnownColor (KnownColor.Tan); }
974 static public Color Teal {
975 get { return KnownColors.FromKnownColor (KnownColor.Teal); }
978 static public Color Thistle {
979 get { return KnownColors.FromKnownColor (KnownColor.Thistle); }
982 static public Color Tomato {
983 get { return KnownColors.FromKnownColor (KnownColor.Tomato); }
986 static public Color Turquoise {
987 get { return KnownColors.FromKnownColor (KnownColor.Turquoise); }
990 static public Color Violet {
991 get { return KnownColors.FromKnownColor (KnownColor.Violet); }
994 static public Color Wheat {
995 get { return KnownColors.FromKnownColor (KnownColor.Wheat); }
998 static public Color White {
999 get { return KnownColors.FromKnownColor (KnownColor.White); }
1002 static public Color WhiteSmoke {
1003 get { return KnownColors.FromKnownColor (KnownColor.WhiteSmoke); }
1006 static public Color Yellow {
1007 get { return KnownColors.FromKnownColor (KnownColor.Yellow); }
1010 static public Color YellowGreen {
1011 get { return KnownColors.FromKnownColor (KnownColor.YellowGreen); }