1using System.Globalization;
34 return new string[] {
"Name" };
73 case "aliceblue":
Color = SKColors.AliceBlue;
break;
74 case "palegreen":
Color = SKColors.PaleGreen;
break;
75 case "palegoldenrod":
Color = SKColors.PaleGoldenrod;
break;
76 case "orchid":
Color = SKColors.Orchid;
break;
77 case "orangered":
Color = SKColors.OrangeRed;
break;
78 case "orange":
Color = SKColors.Orange;
break;
79 case "olivedrab":
Color = SKColors.OliveDrab;
break;
80 case "olive":
Color = SKColors.Olive;
break;
81 case "oldlace":
Color = SKColors.OldLace;
break;
82 case "navy":
Color = SKColors.Navy;
break;
83 case "navajowhite":
Color = SKColors.NavajoWhite;
break;
84 case "moccasin":
Color = SKColors.Moccasin;
break;
85 case "mistyrose":
Color = SKColors.MistyRose;
break;
86 case "mintcream":
Color = SKColors.MintCream;
break;
87 case "midnightblue":
Color = SKColors.MidnightBlue;
break;
88 case "mediumvioletred":
Color = SKColors.MediumVioletRed;
break;
89 case "mediumturquoise":
Color = SKColors.MediumTurquoise;
break;
90 case "mediumspringgreen":
Color = SKColors.MediumSpringGreen;
break;
91 case "lightslategray":
Color = SKColors.LightSlateGray;
break;
92 case "lightsteelblue":
Color = SKColors.LightSteelBlue;
break;
93 case "lightyellow":
Color = SKColors.LightYellow;
break;
94 case "lime":
Color = SKColors.Lime;
break;
95 case "limegreen":
Color = SKColors.LimeGreen;
break;
96 case "linen":
Color = SKColors.Linen;
break;
97 case "paleturquoise":
Color = SKColors.PaleTurquoise;
break;
98 case "magenta":
Color = SKColors.Magenta;
break;
99 case "mediumaquamarine":
Color = SKColors.MediumAquamarine;
break;
100 case "mediumblue":
Color = SKColors.MediumBlue;
break;
101 case "mediumorchid":
Color = SKColors.MediumOrchid;
break;
102 case "mediumpurple":
Color = SKColors.MediumPurple;
break;
103 case "mediumseagreen":
Color = SKColors.MediumSeaGreen;
break;
104 case "mediumslateblue":
Color = SKColors.MediumSlateBlue;
break;
105 case "maroon":
Color = SKColors.Maroon;
break;
106 case "palevioletred":
Color = SKColors.PaleVioletRed;
break;
107 case "papayawhip":
Color = SKColors.PapayaWhip;
break;
108 case "peachpuff":
Color = SKColors.PeachPuff;
break;
109 case "snow":
Color = SKColors.Snow;
break;
110 case "springgreen":
Color = SKColors.SpringGreen;
break;
111 case "steelblue":
Color = SKColors.SteelBlue;
break;
112 case "tan":
Color = SKColors.Tan;
break;
113 case "teal":
Color = SKColors.Teal;
break;
114 case "thistle":
Color = SKColors.Thistle;
break;
115 case "slategray":
Color = SKColors.SlateGray;
break;
116 case "tomato":
Color = SKColors.Tomato;
break;
117 case "violet":
Color = SKColors.Violet;
break;
118 case "wheat":
Color = SKColors.Wheat;
break;
119 case "white":
Color = SKColors.White;
break;
120 case "whitesmoke":
Color = SKColors.WhiteSmoke;
break;
121 case "yellow":
Color = SKColors.Yellow;
break;
122 case "yellowgreen":
Color = SKColors.YellowGreen;
break;
123 case "turquoise":
Color = SKColors.Turquoise;
break;
124 case "lightskyblue":
Color = SKColors.LightSkyBlue;
break;
125 case "slateblue":
Color = SKColors.SlateBlue;
break;
126 case "silver":
Color = SKColors.Silver;
break;
127 case "peru":
Color = SKColors.Peru;
break;
128 case "pink":
Color = SKColors.Pink;
break;
129 case "plum":
Color = SKColors.Plum;
break;
130 case "powderblue":
Color = SKColors.PowderBlue;
break;
131 case "purple":
Color = SKColors.Purple;
break;
132 case "red":
Color = SKColors.Red;
break;
133 case "skyblue":
Color = SKColors.SkyBlue;
break;
134 case "rosybrown":
Color = SKColors.RosyBrown;
break;
135 case "saddlebrown":
Color = SKColors.SaddleBrown;
break;
136 case "salmon":
Color = SKColors.Salmon;
break;
137 case "sandybrown":
Color = SKColors.SandyBrown;
break;
138 case "seagreen":
Color = SKColors.SeaGreen;
break;
139 case "seashell":
Color = SKColors.SeaShell;
break;
140 case "sienna":
Color = SKColors.Sienna;
break;
141 case "royalblue":
Color = SKColors.RoyalBlue;
break;
142 case "lightseagreen":
Color = SKColors.LightSeaGreen;
break;
143 case "lightsalmon":
Color = SKColors.LightSalmon;
break;
144 case "lightpink":
Color = SKColors.LightPink;
break;
145 case "crimson":
Color = SKColors.Crimson;
break;
146 case "cyan":
Color = SKColors.Cyan;
break;
147 case "darkblue":
Color = SKColors.DarkBlue;
break;
148 case "darkcyan":
Color = SKColors.DarkCyan;
break;
149 case "darkgoldenrod":
Color = SKColors.DarkGoldenrod;
break;
150 case "darkgray":
Color = SKColors.DarkGray;
break;
151 case "cornsilk":
Color = SKColors.Cornsilk;
break;
152 case "darkgreen":
Color = SKColors.DarkGreen;
break;
153 case "darkmagenta":
Color = SKColors.DarkMagenta;
break;
154 case "darkolivegreen":
Color = SKColors.DarkOliveGreen;
break;
155 case "darkorange":
Color = SKColors.DarkOrange;
break;
156 case "darkorchid":
Color = SKColors.DarkOrchid;
break;
157 case "darkred":
Color = SKColors.DarkRed;
break;
158 case "darksalmon":
Color = SKColors.DarkSalmon;
break;
159 case "darkkhaki":
Color = SKColors.DarkKhaki;
break;
160 case "darkseagreen":
Color = SKColors.DarkSeaGreen;
break;
161 case "cornflowerblue":
Color = SKColors.CornflowerBlue;
break;
162 case "chocolate":
Color = SKColors.Chocolate;
break;
163 case "antiquewhite":
Color = SKColors.AntiqueWhite;
break;
164 case "aqua":
Color = SKColors.Aqua;
break;
165 case "aquamarine":
Color = SKColors.Aquamarine;
break;
166 case "azure":
Color = SKColors.Azure;
break;
167 case "beige":
Color = SKColors.Beige;
break;
168 case "bisque":
Color = SKColors.Bisque;
break;
169 case "coral":
Color = SKColors.Coral;
break;
170 case "black":
Color = SKColors.Black;
break;
171 case "blue":
Color = SKColors.Blue;
break;
172 case "blueviolet":
Color = SKColors.BlueViolet;
break;
173 case "brown":
Color = SKColors.Brown;
break;
174 case "burlywood":
Color = SKColors.BurlyWood;
break;
175 case "cadetblue":
Color = SKColors.CadetBlue;
break;
176 case "chartreuse":
Color = SKColors.Chartreuse;
break;
177 case "blanchedalmond":
Color = SKColors.BlanchedAlmond;
break;
178 case "transparent":
Color = SKColors.Transparent;
break;
179 case "darkslateblue":
Color = SKColors.DarkSlateBlue;
break;
180 case "darkturquoise":
Color = SKColors.DarkTurquoise;
break;
181 case "indianred":
Color = SKColors.IndianRed;
break;
182 case "indigo":
Color = SKColors.Indigo;
break;
183 case "ivory":
Color = SKColors.Ivory;
break;
184 case "khaki":
Color = SKColors.Khaki;
break;
185 case "lavender":
Color = SKColors.Lavender;
break;
186 case "lavenderblush":
Color = SKColors.LavenderBlush;
break;
187 case "hotpink":
Color = SKColors.HotPink;
break;
188 case "lawngreen":
Color = SKColors.LawnGreen;
break;
189 case "lightblue":
Color = SKColors.LightBlue;
break;
190 case "lightcoral":
Color = SKColors.LightCoral;
break;
191 case "lightcyan":
Color = SKColors.LightCyan;
break;
192 case "lightgoldenrodyellow":
Color = SKColors.LightGoldenrodYellow;
break;
193 case "lightgray":
Color = SKColors.LightGray;
break;
194 case "lightgreen":
Color = SKColors.LightGreen;
break;
195 case "lemonchiffon":
Color = SKColors.LemonChiffon;
break;
196 case "darkslategray":
Color = SKColors.DarkSlateGray;
break;
197 case "honeydew":
Color = SKColors.Honeydew;
break;
198 case "green":
Color = SKColors.Green;
break;
199 case "darkviolet":
Color = SKColors.DarkViolet;
break;
200 case "deeppink":
Color = SKColors.DeepPink;
break;
201 case "deepskyblue":
Color = SKColors.DeepSkyBlue;
break;
202 case "dimgray":
Color = SKColors.DimGray;
break;
203 case "dodgerblue":
Color = SKColors.DodgerBlue;
break;
204 case "firebrick":
Color = SKColors.Firebrick;
break;
205 case "greenyellow":
Color = SKColors.GreenYellow;
break;
206 case "floralwhite":
Color = SKColors.FloralWhite;
break;
207 case "fuchsia":
Color = SKColors.Fuchsia;
break;
208 case "gainsboro":
Color = SKColors.Gainsboro;
break;
209 case "ghostwhite":
Color = SKColors.GhostWhite;
break;
210 case "gold":
Color = SKColors.Gold;
break;
211 case "goldenrod":
Color = SKColors.Goldenrod;
break;
212 case "gray":
Color = SKColors.Gray;
break;
213 case "forestgreen":
Color = SKColors.ForestGreen;
break;
214 case "empty":
Color = SKColors.Empty;
break;
220 if (
byte.
TryParse(s.Substring(0, 2), NumberStyles.HexNumber, CultureInfo.InvariantCulture, out R) &&
221 byte.TryParse(s.Substring(2, 2), NumberStyles.HexNumber, CultureInfo.InvariantCulture, out G) &&
222 byte.TryParse(s.Substring(4, 2), NumberStyles.HexNumber, CultureInfo.InvariantCulture, out B))
224 Color =
new SKColor(R, G, B);
228 else if (s.Length == 8)
230 if (
byte.
TryParse(s.Substring(0, 2), NumberStyles.HexNumber, CultureInfo.InvariantCulture, out R) &&
231 byte.TryParse(s.Substring(2, 2), NumberStyles.HexNumber, CultureInfo.InvariantCulture, out G) &&
232 byte.TryParse(s.Substring(4, 2), NumberStyles.HexNumber, CultureInfo.InvariantCulture, out B) &&
233 byte.TryParse(s.Substring(6, 2), NumberStyles.HexNumber, CultureInfo.InvariantCulture, out
byte A))
235 Color =
new SKColor(R, G, B, A);
239 else if (s.Length == 7 && s[0] ==
'#')
241 if (
byte.
TryParse(s.Substring(1, 2), NumberStyles.HexNumber, CultureInfo.InvariantCulture, out R) &&
242 byte.TryParse(s.Substring(3, 2), NumberStyles.HexNumber, CultureInfo.InvariantCulture, out G) &&
243 byte.TryParse(s.Substring(5, 2), NumberStyles.HexNumber, CultureInfo.InvariantCulture, out B))
245 Color =
new SKColor(R, G, B);
249 else if (s.Length == 9 && s[0] ==
'#')
251 if (
byte.
TryParse(s.Substring(1, 2), NumberStyles.HexNumber, CultureInfo.InvariantCulture, out R) &&
252 byte.TryParse(s.Substring(3, 2), NumberStyles.HexNumber, CultureInfo.InvariantCulture, out G) &&
253 byte.TryParse(s.Substring(5, 2), NumberStyles.HexNumber, CultureInfo.InvariantCulture, out B) &&
254 byte.TryParse(s.Substring(7, 2), NumberStyles.HexNumber, CultureInfo.InvariantCulture, out
byte A))
256 Color =
new SKColor(R, G, B, A);
261 Color = SKColors.Empty;
Script runtime exception.
Class managing a script expression.
Returns a color value from a string.
override string FunctionName
Name of the function
override string[] DefaultArgumentNames
Default Argument names
Color(ScriptNode Name, int Start, int Length, Expression Expression)
Returns a color value from a string.
override IElement EvaluateScalar(string Argument, Variables Variables)
Evaluates the function on a scalar argument.
static bool TryParse(string s, out SKColor Color)
Tries to parse a string containing a color name.
Base class for funcions of one scalar string variable.
ScriptNode Argument
Function argument.
Base class for all nodes in a parsed script tree.
int Length
Length of expression covered by node.
int Start
Start position in script expression.
Basic interface for all types of elements.