#region Imports
|
|
using DPumpHydr.WinFrmUI.RLT.Colors;
|
using DPumpHydr.WinFrmUI.RLT.Interface.Crown;
|
using DPumpHydr.WinFrmUI.RLT.Util;
|
using System.ComponentModel;
|
using System.Drawing;
|
|
#endregion
|
|
namespace DPumpHydr.WinFrmUI.RLT.Helper
|
{
|
#region CrownHelper
|
|
public class CrownHelper
|
{
|
public class DarkTheme : ITheme
|
{
|
public Sizes Sizes { get; } = new Sizes();
|
|
public CrownColors Colors { get; } = new CrownColors();
|
|
public DarkTheme()
|
{
|
Colors.GreyBackground = Color.FromArgb(60, 63, 65);
|
Colors.HeaderBackground = Color.FromArgb(57, 60, 62);
|
Colors.BlueBackground = Color.FromArgb(66, 77, 95);
|
Colors.DarkBlueBackground = Color.FromArgb(52, 57, 66);
|
Colors.DarkBackground = Color.FromArgb(43, 43, 43);
|
Colors.MediumBackground = Color.FromArgb(49, 51, 53);
|
Colors.LightBackground = Color.FromArgb(69, 73, 74);
|
Colors.LighterBackground = Color.FromArgb(95, 101, 102);
|
Colors.LightestBackground = Color.FromArgb(178, 178, 178);
|
Colors.LightBorder = Color.FromArgb(81, 81, 81);
|
Colors.DarkBorder = Color.FromArgb(51, 51, 51);
|
Colors.LightText = Color.FromArgb(220, 220, 220);
|
Colors.DisabledText = Color.FromArgb(153, 153, 153);
|
Colors.BlueHighlight = Color.FromArgb(104, 151, 187);
|
Colors.BlueSelection = Color.FromArgb(75, 110, 175);
|
Colors.GreyHighlight = Color.FromArgb(122, 128, 132);
|
Colors.GreySelection = Color.FromArgb(92, 92, 92);
|
Colors.DarkGreySelection = Color.FromArgb(82, 82, 82);
|
Colors.DarkBlueBorder = Color.FromArgb(51, 61, 78);
|
Colors.LightBlueBorder = Color.FromArgb(86, 97, 114);
|
Colors.ActiveControl = Color.FromArgb(159, 178, 196);
|
|
Sizes.Padding = 10;
|
Sizes.ScrollBarSize = 15;
|
Sizes.ArrowButtonSize = 15;
|
Sizes.MinimumThumbSize = 11;
|
Sizes.CheckBoxSize = 12;
|
Sizes.RadioButtonSize = 12;
|
Sizes.ToolWindowHeaderSize = 25;
|
Sizes.DocumentTabAreaSize = 24;
|
Sizes.ToolWindowTabAreaSize = 21;
|
}
|
}
|
|
public class LightTheme : ITheme
|
{
|
public Sizes Sizes { get; } = new Sizes();
|
|
public CrownColors Colors { get; } = new CrownColors();
|
|
public LightTheme()
|
{
|
Colors.GreyBackground = Color.FromArgb(220, 223, 225); //Color.FromArgb(180, 183, 185);
|
Colors.HeaderBackground = Color.FromArgb(210, 213, 215); //Color.FromArgb(177, 180, 182);
|
Colors.BlueBackground = Color.FromArgb(200, 203, 205); //Color.FromArgb(186, 197, 215);
|
Colors.DarkBlueBackground = Color.FromArgb(190, 193, 195); //Color.FromArgb(172, 177, 186);
|
Colors.DarkBackground = Color.FromArgb(225, 228, 231); //Color.FromArgb(160, 160, 160);
|
Colors.MediumBackground = Color.FromArgb(215, 218, 221); //Color.FromArgb(169, 171, 173);
|
Colors.LightBackground = Color.FromArgb(192, 193, 194); //Color.FromArgb(189, 193, 194);
|
Colors.LighterBackground = Color.FromArgb(182, 183, 184); //Color.FromArgb(100, 101, 102);
|
Colors.LightestBackground = Color.FromArgb(128, 128, 128); //Color.FromArgb(178, 178, 178);
|
Colors.LightBorder = Color.FromArgb(201, 201, 201);
|
Colors.DarkBorder = Color.FromArgb(171, 171, 171);
|
Colors.LightText = Color.FromArgb(50, 50, 50); //Color.FromArgb(20, 20, 20);
|
Colors.DisabledText = Color.FromArgb(113, 113, 113); //Color.FromArgb(103, 103, 103);
|
Colors.BlueHighlight = Color.DodgerBlue; //Color.FromArgb(104, 151, 187);
|
Colors.BlueSelection = Color.FromArgb(75, 110, 175);
|
Colors.GreyHighlight = Color.FromArgb(182, 188, 182);
|
Colors.GreySelection = Color.FromArgb(160, 160, 160);
|
Colors.DarkGreySelection = Color.FromArgb(202, 202, 202);
|
Colors.DarkBlueBorder = Color.FromArgb(171, 181, 198);
|
Colors.LightBlueBorder = Color.FromArgb(206, 217, 114);
|
Colors.ActiveControl = Color.FromArgb(159, 178, 196);
|
|
Sizes.Padding = 10;
|
Sizes.ScrollBarSize = 15;
|
Sizes.ArrowButtonSize = 15;
|
Sizes.MinimumThumbSize = 11;
|
Sizes.CheckBoxSize = 12;
|
Sizes.RadioButtonSize = 12;
|
Sizes.ToolWindowHeaderSize = 25;
|
Sizes.DocumentTabAreaSize = 24;
|
Sizes.ToolWindowTabAreaSize = 21;
|
}
|
}
|
|
public class ThemeProvider
|
{
|
public static event PropertyChangedEventHandler PropertyChanged;
|
|
public event PropertyChangedEventHandler PropertyChangedInstance;
|
|
public void OnPropertyChangedInstance(string name)
|
{
|
PropertyChangedInstance?.Invoke(this, new PropertyChangedEventArgs(name));
|
}
|
|
public static void OnPropertyChanged(string name)
|
{
|
PropertyChanged?.Invoke(null, new PropertyChangedEventArgs(name));
|
}
|
|
private static ITheme _Theme;
|
public static ITheme Theme
|
{
|
get
|
{
|
if (_Theme == null)
|
{
|
_Theme = new DarkTheme();
|
}
|
|
return _Theme;
|
}
|
set
|
{
|
if (value != _Theme)
|
{
|
_Theme = value;
|
OnPropertyChanged("Theme");
|
}
|
}
|
}
|
}
|
}
|
|
#endregion
|
}
|