public static SolidColorBrush GetThemeColorBrush(ThemeColorStyle colorStyle = ThemeColorStyle.AccentColor) { return(_themeColorBrushesCache.GetFromCacheOrFetch(colorStyle, () => { var color = GetThemeColor(colorStyle); return GetSolidColorBrush(color); })); }
public ThemeColorBrush(ThemeColorStyle themeColorStyle) : this() { ThemeColorStyle = themeColorStyle; }
public static Color GetThemeColor(ThemeColorStyle colorStyle = ThemeColorStyle.AccentColor) { return(_themeColorsCache.GetFromCacheOrFetch(colorStyle, () => { var accentColor = GetAccentColorBrush().Color; // For now use a fixed values, we might change in the future var borderColor = Colors.LightGray; var backgroundColor = Colors.WhiteSmoke; var foregroundColor = Colors.Black; var foregroundAlternativeColor = Colors.White; const int Alpha0 = 255; const int Alpha1 = 204; const int Alpha2 = 153; const int Alpha3 = 102; const int Alpha4 = 51; const int Alpha5 = 20; switch (colorStyle) { // Accent color case ThemeColorStyle.AccentColor: return CreateColor(Alpha0, accentColor); case ThemeColorStyle.AccentColor1: return CreateColor(Alpha1, accentColor); case ThemeColorStyle.AccentColor2: return CreateColor(Alpha2, accentColor); case ThemeColorStyle.AccentColor3: return CreateColor(Alpha3, accentColor); case ThemeColorStyle.AccentColor4: return CreateColor(Alpha4, accentColor); case ThemeColorStyle.AccentColor5: return CreateColor(Alpha5, accentColor); // Border case ThemeColorStyle.BorderColor: return CreateColor(Alpha0, borderColor); case ThemeColorStyle.BorderColor1: return CreateColor(Alpha1, borderColor); case ThemeColorStyle.BorderColor2: return CreateColor(Alpha2, borderColor); case ThemeColorStyle.BorderColor3: return CreateColor(Alpha3, borderColor); case ThemeColorStyle.BorderColor4: return CreateColor(Alpha4, borderColor); case ThemeColorStyle.BorderColor5: return CreateColor(Alpha5, borderColor); // Background case ThemeColorStyle.BackgroundColor: return CreateColor(Alpha0, backgroundColor); // Foreground case ThemeColorStyle.ForegroundColor: return CreateColor(Alpha0, foregroundColor); case ThemeColorStyle.ForegroundAlternativeColor: return CreateColor(Alpha0, foregroundAlternativeColor); default: throw new ArgumentOutOfRangeException(nameof(colorStyle)); } })); }
public Color GetThemeColor(ThemeColorStyle colorStyle = ThemeColorStyle.AccentColor) { return(_themeColorsCache.GetFromCacheOrFetch(colorStyle, () => { switch (colorStyle) { // Accent color case ThemeColorStyle.AccentColor: return GetThemeColor("Orc.Colors.AccentColor"); case ThemeColorStyle.AccentColor80: return GetThemeColor("Orc.Colors.AccentColor80"); case ThemeColorStyle.AccentColor60: return GetThemeColor("Orc.Colors.AccentColor60"); case ThemeColorStyle.AccentColor40: return GetThemeColor("Orc.Colors.AccentColor40"); case ThemeColorStyle.AccentColor20: return GetThemeColor("Orc.Colors.AccentColor20"); // Border case ThemeColorStyle.BorderColor: return GetThemeColor("Orc.Colors.Control.Border"); // Background case ThemeColorStyle.BackgroundColor: return GetThemeColor("Orc.Colors.Background"); // Foreground case ThemeColorStyle.ForegroundColor: return GetThemeColor("Orc.Colors.Foreground"); // Highlight case ThemeColorStyle.HighlightColor: return GetThemeColor("Orc.Colors.HighlightColor"); // Gray case ThemeColorStyle.Gray1: return GetThemeColor("Gray1"); case ThemeColorStyle.Gray2: return GetThemeColor("Gray2"); case ThemeColorStyle.Gray3: return GetThemeColor("Gray3"); case ThemeColorStyle.Gray4: return GetThemeColor("Gray4"); case ThemeColorStyle.Gray5: return GetThemeColor("Gray5"); case ThemeColorStyle.Gray6: return GetThemeColor("Gray6"); case ThemeColorStyle.Gray7: return GetThemeColor("Gray7"); case ThemeColorStyle.Gray8: return GetThemeColor("Gray8"); case ThemeColorStyle.Gray9: return GetThemeColor("Gray9"); case ThemeColorStyle.Gray10: return GetThemeColor("Gray10"); // Text case ThemeColorStyle.Text: return GetThemeColor("Orc.Colors.Text"); default: throw new ArgumentOutOfRangeException(nameof(colorStyle)); } })); }