Esempio n. 1
0
        public void OnTouchesEnded(NSSet touches, UIEvent evt)
        {
            mMouseDown = false;

            foreach (UITouch touch in touches)
            {
                var p = GetPosition(touch);

                //Console.WriteLine ("touches-ended {0}", p);

                var te = new flash.events.TouchEvent(flash.events.TouchEvent.TOUCH_END, true, false, 0, true, p.X, p.Y, 1.0, 1.0, 1.0);
                mStage.dispatchEvent(te);

                // Mouse events can be deactivated if a gesture was recognized
                if (mDeactivateMouseEvents == false)
                {
                    mStage.mouseX = p.X;
                    mStage.mouseY = p.Y;
                    // Mouse up events can be deactivated is a gesture was recognized before and we had to already send a mouse up
                    // to avoid having the mouse up at the end of gesture (with the full delta range between the two)
                    if (mSkipNextMouseUp == false)
                    {
                        var me = new flash.events.MouseEvent(flash.events.MouseEvent.MOUSE_UP, true, false, p.X, p.Y, mStage);
                        mStage.dispatchEvent(me);
                    }
                }
            }

            if (mDeactivateMouseEvents == false)
            {
                mSkipNextMouseUp = false;
            }
        }
Esempio n. 2
0
        public void OnPinchRecognized(flash.events.TransformGestureEvent tge)
        {
            mSpanPlayerGesture.Begin();

            if (tge.phase == "begin")
            {
                mDeactivateMouseEvents = true;
                if (mMouseDown)
                {
                    // We were already sending mouse down event, so to close the loop, we are going to send a mouse up event with the last position for completion
                    var me = new flash.events.MouseEvent(flash.events.MouseEvent.MOUSE_UP, true, false, mStage.mouseX, mStage.mouseY, mStage);
                    mStage.dispatchEvent(me);
                    mSkipNextMouseUp = true;
                }
            }
            else if (tge.phase == "end")
            {
                mDeactivateMouseEvents = false;
            }
            else
            {
                mDeactivateMouseEvents = false;
            }

            mStage.dispatchEvent(tge);
            mSpanPlayerGesture.End();
        }
Esempio n. 3
0
        private void onMouseEvent(MouseEvent e)
        {
            switch (e.type)
            {
            case MouseEvent.MOUSE_OVER:
                currentState = mouseDown ? _downState : _overState;
                Mouse.cursor = Cursor.Pointer.toString();
                break;

            case MouseEvent.MOUSE_OUT:
                Mouse.cursor = Cursor.Default.toString();
                currentState = _upState;
                break;

            case MouseEvent.MOUSE_DOWN:
                currentState = _downState;
                mouseDown    = true;
                break;

            case MouseEvent.MOUSE_UP:
                currentState = _upState;
                mouseDown    = false;
                break;
            }
        }
Esempio n. 4
0
        public void OnTouchesEnded(List <flash.events.TouchEvent> touches)
        {
            mSpanPlayerTouch.Begin();
            mMouseDown = false;

            foreach (flash.events.TouchEvent touch in touches)
            {
                mStage.dispatchEvent(touch);

                // Mouse events can be deactivated if a gesture was recognized
                if (mDeactivateMouseEvents == false)
                {
                    mStage.mouseX = touch.localX;
                    mStage.mouseY = touch.localY;
                    // Mouse up events can be deactivated is a gesture was recognized before and we had to already send a mouse up
                    // to avoid having the mouse up at the end of gesture (with the full delta range between the two)
                    if (mSkipNextMouseUp == false)
                    {
                        var me = new flash.events.MouseEvent(flash.events.MouseEvent.MOUSE_UP, true, false, touch.localX, touch.localY, mStage);
                        mStage.dispatchEvent(me);
                    }
                }
            }

            if (mDeactivateMouseEvents == false)
            {
                mSkipNextMouseUp = false;
            }
            mSpanPlayerTouch.End();
        }
