public OpenGLFractalViewPresenter(
     IFractal fractal,
     IControlPanel controlPanel,
     IFractalView fractalView,
     IFractalRenderer renderer) : base(fractal, controlPanel, fractalView, renderer)
 {
 }
 protected FractalViewPresenterBase(
     IFractal fractal,
     IControlPanel controlPanel,
     IFractalView fractalView,
     IFractalRenderer renderer)
 {
     if (fractal == null)
     {
         throw new ArgumentNullException("fractal");
     }
     if (controlPanel == null)
     {
         throw new ArgumentNullException("controlPanel");
     }
     if (fractalView == null)
     {
         throw new ArgumentNullException("fractalView");
     }
     if (renderer == null)
     {
         throw new ArgumentNullException("renderer");
     }
     _fractal                  = fractal;
     _controlPanel             = controlPanel;
     _fractalView              = fractalView;
     _renderer                 = renderer;
     _fractal.PointsChanged   += new EventHandler(_fractal_PointsChanged);
     _controlPanel.Changed    += new EventHandler(_controlPanel_Changed);
     _fractalView.PaintView   += new System.Windows.Forms.PaintEventHandler(_fractalView_Paint);
     _fractalView.Resize      += new EventHandler(_fractalView_Resize);
     _fractalView.ZoomIn      += new ZoomEventHandler(_fractalView_ZoomIn);
     _fractalView.Translating += new TranslatingEventHandler(_fractalView_Translating);
     _fractalView.SetNumOfCalculatedPoints(_fractal.Points.Count);
     if (_fractal.ExactDimension.HasValue)
     {
         _fractalView.SetSimilarityDimension(_fractal.ExactDimension.Value.ToString());
     }
 }
コード例 #3
0
        /// <summary>Creates a new MainWindowViewModel, with dependencies.</summary>
        public MainWindowViewModel(IFractalRenderer renderer, IImageProvider imageProvider, MainWindow mainWindow, IFractalStore fractals, IColorizationStore colorizers)
        {
            this.renderer = renderer;
            this.mainWindow = mainWindow;

            AvailableFractals = fractals;
            AvailableColorizations = colorizers.Select(x => GetViewModel(x)).ToList();

            ImageProvider = imageProvider;
            AsyncLoader = new AsyncLoader(renderer);

            BoundingBoxProvider = new BoundingBoxProvider();
            BoundingBoxProvider.BoxReleased += LoadFractalFromScreenBounds;

            History = new FractalHistoryProvider();
            History.OnBack += OnHistoryBack;

            Commands = new MainWindowCommands(this);

            SelectedColorizer = AvailableColorizations.FirstOrDefault();
            SelectedFractal = AvailableFractals.FirstOrDefault();

            MaximumIterations = 800;
        }
コード例 #4
0
        /// <summary>Creates a new MainWindowViewModel, with dependencies.</summary>
        public MainWindowViewModel(IFractalRenderer renderer, IImageProvider imageProvider, MainWindow mainWindow, IFractalStore fractals, IColorizationStore colorizers)
        {
            this.renderer   = renderer;
            this.mainWindow = mainWindow;

            AvailableFractals      = fractals;
            AvailableColorizations = colorizers.Select(x => GetViewModel(x)).ToList();

            ImageProvider = imageProvider;
            AsyncLoader   = new AsyncLoader(renderer);

            BoundingBoxProvider              = new BoundingBoxProvider();
            BoundingBoxProvider.BoxReleased += LoadFractalFromScreenBounds;

            History         = new FractalHistoryProvider();
            History.OnBack += OnHistoryBack;

            Commands = new MainWindowCommands(this);

            SelectedColorizer = AvailableColorizations.FirstOrDefault();
            SelectedFractal   = AvailableFractals.FirstOrDefault();

            MaximumIterations = 800;
        }
 public FractalViewPresenterBase CreateFractalViewPresenter(
     IFractal fractal, IControlPanel controlPanel, IFractalView fractalView,
     IFractalRenderer renderer)
 {
     return(new OpenGLFractalViewPresenter(fractal, controlPanel, fractalView, renderer));
 }
コード例 #6
0
 /// <summary>
 /// Class Constructor
 /// </summary>
 public FractalService()
 {
     fractalRenderer = new MandelbrotRenderer();
     RegisterFractals();
 }
コード例 #7
0
 public AsyncLoader(IFractalRenderer renderer)
 {
     this.renderer = renderer;
 }
コード例 #8
0
ファイル: AsyncLoader.cs プロジェクト: SneakyMax/Rosette
 public AsyncLoader(IFractalRenderer renderer)
 {
     this.renderer = renderer;
 }