Ejemplo n.º 1
0
        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;
        }
Ejemplo n.º 2
0
 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);
 }
Ejemplo n.º 3
0
        /// <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;
        }
Ejemplo n.º 4
0
        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);
        }
Ejemplo n.º 5
0
        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;
        }