Esempio n. 5
0
        public void OnMouseMoved(PointF p, uint buttonMask)
        {
            mStage.mouseX = p.X;
            mStage.mouseY = p.Y;

            // dispatch touch event
            var te = new flash.events.TouchEvent(flash.events.TouchEvent.TOUCH_MOVE, true, false, 0, true, p.X, p.Y, 1.0, 1.0, 1.0);

            mStage.dispatchEvent(te);

            // dispatch mouse event
            var me = new flash.events.MouseEvent(flash.events.MouseEvent.MOUSE_MOVE, true, false, p.X, p.Y, mStage);

            mStage.dispatchEvent(me);
        }
Esempio n. 6
0
        public void OnTouchesEnded(NSSet touches, UIEvent evt)
        {
            foreach (UITouch touch in touches)
            {
                var p = touch.LocationInView(touch.View);
                //Console.WriteLine ("touches-ended {0}", p);

                mStage.mouseX = p.X;
                mStage.mouseY = p.Y;

                var te = new flash.events.TouchEvent(flash.events.TouchEvent.TOUCH_END, true, false, 0, true, p.X, p.Y, 1.0, 1.0, 1.0);
                mStage.dispatchEvent(te);

                var me = new flash.events.MouseEvent(flash.events.MouseEvent.MOUSE_UP, true, false, p.X, p.Y, mStage);
                mStage.dispatchEvent(me);
            }
        }
Esempio n. 7
0
        public void OnTouchesMoved(List <flash.events.TouchEvent> touches)
        {
            mSpanPlayerTouch.Begin();
            foreach (flash.events.TouchEvent touch in touches)
            {
                mStage.dispatchEvent(touch);

                // Mouse events can be deactivated if a gesture was recognized
                if (mDeactivateMouseEvents == false)
                {
                    mStage.mouseX = touch.localX;
                    mStage.mouseY = touch.localY;
                    var me = new flash.events.MouseEvent(flash.events.MouseEvent.MOUSE_MOVE, true, false, touch.localX, touch.localY, mStage);
                    mStage.dispatchEvent(me);
                }
            }
            mSpanPlayerTouch.End();
        }
Esempio n. 8
0
        public void OnMouseUp(PointF p, uint buttonMask)
        {
            mStage.mouseX = p.X;
            mStage.mouseY = p.Y;

            // dispatch touch event
            mSpanPlayerTouch.Begin();
            var te = new flash.events.TouchEvent(flash.events.TouchEvent.TOUCH_END, true, false, 0, true, p.X, p.Y, 1.0, 1.0, 1.0);

            mStage.dispatchEvent(te);
            mSpanPlayerTouch.End();

            // dispatch mouse event
            mSpanPlayerMouseUp.Begin();
            var me = new flash.events.MouseEvent(flash.events.MouseEvent.MOUSE_UP, true, false, p.X, p.Y, mStage);

            mStage.dispatchEvent(me);
            mSpanPlayerMouseUp.End();
        }
Esempio n. 9
0
        private void handEventsHandler(MouseEvent e)
        {
            if (stage == null)
            {
                return;
            }

            switch (e.type)
            {
            case MouseEvent.MOUSE_OUT:
                Mouse.cursor = Cursor.Default.toString();
                break;

            case MouseEvent.MOUSE_MOVE:
            case MouseEvent.MOUSE_OVER:
                Mouse.cursor = Cursor.Pointer.toString();
                break;
            }
        }
