Пример #1
0
 public static SolidColorBrush GetThemeColorBrush(ThemeColorStyle colorStyle = ThemeColorStyle.AccentColor)
 {
     return(_themeColorBrushesCache.GetFromCacheOrFetch(colorStyle, () =>
     {
         var color = GetThemeColor(colorStyle);
         return GetSolidColorBrush(color);
     }));
 }
Пример #2
0
 public ThemeColorBrush(ThemeColorStyle themeColorStyle)
     : this()
 {
     ThemeColorStyle = themeColorStyle;
 }
Пример #3
0
        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));
                }
            }));
        }
Пример #4
0
        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));
                }
            }));
        }