/ src / settings-ui / Settings.UI.Library / Helpers / ColorNameHelper.cs
ColorNameHelper.cs
 1  // Copyright (c) Microsoft Corporation
 2  // The Microsoft Corporation licenses this file to you under the MIT license.
 3  // See the LICENSE file in the project root for more information.
 4  
 5  using System.Drawing;
 6  
 7  using global::Settings.UI.Library.Resources;
 8  using ManagedCommon;
 9  
10  namespace Microsoft.PowerToys.Settings.UI.Library.Helpers
11  {
12      public static class ColorNameHelper
13      {
14          public static string GetColorNameFromColorIdentifier(string colorIdentifier)
15          {
16              switch (colorIdentifier)
17              {
18                  case "TEXT_COLOR_WHITE": return Resources.TEXT_COLOR_WHITE;
19                  case "TEXT_COLOR_BLACK": return Resources.TEXT_COLOR_BLACK;
20                  case "TEXT_COLOR_LIGHTGRAY": return Resources.TEXT_COLOR_LIGHTGRAY;
21                  case "TEXT_COLOR_GRAY": return Resources.TEXT_COLOR_GRAY;
22                  case "TEXT_COLOR_DARKGRAY": return Resources.TEXT_COLOR_DARKGRAY;
23                  case "TEXT_COLOR_CORAL": return Resources.TEXT_COLOR_CORAL;
24                  case "TEXT_COLOR_ROSE": return Resources.TEXT_COLOR_ROSE;
25                  case "TEXT_COLOR_LIGHTORANGE": return Resources.TEXT_COLOR_LIGHTORANGE;
26                  case "TEXT_COLOR_TAN": return Resources.TEXT_COLOR_TAN;
27                  case "TEXT_COLOR_LIGHTYELLOW": return Resources.TEXT_COLOR_LIGHTYELLOW;
28                  case "TEXT_COLOR_LIGHTGREEN": return Resources.TEXT_COLOR_LIGHTGREEN;
29                  case "TEXT_COLOR_LIME": return Resources.TEXT_COLOR_LIME;
30                  case "TEXT_COLOR_AQUA": return Resources.TEXT_COLOR_AQUA;
31                  case "TEXT_COLOR_SKYBLUE": return Resources.TEXT_COLOR_SKYBLUE;
32                  case "TEXT_COLOR_LIGHTTURQUOISE": return Resources.TEXT_COLOR_LIGHTTURQUOISE;
33                  case "TEXT_COLOR_PALEBLUE": return Resources.TEXT_COLOR_PALEBLUE;
34                  case "TEXT_COLOR_LIGHTBLUE": return Resources.TEXT_COLOR_LIGHTBLUE;
35                  case "TEXT_COLOR_ICEBLUE": return Resources.TEXT_COLOR_ICEBLUE;
36                  case "TEXT_COLOR_PERIWINKLE": return Resources.TEXT_COLOR_PERIWINKLE;
37                  case "TEXT_COLOR_LAVENDER": return Resources.TEXT_COLOR_LAVENDER;
38                  case "TEXT_COLOR_PINK": return Resources.TEXT_COLOR_PINK;
39                  case "TEXT_COLOR_RED": return Resources.TEXT_COLOR_RED;
40                  case "TEXT_COLOR_ORANGE": return Resources.TEXT_COLOR_ORANGE;
41                  case "TEXT_COLOR_BROWN": return Resources.TEXT_COLOR_BROWN;
42                  case "TEXT_COLOR_GOLD": return Resources.TEXT_COLOR_GOLD;
43                  case "TEXT_COLOR_YELLOW": return Resources.TEXT_COLOR_YELLOW;
44                  case "TEXT_COLOR_OLIVEGREEN": return Resources.TEXT_COLOR_OLIVEGREEN;
45                  case "TEXT_COLOR_GREEN": return Resources.TEXT_COLOR_GREEN;
46                  case "TEXT_COLOR_BRIGHTGREEN": return Resources.TEXT_COLOR_BRIGHTGREEN;
47                  case "TEXT_COLOR_TEAL": return Resources.TEXT_COLOR_TEAL;
48                  case "TEXT_COLOR_TURQUOISE": return Resources.TEXT_COLOR_TURQUOISE;
49                  case "TEXT_COLOR_BLUE": return Resources.TEXT_COLOR_BLUE;
50                  case "TEXT_COLOR_BLUEGRAY": return Resources.TEXT_COLOR_BLUEGRAY;
51                  case "TEXT_COLOR_INDIGO": return Resources.TEXT_COLOR_INDIGO;
52                  case "TEXT_COLOR_PURPLE": return Resources.TEXT_COLOR_PURPLE;
53                  case "TEXT_COLOR_DARKRED": return Resources.TEXT_COLOR_DARKRED;
54                  case "TEXT_COLOR_DARKYELLOW": return Resources.TEXT_COLOR_DARKYELLOW;
55                  case "TEXT_COLOR_DARKGREEN": return Resources.TEXT_COLOR_DARKGREEN;
56                  case "TEXT_COLOR_DARKTEAL": return Resources.TEXT_COLOR_DARKTEAL;
57                  case "TEXT_COLOR_DARKBLUE": return Resources.TEXT_COLOR_DARKBLUE;
58                  case "TEXT_COLOR_DARKPURPLE": return Resources.TEXT_COLOR_DARKPURPLE;
59                  case "TEXT_COLOR_PLUM": return Resources.TEXT_COLOR_PLUM;
60                  default: return colorIdentifier;
61              }
62          }
63  
64          public static string ReplaceName(string colorFormat, Color? colorOrNull)
65          {
66              Color color = (Color)(colorOrNull == null ? Color.Moccasin : colorOrNull);
67              return colorFormat.Replace(ColorFormatHelper.GetColorNameParameter(), GetColorNameFromColorIdentifier(ManagedCommon.ColorNameHelper.GetColorNameIdentifier(color)));
68          }
69      }
70  }