Esempio n. 10
0
        public void OnPinchRecognized(UIPinchGestureRecognizer pinchRecognizer)
        {
            mSpanPlayerGesture.Begin();
            var tge = new flash.events.TransformGestureEvent(flash.events.TransformGestureEvent.GESTURE_ZOOM, true, false);

            tge.scaleX = tge.scaleY = pinchRecognizer.Scale;

            switch (pinchRecognizer.State)
            {
            case UIGestureRecognizerState.Possible:
            case UIGestureRecognizerState.Began:
                tge.phase = "begin";
                mDeactivateMouseEvents = true;                                          // For swipe gestures, we don't want to send any mouse events at the same time
                if (mMouseDown)
                {
                    // We were already sending mouse down event, so to close the loop, we are going to send a mouse up event with the last position for completion
                    var me = new flash.events.MouseEvent(flash.events.MouseEvent.MOUSE_UP, true, false, mStage.mouseX, mStage.mouseY, mStage);
                    mStage.dispatchEvent(me);
                    mSkipNextMouseUp = true;
                }
                break;

            case UIGestureRecognizerState.Changed:
                tge.phase = "update";
                break;

            case UIGestureRecognizerState.Recognized:
                //case UIGestureRecognizerState.Ended:		// Same as recognized
                tge.phase = "end";
                mDeactivateMouseEvents = false;
                break;

            case UIGestureRecognizerState.Cancelled:
            case UIGestureRecognizerState.Failed:
                mDeactivateMouseEvents = false;
                return;                                 // In this case, we don't even send the event
            }


            mStage.dispatchEvent(tge);
            mSpanPlayerGesture.End();
        }
Esempio n. 11
0
        public void OnTouchesMoved(NSSet touches, UIEvent evt)
        {
            foreach (UITouch touch in touches)
            {
                var p = GetPosition(touch);
                //Console.WriteLine ("touches-moved {0}", p);

                var te = new flash.events.TouchEvent(flash.events.TouchEvent.TOUCH_MOVE, true, false, 0, true, p.X, p.Y, 1.0, 1.0, 1.0);
                mStage.dispatchEvent(te);

                // Mouse events can be deactivated if a gesture was recognized
                if (mDeactivateMouseEvents == false)
                {
                    mStage.mouseX = p.X;
                    mStage.mouseY = p.Y;
                    var me = new flash.events.MouseEvent(flash.events.MouseEvent.MOUSE_MOVE, true, false, p.X, p.Y, mStage);
                    mStage.dispatchEvent(me);
                }
            }
        }
Esempio n. 12
0
        // TODO: at some point we'll have a platform agnostic notion of touches to pass to the player, for now we use UITouch
        public void OnTouchesBegan(NSSet touches, UIEvent evt)
        {
            mMouseDown = true;                          // This is used so we can send a MOUSE_UP event

            foreach (UITouch touch in touches)
            {
                var p = GetPosition(touch);
                //Console.WriteLine ("touches-began {0}", p);

                var te = new flash.events.TouchEvent(flash.events.TouchEvent.TOUCH_BEGIN, true, false, 0, true, p.X, p.Y, 1.0, 1.0, 1.0);
                mStage.dispatchEvent(te);

                // Mouse events can be deactivated if a gesture was recognized
                if (mDeactivateMouseEvents == false)
                {
                    mStage.mouseX = p.X;
                    mStage.mouseY = p.Y;
                    var me = new flash.events.MouseEvent(flash.events.MouseEvent.MOUSE_DOWN, true, false, p.X, p.Y, mStage);
                    mStage.dispatchEvent(me);
                }
            }
        }
Esempio n. 13
0
        private void DispatchScrollWheelEvents()
        {
            // determine delta to dispatch
            // since flash only accepts integer deltas we dispatch incrementally one delta at a time
            int intDelta = 0;

            if (mScrollDelta < -5.0)
            {
                intDelta = -5;
            }
            else if (mScrollDelta > 5.0)
            {
                intDelta = 5;
            }
            else if (mScrollDelta < -1.0)
            {
                intDelta = -1;
            }
            else if (mScrollDelta > 1.0)
            {
                intDelta = 1;
            }

            if (intDelta != 0)
            {
                // Console.WriteLine("dispatch scroll delta {0} {1}", intDelta, mScrollDelta);

                // dispatch mouse wheel event
                mSpanPlayerMouseMove.Begin();
                var me = new flash.events.MouseEvent(flash.events.MouseEvent.MOUSE_WHEEL, true, false, mStage.mouseX, mStage.mouseY, mStage);
                me.delta = intDelta;
                mStage.dispatchEvent(me);
                mSpanPlayerMouseMove.End();

                // subtract off of accumulated delta
                mScrollDelta -= (float)intDelta;
            }
        }
