public LayoutSettingsControl(Options.LayoutSettings settings, ILayout layout) { InitializeComponent(); Settings = settings; Layout = layout; chkBestSegments.DataBindings.Add("Checked", Settings, "ShowBestSegments", false, DataSourceUpdateMode.OnPropertyChanged); chkAlwaysOnTop.DataBindings.Add("Checked", Settings, "AlwaysOnTop", false, DataSourceUpdateMode.OnPropertyChanged); chkAntiAliasing.DataBindings.Add("Checked", Settings, "AntiAliasing", false, DataSourceUpdateMode.OnPropertyChanged); chkDropShadows.DataBindings.Add("Checked", Settings, "DropShadows", false, DataSourceUpdateMode.OnPropertyChanged); chkRainbow.DataBindings.Add("Checked", Settings, "UseRainbowColor", false, DataSourceUpdateMode.OnPropertyChanged); btnTextColor.DataBindings.Add("BackColor", Settings, "TextColor", false, DataSourceUpdateMode.OnPropertyChanged); btnBackground.DataBindings.Add("BackColor", Settings, "BackgroundColor", false, DataSourceUpdateMode.OnPropertyChanged); btnBackground2.DataBindings.Add("BackColor", Settings, "BackgroundColor2", false, DataSourceUpdateMode.OnPropertyChanged); btnThinSep.DataBindings.Add("BackColor", Settings, "ThinSeparatorsColor", false, DataSourceUpdateMode.OnPropertyChanged); btnSeparators.DataBindings.Add("BackColor", Settings, "SeparatorsColor", false, DataSourceUpdateMode.OnPropertyChanged); btnPB.DataBindings.Add("BackColor", Settings, "PersonalBestColor", false, DataSourceUpdateMode.OnPropertyChanged); btnGlod.DataBindings.Add("BackColor", Settings, "BestSegmentColor", false, DataSourceUpdateMode.OnPropertyChanged); btnAheadGaining.DataBindings.Add("BackColor", Settings, "AheadGainingTimeColor", false, DataSourceUpdateMode.OnPropertyChanged); btnAheadLosing.DataBindings.Add("BackColor", Settings, "AheadLosingTimeColor", false, DataSourceUpdateMode.OnPropertyChanged); btnBehindGaining.DataBindings.Add("BackColor", Settings, "BehindGainingTimeColor", false, DataSourceUpdateMode.OnPropertyChanged); btnBehindLosing.DataBindings.Add("BackColor", Settings, "BehindLosingTimeColor", false, DataSourceUpdateMode.OnPropertyChanged); btnNotRunning.DataBindings.Add("BackColor", Settings, "NotRunningColor", false, DataSourceUpdateMode.OnPropertyChanged); btnPausedColor.DataBindings.Add("BackColor", Settings, "PausedColor", false, DataSourceUpdateMode.OnPropertyChanged); btnShadowsColor.DataBindings.Add("BackColor", Settings, "ShadowsColor", false, DataSourceUpdateMode.OnPropertyChanged); lblTimer.DataBindings.Add("Text", this, "TimerFont", false, DataSourceUpdateMode.OnPropertyChanged); lblText.DataBindings.Add("Text", this, "SplitNamesFont", false, DataSourceUpdateMode.OnPropertyChanged); lblTimes.DataBindings.Add("Text", this, "MainFont", false, DataSourceUpdateMode.OnPropertyChanged); trkOpacity.DataBindings.Add("Value", this, "Opacity", false, DataSourceUpdateMode.OnPropertyChanged); trkImageOpacity.DataBindings.Add("Value", this, "ImageOpacity", false, DataSourceUpdateMode.OnPropertyChanged); trkBlur.DataBindings.Add("Value", this, "ImageBlur", false, DataSourceUpdateMode.OnPropertyChanged); cmbBackgroundType.SelectedItem = GetBackgroundTypeString(Settings.BackgroundType); originalBackgroundImage = Settings.BackgroundImage; }
public LayoutSettingsDialog(Options.LayoutSettings settings, UI.ILayout layout, IComponent tabComponent = null) { InitializeComponent(); Settings = settings; Layout = layout; ComponentSettings = new List <XmlNode>(); Components = new List <IComponent>(); AddNewTab("Layout", new LayoutSettingsControl(settings, layout)); AddComponents(tabComponent); }
/// <summary> /// Prepares for drawing. /// </summary> private void PrepareDraw(LiveSplitState state) { Options.LayoutSettings layoutSettings = state.LayoutSettings; textComponent.NameLabel.HasShadow = layoutSettings.DropShadows; textComponent.ValueLabel.HasShadow = layoutSettings.DropShadows; textComponent.NameLabel.HorizontalAlignment = StringAlignment.Near; textComponent.ValueLabel.HorizontalAlignment = StringAlignment.Far; textComponent.NameLabel.VerticalAlignment = StringAlignment.Near; textComponent.ValueLabel.VerticalAlignment = StringAlignment.Near; textComponent.NameLabel.ForeColor = layoutSettings.TextColor; textComponent.ValueLabel.ForeColor = layoutSettings.TextColor; }
private static Options.LayoutSettings ParseSettings(XmlElement element, Version version) { var settings = new Options.LayoutSettings(); settings.TextColor = SettingsHelper.ParseColor(element["TextColor"]); settings.BackgroundColor = SettingsHelper.ParseColor(element["BackgroundColor"]); settings.ThinSeparatorsColor = SettingsHelper.ParseColor(element["ThinSeparatorsColor"]); settings.SeparatorsColor = SettingsHelper.ParseColor(element["SeparatorsColor"]); settings.PersonalBestColor = SettingsHelper.ParseColor(element["PersonalBestColor"]); settings.AheadGainingTimeColor = SettingsHelper.ParseColor(element["AheadGainingTimeColor"]); settings.AheadLosingTimeColor = SettingsHelper.ParseColor(element["AheadLosingTimeColor"]); settings.BehindGainingTimeColor = SettingsHelper.ParseColor(element["BehindGainingTimeColor"]); settings.BehindLosingTimeColor = SettingsHelper.ParseColor(element["BehindLosingTimeColor"]); settings.BestSegmentColor = SettingsHelper.ParseColor(element["BestSegmentColor"]); settings.UseRainbowColor = SettingsHelper.ParseBool(element["UseRainbowColor"], false); settings.NotRunningColor = SettingsHelper.ParseColor(element["NotRunningColor"]); settings.PausedColor = SettingsHelper.ParseColor(element["PausedColor"], Color.FromArgb(122, 122, 122)); settings.AntiAliasing = SettingsHelper.ParseBool(element["AntiAliasing"], true); settings.DropShadows = SettingsHelper.ParseBool(element["DropShadows"], true); settings.Opacity = SettingsHelper.ParseFloat(element["Opacity"], 1); settings.ShadowsColor = SettingsHelper.ParseColor(element["ShadowsColor"], Color.FromArgb(128, 0, 0, 0)); settings.ShowBestSegments = SettingsHelper.ParseBool(element["ShowBestSegments"]); settings.AlwaysOnTop = SettingsHelper.ParseBool(element["AlwaysOnTop"]); settings.TimerFont = SettingsHelper.GetFontFromElement(element["TimerFont"]); using (var timerFont = new Font(settings.TimerFont.FontFamily.Name, (settings.TimerFont.Size / 50f) * 18f, settings.TimerFont.Style, GraphicsUnit.Point)) { settings.TimerFont = new Font(timerFont.FontFamily.Name, (timerFont.Size / 18f) * 50f, timerFont.Style, GraphicsUnit.Pixel); } settings.ImageOpacity = SettingsHelper.ParseFloat(element["ImageOpacity"], 1f); settings.ImageBlur = SettingsHelper.ParseFloat(element["ImageBlur"], 0f); if (version >= new Version(1, 3)) { settings.BackgroundColor2 = SettingsHelper.ParseColor(element["BackgroundColor2"]); settings.TimesFont = SettingsHelper.GetFontFromElement(element["TimesFont"]); settings.TextFont = SettingsHelper.GetFontFromElement(element["TextFont"]); } else { if (settings.BackgroundColor == Color.Black) { settings.BackgroundColor = settings.BackgroundColor2 = Color.Transparent; } else { settings.BackgroundColor2 = settings.BackgroundColor; } settings.TimesFont = SettingsHelper.GetFontFromElement(element["MainFont"]); settings.TextFont = SettingsHelper.GetFontFromElement(element["SplitNamesFont"]); } if (version >= new Version(1, 6, 1)) { settings.BackgroundType = SettingsHelper.ParseEnum <BackgroundType>(element["BackgroundType"], BackgroundType.SolidColor); } else { var gradientType = element["BackgroundGradient"]; if (gradientType == null || gradientType.InnerText == "Plain") { settings.BackgroundType = BackgroundType.SolidColor; } else if (gradientType.InnerText == "Vertical") { settings.BackgroundType = BackgroundType.VerticalGradient; } else { settings.BackgroundType = BackgroundType.HorizontalGradient; } } settings.BackgroundImage = SettingsHelper.GetImageFromElement(element["BackgroundImage"]); return(settings); }
private static Options.LayoutSettings ParseSettings(XmlElement element, Version version) { var settings = new Options.LayoutSettings(); settings.TextColor = SettingsHelper.ParseColor(element["TextColor"]); settings.BackgroundColor = SettingsHelper.ParseColor(element["BackgroundColor"]); settings.ThinSeparatorsColor = SettingsHelper.ParseColor(element["ThinSeparatorsColor"]); settings.SeparatorsColor = SettingsHelper.ParseColor(element["SeparatorsColor"]); settings.PersonalBestColor = SettingsHelper.ParseColor(element["PersonalBestColor"]); settings.AheadGainingTimeColor = SettingsHelper.ParseColor(element["AheadGainingTimeColor"]); settings.AheadLosingTimeColor = SettingsHelper.ParseColor(element["AheadLosingTimeColor"]); settings.BehindGainingTimeColor = SettingsHelper.ParseColor(element["BehindGainingTimeColor"]); settings.BehindLosingTimeColor = SettingsHelper.ParseColor(element["BehindLosingTimeColor"]); settings.BestSegmentColor = SettingsHelper.ParseColor(element["BestSegmentColor"]); settings.UseRainbowColor = SettingsHelper.ParseBool(element["UseRainbowColor"], false); settings.NotRunningColor = SettingsHelper.ParseColor(element["NotRunningColor"]); settings.PausedColor = SettingsHelper.ParseColor(element["PausedColor"], Color.FromArgb(122, 122, 122)); settings.AntiAliasing = SettingsHelper.ParseBool(element["AntiAliasing"], true); settings.DropShadows = SettingsHelper.ParseBool(element["DropShadows"], true); settings.Opacity = SettingsHelper.ParseFloat(element["Opacity"], 1); settings.ShadowsColor = SettingsHelper.ParseColor(element["ShadowsColor"], Color.FromArgb(128, 0, 0, 0)); settings.ShowBestSegments = SettingsHelper.ParseBool(element["ShowBestSegments"]); settings.AlwaysOnTop = SettingsHelper.ParseBool(element["AlwaysOnTop"]); settings.TimerFont = SettingsHelper.GetFontFromElement(element["TimerFont"]); using (var timerFont = new Font(settings.TimerFont.FontFamily.Name, (settings.TimerFont.Size / 50f) * 18f, settings.TimerFont.Style, GraphicsUnit.Point)) { settings.TimerFont = new Font(timerFont.FontFamily.Name, (timerFont.Size / 18f) * 50f, timerFont.Style, GraphicsUnit.Pixel); } settings.ImageOpacity = SettingsHelper.ParseFloat(element["ImageOpacity"], 1f); settings.ImageBlur = SettingsHelper.ParseFloat(element["ImageBlur"], 0f); if (version >= new Version(1, 3)) { settings.BackgroundColor2 = SettingsHelper.ParseColor(element["BackgroundColor2"]); settings.TimesFont = SettingsHelper.GetFontFromElement(element["TimesFont"]); settings.TextFont = SettingsHelper.GetFontFromElement(element["TextFont"]); } else { if (settings.BackgroundColor == Color.Black) settings.BackgroundColor = settings.BackgroundColor2 = Color.Transparent; else settings.BackgroundColor2 = settings.BackgroundColor; settings.TimesFont = SettingsHelper.GetFontFromElement(element["MainFont"]); settings.TextFont = SettingsHelper.GetFontFromElement(element["SplitNamesFont"]); } if (version >= new Version(1, 6, 1)) { settings.BackgroundType = SettingsHelper.ParseEnum<BackgroundType>(element["BackgroundType"], BackgroundType.SolidColor); } else { var gradientType = element["BackgroundGradient"]; if (gradientType == null || gradientType.InnerText == "Plain") settings.BackgroundType = BackgroundType.SolidColor; else if (gradientType.InnerText == "Vertical") settings.BackgroundType = BackgroundType.VerticalGradient; else settings.BackgroundType = BackgroundType.HorizontalGradient; } settings.BackgroundImage = SettingsHelper.GetImageFromElement(element["BackgroundImage"]); return settings; }