/// <summary> /// Handler for the touch up event /// </summary> /// <param name="sender">The sender for this touch event</param> /// <param name="e">The event arguments</param> private void TouchUpHandler(object sender, TouchScreenEventArgs e) { TouchInput ti = e.Touches[0]; string fire = "Fire was pressed"; string snowflake = "Snowflake was pressed"; string text; switch (_currentScreenId) { case ScreenId.NorthEast: text = _ar[0].Contains(ti) ? fire : snowflake; break; case ScreenId.NorthWest: text = _ar[1].Contains(ti) ? fire : snowflake; break; case ScreenId.SouthWest: text = _ar[2].Contains(ti) ? fire : snowflake; break; case ScreenId.SouthEast: text = _ar[3].Contains(ti) ? fire : snowflake; break; default: throw new InvalidOperationException("This is not expected!"); } Debug.Print(text); }
/// <summary> /// Handler for the touch up event /// </summary> /// <param name="sender">The sender for this touch event</param> /// <param name="e">The event arguments</param> private void TouchUpHandler(object sender, TouchScreenEventArgs e) { TouchInput ti = e.Touches[0]; string fire = "Fire was pressed"; string snowflake = "Snowflake was pressed"; string text; switch(_currentScreenId) { case ScreenId.NorthEast: text = _ar[0].Contains(ti) ? fire : snowflake; break; case ScreenId.NorthWest: text = _ar[1].Contains(ti) ? fire : snowflake; break; case ScreenId.SouthWest: text = _ar[2].Contains(ti) ? fire : snowflake; break; case ScreenId.SouthEast: text = _ar[3].Contains(ti) ? fire : snowflake; break; default: throw new InvalidOperationException("This is not expected!"); } Debug.Print(text); }
private void HandleTouch(RawButtonActions action, TouchScreenEventArgs eventArgs) { dispatcher.Invoke( new TimeSpan(0, 0, 3), delegate(object arg) { Button button = (Button)eventArgs.Target; RawButtonInputReport report = new RawButtonInputReport(this.presentationSource, eventArgs.TimeStamp, button, action); bool handled = site.ReportInput(this.buttonDevice, report); if (!handled) { ButtonEventArgs buttonEventArgs = new ButtonEventArgs(this.buttonDevice, this.presentationSource, eventArgs.TimeStamp, button); this.OnButtonUp(buttonEventArgs); } return(null); }, null); }
private void TouchScreen_OnTouchDown(object sender, TouchScreenEventArgs eventArgs) { this.HandleTouch(RawButtonActions.ButtonDown, eventArgs); }
bool IEventListener.OnEvent(BaseEvent ev) { /// Process known events, otherwise forward as generic to MainWindow. /// TouchEvent touchEvent = ev as TouchEvent; if (touchEvent != null) { // dispatch only when the event is in the active area for(int i = 0; i < _activeRegions.Length; ++i) { ActiveRectangle ar = _activeRegions[i]; // only check the first if(ar.Contains(touchEvent.Touches[0])) { TouchScreenEventArgs tea = new TouchScreenEventArgs(touchEvent.Time, touchEvent.Touches, ar.Target); switch((TouchMessages)touchEvent.EventMessage) { case TouchMessages.Down: if(OnTouchDown != null) { OnTouchDown(this, tea); } break; case TouchMessages.Up: if(OnTouchUp != null) { OnTouchUp(this, tea); } break; case TouchMessages.Move: if(OnTouchMove != null) { OnTouchMove(this, tea); } break; } } } return true; } else if(ev is GenericEvent) { GenericEvent genericEvent = (GenericEvent)ev; switch (genericEvent.EventCategory) { case (byte)EventCategory.Gesture: { TouchGestureEventArgs ge = new TouchGestureEventArgs(); ge.Gesture = (TouchGesture)genericEvent.EventMessage; ge.X = genericEvent.X; ge.Y = genericEvent.Y; ge.Arguments = (ushort)genericEvent.EventData; if (ge.Gesture == TouchGesture.Begin && OnGestureStarted != null) { OnGestureStarted(this, ge); } else if (ge.Gesture == TouchGesture.End && OnGestureEnded!= null) { OnGestureEnded(this, ge); } else if(OnGestureChanged != null) { OnGestureChanged(this, ge); } break; } default: break; } } return false; }
bool IEventListener.OnEvent(BaseEvent ev) { /// Process known events, otherwise forward as generic to MainWindow. /// TouchEvent touchEvent = ev as TouchEvent; if (touchEvent != null) { // dispatch only when the event is in the active area for (int i = 0; i < _activeRegions.Length; ++i) { ActiveRectangle ar = _activeRegions[i]; // only check the first if (ar.Contains(touchEvent.Touches[0])) { TouchScreenEventArgs tea = new TouchScreenEventArgs(touchEvent.Time, touchEvent.Touches, ar.Target); switch ((TouchMessages)touchEvent.EventMessage) { case TouchMessages.Down: if (OnTouchDown != null) { OnTouchDown(this, tea); } break; case TouchMessages.Up: if (OnTouchUp != null) { OnTouchUp(this, tea); } break; case TouchMessages.Move: if (OnTouchMove != null) { OnTouchMove(this, tea); } break; } } } return(true); } else if (ev is GenericEvent) { GenericEvent genericEvent = (GenericEvent)ev; switch (genericEvent.EventCategory) { case (byte)EventCategory.Gesture: { TouchGestureEventArgs ge = new TouchGestureEventArgs(); ge.Gesture = (TouchGesture)genericEvent.EventMessage; ge.X = genericEvent.X; ge.Y = genericEvent.Y; ge.Arguments = (ushort)genericEvent.EventData; if (ge.Gesture == TouchGesture.Begin && OnGestureStarted != null) { OnGestureStarted(this, ge); } else if (ge.Gesture == TouchGesture.End && OnGestureEnded != null) { OnGestureEnded(this, ge); } else if (OnGestureChanged != null) { OnGestureChanged(this, ge); } break; } default: break; } } return(false); }