public PixellatedMenuController(ToolStripMenuItem menuItem, PixellatedOrSmoothed state, ExclusiveController<PixellatedOrSmoothed> controller)
        {
            this.menuItem = menuItem;
            this.state = state;
            this.controller = controller;

            menuItem.Click += MenuItem_Click;
            controller.Changed += Controller_Changed;
        }
Exemplo n.º 2
0
        private void InitializeControllers()
        {
            var b  = new LayerVisibilityMenuController(backgroundToolStripMenuItem, Layers.Background);
            var s1 = new LayerVisibilityMenuController(sprites1ToolStripMenuItem, Layers.Sprite1);
            var s2 = new LayerVisibilityMenuController(sprites2ToolStripMenuItem, Layers.Sprite2);
            var s3 = new LayerVisibilityMenuController(sprites3ToolStripMenuItem, Layers.Sprite3);
            var s4 = new LayerVisibilityMenuController(sprites4ToolStripMenuItem, Layers.Sprite4);
            var f  = new LayerVisibilityMenuController(foregroundToolStripMenuItem, Layers.Foreground);

            var scaleController   = new ScreenScaleController();
            var screen1xControl   = new ScreenSizeMenuController(scaleController, screen1XMenu, ScreenScale.X1);
            var screen2xControl   = new ScreenSizeMenuController(scaleController, screen2XMenu, ScreenScale.X2);
            var screen3xControl   = new ScreenSizeMenuController(scaleController, screen3XMenu, ScreenScale.X3);
            var screen4xControl   = new ScreenSizeMenuController(scaleController, screen4XMenu, ScreenScale.X4);
            var fullScreenControl = new FullScreenMenuController(scaleController, fullScreenToolStripMenuItem);

            var compositeControl = new NtscMenuController(scaleController, ntscComposite, NTSC_Options.Composite);
            var svideoControl    = new NtscMenuController(scaleController, ntscSVideo, NTSC_Options.S_Video);
            var rgbControl       = new NtscMenuController(scaleController, ntscRGB, NTSC_Options.RGB);

            scaleController.SizeChanged += ScaleChanged;
            scaleController.NtscSet     += ScaleController_NtscSet;

            var pixellatedCtrl = new ExclusiveController <PixellatedOrSmoothed>();

            this.controllers = new List <IMenuController>()
            {
                b, s1, s2, s3, s4, f,
                new ActivateAllMenuController(activateAllToolStripMenuItem, b, s1, s2, s3, s4, f),
                new AudioMenuController(sq1MenuItem, 1),
                new AudioMenuController(sq2MenuItem, 2),
                new AudioMenuController(triMenuItem, 3),
                new AudioMenuController(noiseMenuItem, 4),
                screen1xControl,
                screen2xControl,
                screen3xControl,
                screen4xControl,
                compositeControl,
                svideoControl,
                rgbControl,
                fullScreenControl,
                new PixellatedMenuController(pixellatedToolStripMenuItem, PixellatedOrSmoothed.Pixellated, pixellatedCtrl),
                new PixellatedMenuController(smoothedToolStripMenuItem, PixellatedOrSmoothed.Smoothed, pixellatedCtrl)
            };
        }