public EditorViewModel( IPluginConfigAccessor scrollConfig, IPluginConfigAccessor keyboardTriggerConfig, IKeyboardDriver keyboardHook, IPointerDeviceDriver pointerHook ) { _scrollConfig = scrollConfig; _keyboardTriggerConfig = keyboardTriggerConfig; _keyboardHook = keyboardHook; _pointerHook = pointerHook; _currentIndexStrategy = KeyScrollerPlugin.AvailableStrategies.IndexOf(_scrollConfig.User.GetOrSet( "Strategy", "BasicScrollingStrategy" )); this.DisplayName = R.ScrollEditor; }
internal Radar( IPointerDeviceDriver pdd ) : this() { ViewModel = new RadarViewModel(); ViewModel.SetCircleColor( Colors.Black ); ViewModel.SetArrowColor( Colors.Black ); ViewModel.Opacity = 1; ViewModel.RadarSize = 100; SnakeMode = false; DataContext = ViewModel; _mouseDriver = pdd; Left = pdd.CurrentPointerXLocation - ViewModel.WindowSize / 2; Top = pdd.CurrentPointerYLocation - ViewModel.WindowSize / 2; RotationSpeed = 10; TranslationSpeed = 1; CurrentStep = RadarStep.Paused; _timerRotate = new DispatcherTimer( DispatcherPriority.Send ); _timerRotate.Interval = new TimeSpan( 1000 ); _timerRotate.Tick += ProcessRotation; _timerTranslate = new DispatcherTimer( DispatcherPriority.Normal ); _timerTranslate.Interval = new TimeSpan( 1000 ); _timerTranslate.Tick += ProcessTranslation; _mouseDriver.PointerMove += OnMouseLocationChanged; ViewModel.PropertyChanged += ( o, e ) => { if( e.PropertyName == "WindowSize" ) { Width = ViewModel.WindowSize; Height = ViewModel.WindowSize; } }; }