Esempio n. 14
0
		public void OnTouchesEnded (NSSet touches, UIEvent evt)
		{
			mMouseDown = false;

			foreach (UITouch touch in touches) {
				var p = GetPosition(touch);

				//Console.WriteLine ("touches-ended {0}", p);

				var te = new flash.events.TouchEvent(flash.events.TouchEvent.TOUCH_END, true, false, 0, true, p.X, p.Y, 1.0, 1.0, 1.0 );
				mStage.dispatchEvent (te);

				// Mouse events can be deactivated if a gesture was recognized
				if (mDeactivateMouseEvents == false) {
					mStage.mouseX = p.X;
					mStage.mouseY = p.Y;
					// Mouse up events can be deactivated is a gesture was recognized before and we had to already send a mouse up
					// to avoid having the mouse up at the end of gesture (with the full delta range between the two)
					if (mSkipNextMouseUp == false) {
						var me = new flash.events.MouseEvent(flash.events.MouseEvent.MOUSE_UP, true, false, p.X, p.Y, mStage);
						mStage.dispatchEvent (me);
					}
				}
			}

			if (mDeactivateMouseEvents == false) {
				mSkipNextMouseUp = false;
			}
		}
Esempio n. 15
0
		public void OnScrollWheel(PointF p, float delta)
		{
			mStage.mouseX = p.X;
			mStage.mouseY = p.Y;

			// accumulate the deltas here since flash only accepts integer deltas
			mScrollDelta += delta;

			float thisDelta = (float)Math.Floor(mScrollDelta);
			if (thisDelta != 0.0f) 
			{
				// Console.WriteLine("delta {0}", delta);
				
				// dispatch mouse event
				var me = new flash.events.MouseEvent(flash.events.MouseEvent.MOUSE_WHEEL, true, false, p.X, p.Y, mStage);
				me.delta = (int)thisDelta;
				mStage.dispatchEvent (me);

				mScrollDelta -= thisDelta;
			}
		}
Esempio n. 16
0
		public void OnPinchRecognized(UIPinchGestureRecognizer pinchRecognizer)
		{
			mSpanPlayerGesture.Begin();
			var tge = new flash.events.TransformGestureEvent(flash.events.TransformGestureEvent.GESTURE_ZOOM, true, false);
			tge.scaleX = tge.scaleY = pinchRecognizer.Scale;

			switch (pinchRecognizer.State)
			{
				case UIGestureRecognizerState.Possible:
				case UIGestureRecognizerState.Began:
					tge.phase = "begin";
					mDeactivateMouseEvents = true;			// For swipe gestures, we don't want to send any mouse events at the same time
					if (mMouseDown) {
						// We were already sending mouse down event, so to close the loop, we are going to send a mouse up event with the last position for completion
						var me = new flash.events.MouseEvent(flash.events.MouseEvent.MOUSE_UP, true, false, mStage.mouseX, mStage.mouseY, mStage);
						mStage.dispatchEvent (me);
						mSkipNextMouseUp = true;
					}
					break;

				case UIGestureRecognizerState.Changed:
					tge.phase = "update";
					break;

				case UIGestureRecognizerState.Recognized:
				//case UIGestureRecognizerState.Ended:		// Same as recognized
					tge.phase = "end";
					mDeactivateMouseEvents = false;
					break;

				case UIGestureRecognizerState.Cancelled:
				case UIGestureRecognizerState.Failed:
					mDeactivateMouseEvents = false;
					return;		// In this case, we don't even send the event
			}


			mStage.dispatchEvent(tge);
			mSpanPlayerGesture.End();
		}
