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 }