private void OnSelectedPixelChanged(object sender, PixelChangedEventArgs e)
		{
		    FrameNumber = _selectionService.SelectedFrame.Number;
		    PixelLocation = e.SelectedPixel;

		    HasSelectedPixel = true;
			_pixelEvents.Clear();

            var swapChainPresenter = new WpfSwapChainPresenter(Dispatcher.CurrentDispatcher);
            var replayer = new Replayer(
                _selectionService.SelectedFrame.Model, _selectionService.SelectedEvent.Model,
                swapChainPresenter, 
                _selectionService.SelectedFrame.ActiveRenderTargetViewIdentifier,
                _selectionService.SelectedFrame.ActiveRenderTargetArraySlice,
                e.SelectedPixel.X, e.SelectedPixel.Y);

			Task.Factory.StartNew(() =>
			{
				replayer.Replay();

				var events = replayer.Logger.GetPixelHistoryEvents(_selectionService.SelectedFrame.Number);
				_pixelEvents.AddRange(events.Select(x => new PixelHistoryEventViewModel(x)));

			    FinalFrameBufferColor = ((ColorResultViewModel) _pixelEvents.Last(x => x.Result is ColorResultViewModel).Result).Result;
			});
		}
Example #2
0
        private void OnSelectedPixelChanged(PixelChangedEventArgs e)
        {
            EventHandler <PixelChangedEventArgs> handler = SelectedPixelChanged;

            if (handler != null)
            {
                handler(this, e);
            }
        }
		private void OnSelectedPixelChanged(PixelChangedEventArgs e)
		{
			EventHandler<PixelChangedEventArgs> handler = SelectedPixelChanged;
			if (handler != null) handler(this, e);
		}