public PressableController(FrameworkElement element, PressableModel model, KinectRegion kinectRegion) { this.element = new WeakReference(element); this.kinectRegion = kinectRegion; this.inputModel = model; if (this.inputModel == null) { return; } this.eventSubscriptions = new CompositeDisposable { this.inputModel.PressingStartedObservable() .Subscribe(_ => VisualStateManager.GoToState(this.Control, "Focused", true)), this.inputModel.HoldingObservable() .Subscribe(_ => Debug.WriteLine(string.Format("Holding: {0}, ", DateTime.Now))), this.inputModel.PressingUpdatedObservable() .Subscribe(_ => Debug.WriteLine(string.Format("PressingUpdated: {0}, ", DateTime.Now))), this.inputModel.PressingCompletedObservable() .Subscribe(_ => VisualStateManager.GoToState(this.Control, "Unfocused", true)), this.inputModel.TappedObservable() .Subscribe(_ => Debug.WriteLine(string.Format("Tapped: {0}, ", DateTime.Now))), }; }
public PressableController(FrameworkElement element, PressableModel model, KinectRegion kinectRegion) { this.element = new WeakReference(element); this.kinectRegion = kinectRegion; this.inputModel = model; if (this.inputModel == null) return; this.eventSubscriptions = new CompositeDisposable { this.inputModel.PressingStartedObservable() .Subscribe(_ => VisualStateManager.GoToState(this.Control, "Focused", true)), this.inputModel.HoldingObservable() .Subscribe(_ => Debug.WriteLine(string.Format("Holding: {0}, ", DateTime.Now))), this.inputModel.PressingUpdatedObservable() .Subscribe(_ => Debug.WriteLine(string.Format("PressingUpdated: {0}, ", DateTime.Now))), this.inputModel.PressingCompletedObservable() .Subscribe(_ => VisualStateManager.GoToState(this.Control, "Unfocused", true)), this.inputModel.TappedObservable() .Subscribe(_ => Debug.WriteLine(string.Format("Tapped: {0}, ", DateTime.Now))), }; }
public KinectV2CustomButtonController(IInputModel inputModel, KinectRegion kinectRegion, EventHandler HandPointerEnter, EventHandler HandPointerLeave) { _inputModel = inputModel as PressableModel; _handPointerEnter = HandPointerEnter; _handPointerLeave = HandPointerLeave; _kinectRegion = kinectRegion; _interactiveElement = _inputModel.Element as KinectV2CustomButton; kinectCoreWindow.PointerMoved += kinectCoreWindow_PointerMoved; }
protected virtual void Dispose(bool disposing) { if (!_disposedValue) { _kinectRegion = null; _inputModel = null; _interactiveElement = null; kinectCoreWindow.PointerMoved -= kinectCoreWindow_PointerMoved; _handPointerEnter = null; _handPointerLeave = null; kinectCoreWindow = null; _disposedValue = true; } }
private static IObservable <T> GetObservable <T>(PressableModel model, string eventName) { return(ModelObservable.GetObservable <PressableModel, T>(model, eventName)); }
public static IObservable <KinectTappedEventArgs> TappedObservable(this PressableModel pressableModel) { return(GetObservable <KinectTappedEventArgs>(pressableModel, "Tapped")); }
public static IObservable <KinectPressingCompletedEventArgs> PressingCompletedObservable(this PressableModel pressableModel) { return(GetObservable <KinectPressingCompletedEventArgs>(pressableModel, "PressingCompleted")); }
public static IObservable <KinectHoldingEventArgs> HoldingObservable(this PressableModel pressableModel) { return(GetObservable <KinectHoldingEventArgs>(pressableModel, "Holding")); }