// Build a new coloured theme based on SC's default theme // and then set it as the program's default theme. private void SetUpCustomColors() { // Create a set of default colours that we will modify CustomColors = SadConsole.UI.Themes.Library.Default.Colors.Clone(); // Pick a couple of background colours that we will apply to all consoles. Color backgroundColor = new Color(CustomColors.Black, "Black"); // Set background colour for controls consoles and their controls CustomColors.ControlHostBackground = backgroundColor; CustomColors.ControlBackgroundNormal = backgroundColor; // Generate background colours for dark and light themes based on // the default background colour. //CustomColors.ControlH = (backgroundColor * 1.3f).FillAlpha(); //CustomColors.ControlBackDark = (backgroundColor * 0.7f).FillAlpha(); // Set a color for currently selected controls. This should always // be different from the background colour. CustomColors.ControlBackgroundSelected = new Color(CustomColors.GrayDark, "Grey"); // Rebuild all objects' themes with the custom colours we picked above. CustomColors.RebuildAppearances(); // Now set all of these colours as default for SC's default theme. SadConsole.UI.Themes.Library.Default.Colors = CustomColors; }
public override void RefreshTheme(SadConsole.UI.Colors colors, ControlBase control) { if (colors == null) { colors = control.FindThemeColors(); } ControlThemeState.Normal = ControlThemeState.MouseOver = ControlThemeState.MouseDown = ControlThemeState.Focused = ControlThemeState.Disabled = new SadConsole.ColoredGlyph(textColor, colorValue); _colorsLastUsed = colors; }