Exemplo n.º 1
0
        /// <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);
        }
Exemplo n.º 2
0
        /// <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);
 }
Exemplo n.º 5
0
        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;
        }
Exemplo n.º 6
0
        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);
        }