public ContentArea(Game game, string routeName, TrackContent trackContent, EnumArray <string, ColorSetting> colorPreferences, TrackViewerViewSettings viewSettings) : base(game) { if (null == game) { throw new ArgumentNullException(nameof(game)); } if (null == colorPreferences) { throw new ArgumentNullException(nameof(colorPreferences)); } Enabled = false; RouteName = routeName; TrackContent = trackContent ?? throw new ArgumentNullException(nameof(trackContent)); bounds = trackContent.Bounds; spriteBatch = new SpriteBatch(GraphicsDevice); fontManager = FontManager.Exact("Segoe UI", System.Drawing.FontStyle.Regular); inputComponent = game.Components.OfType <MouseInputGameComponent>().Single(); inputComponent.AddMouseEvent(MouseMovedEventType.MouseMoved, MouseMove); foreach (ColorSetting setting in EnumExtension.GetValues <ColorSetting>()) { UpdateColor(setting, ColorExtension.FromName(colorPreferences[setting])); } this.viewSettings = viewSettings; game.Window.ClientSizeChanged += Window_ClientSizeChanged; }
private void SetupVisibilityMenuItem(ToolStripMenuItem menuItem, TrackViewerViewSettings setting) { menuItem.Tag = setting; menuItem.Checked = (parent.Settings.ViewSettings & setting) == setting; menuItem.Click += VisibilitySettingToolStripMenuItem_Click; if (menuItem.OwnerItem is ToolStripMenuItem parentItem) { SetupVisibilityParentMenuItem(parentItem); } }