Esempio n. 17
0
		public void OnMouseMoved(PointF p, uint buttonMask)
		{
			mStage.mouseX = p.X;
			mStage.mouseY = p.Y;
			
			// dispatch touch event
			mSpanPlayerTouch.Begin();
			var te = new flash.events.TouchEvent(flash.events.TouchEvent.TOUCH_MOVE, true, false, 0, true, p.X, p.Y, 1.0, 1.0, 1.0 );
			mStage.dispatchEvent (te);
			mSpanPlayerTouch.End();

			// dispatch mouse event
			mSpanPlayerMouseMove.Begin();
			var me = new flash.events.MouseEvent(flash.events.MouseEvent.MOUSE_MOVE, true, false, p.X, p.Y, mStage);
			mStage.dispatchEvent (me);
			mSpanPlayerMouseMove.End();
		}
Esempio n. 18
0
		public void OnTouchesMoved (List<flash.events.TouchEvent> touches)
		{
			mSpanPlayerTouch.Begin();
			foreach (flash.events.TouchEvent touch in touches) {

				mStage.dispatchEvent (touch);

				// Mouse events can be deactivated if a gesture was recognized
				if (mDeactivateMouseEvents == false) {
					mStage.mouseX = touch.localX;
					mStage.mouseY = touch.localY;
					var me = new flash.events.MouseEvent(flash.events.MouseEvent.MOUSE_MOVE, true, false, touch.localX, touch.localY, mStage);
					mStage.dispatchEvent (me);
				}
			}
			mSpanPlayerTouch.End();
		}
Esempio n. 19
0
		public void OnTouchesEnded (NSSet touches, UIEvent evt)
		{
			foreach (UITouch touch in touches) {
				var p = touch.LocationInView(touch.View);
				//Console.WriteLine ("touches-ended {0}", p);

				mStage.mouseX = p.X;
				mStage.mouseY = p.Y;

				var te = new flash.events.TouchEvent(flash.events.TouchEvent.TOUCH_END, true, false, 0, true, p.X, p.Y, 1.0, 1.0, 1.0 );
				mStage.dispatchEvent (te);

				var me = new flash.events.MouseEvent(flash.events.MouseEvent.MOUSE_UP, true, false, p.X, p.Y, mStage);
				mStage.dispatchEvent (me);

			}
		}
Esempio n. 20
0
		private void DispatchScrollWheelEvents()
		{
			// determine delta to dispatch
			// since flash only accepts integer deltas we dispatch incrementally one delta at a time
			int intDelta = 0;
			if (mScrollDelta < -5.0)	{
				intDelta = -5;
			} else if (mScrollDelta > 5.0)	{
				intDelta =  5;
			} else 	if (mScrollDelta < -1.0)	{
				intDelta = -1;
			} else 	if (mScrollDelta >  1.0)	{
				intDelta =  1;
			}

			if (intDelta != 0)
			{
				// Console.WriteLine("dispatch scroll delta {0} {1}", intDelta, mScrollDelta);
				
				// dispatch mouse wheel event
				mSpanPlayerMouseMove.Begin();
				var me = new flash.events.MouseEvent(flash.events.MouseEvent.MOUSE_WHEEL, true, false, mStage.mouseX, mStage.mouseY, mStage);
				me.delta = intDelta;
				mStage.dispatchEvent (me);
				mSpanPlayerMouseMove.End();

				// subtract off of accumulated delta
				mScrollDelta -= (float)intDelta;
			}
		}
Esempio n. 21
0
		// TODO: at some point we'll have a platform agnostic notion of touches to pass to the player, for now we use UITouch
		public void OnTouchesBegan (NSSet touches, UIEvent evt)
		{
			mMouseDown = true;		// This is used so we can send a MOUSE_UP event 

			foreach (UITouch touch in touches) {
				var p = GetPosition(touch);
				//Console.WriteLine ("touches-began {0}", p);

				var te = new flash.events.TouchEvent(flash.events.TouchEvent.TOUCH_BEGIN, true, false, 0, true, p.X, p.Y, 1.0, 1.0, 1.0 );
				mStage.dispatchEvent (te);

				// Mouse events can be deactivated if a gesture was recognized
				if (mDeactivateMouseEvents == false) {
					mStage.mouseX = p.X;
					mStage.mouseY = p.Y;
					var me = new flash.events.MouseEvent(flash.events.MouseEvent.MOUSE_DOWN, true, false, p.X, p.Y, mStage);
					mStage.dispatchEvent (me);
				}
			}
		}
Esempio n. 22
0
		public void OnTouchesEnded (List<flash.events.TouchEvent> touches)
		{
			mSpanPlayerTouch.Begin();
			mMouseDown = false;

			foreach (flash.events.TouchEvent touch in touches) {

				mStage.dispatchEvent (touch);

				// Mouse events can be deactivated if a gesture was recognized
				if (mDeactivateMouseEvents == false) {
					mStage.mouseX = touch.localX;
					mStage.mouseY = touch.localY;
					// Mouse up events can be deactivated is a gesture was recognized before and we had to already send a mouse up
					// to avoid having the mouse up at the end of gesture (with the full delta range between the two)
					if (mSkipNextMouseUp == false) {
						var me = new flash.events.MouseEvent(flash.events.MouseEvent.MOUSE_UP, true, false, touch.localX, touch.localY, mStage);
						mStage.dispatchEvent (me);
					}
				}
			}

			if (mDeactivateMouseEvents == false) {
				mSkipNextMouseUp = false;
			}
			mSpanPlayerTouch.End();
		}
Esempio n. 23
0
		public void OnTouchesMoved (NSSet touches, UIEvent evt)
		{
			foreach (UITouch touch in touches) {
				var p = GetPosition(touch);
				//Console.WriteLine ("touches-moved {0}", p);

				var te = new flash.events.TouchEvent(flash.events.TouchEvent.TOUCH_MOVE, true, false, 0, true, p.X, p.Y, 1.0, 1.0, 1.0 );
				mStage.dispatchEvent (te);

				// Mouse events can be deactivated if a gesture was recognized
				if (mDeactivateMouseEvents == false) {
					mStage.mouseX = p.X;
					mStage.mouseY = p.Y;
					var me = new flash.events.MouseEvent(flash.events.MouseEvent.MOUSE_MOVE, true, false, p.X, p.Y, mStage);
					mStage.dispatchEvent (me);
				}
			}
		}
Esempio n. 24
0
        public void OnMouseUp(PointF p, uint buttonMask)
        {
            mStage.mouseX = p.X;
            mStage.mouseY = p.Y;

            // dispatch touch event
            var te = new flash.events.TouchEvent(flash.events.TouchEvent.TOUCH_END, true, false, 0, true, p.X, p.Y, 1.0, 1.0, 1.0 );
            mStage.dispatchEvent (te);

            // dispatch mouse event
            var me = new flash.events.MouseEvent(flash.events.MouseEvent.MOUSE_UP, true, false, p.X, p.Y, mStage);
            mStage.dispatchEvent (me);
        }
Esempio n. 25
0
		public void OnPinchRecognized(flash.events.TransformGestureEvent tge)
		{
			mSpanPlayerGesture.Begin();

			if (tge.phase == "begin") {
				mDeactivateMouseEvents = true;
				if (mMouseDown) {
					// We were already sending mouse down event, so to close the loop, we are going to send a mouse up event with the last position for completion
					var me = new flash.events.MouseEvent (flash.events.MouseEvent.MOUSE_UP, true, false, mStage.mouseX, mStage.mouseY, mStage);
					mStage.dispatchEvent (me);
					mSkipNextMouseUp = true;
				}
			} else if (tge.phase == "end") {
				mDeactivateMouseEvents = false;
			} else {
				mDeactivateMouseEvents = false;
			}

			mStage.dispatchEvent(tge);
			mSpanPlayerGesture.End ();
		}