Пример #1
0
        /// <summary>
        /// [内部メソッド]
        /// 「スワイプ」イベントを実行する
        /// </summary>
        /// <param name="touchPoint">接触点</param>
        private void executeSwipeEvent(TouchPoint touchPoint)
        {
            // 基準点と接触点の距離を取得する
            int distance = touchPoint.GetDistanceFrom(this.baseTouchPoint);

            // 基準点と接触点の角度を計算する
            int angle = Calculator.CalculateAngle(this.baseTouchPoint.X, this.baseTouchPoint.Y, touchPoint.X, touchPoint.Y);

            // 角度からスワイプの方向を決定する
            SwipeDirection direction = Calculator.AngleToDirection(angle);

            // 「スワイプ」イベントハンドラを実行する
            var swipeData = new SwipeData(this.baseTouchPoint, touchPoint, angle, distance, direction);
            var seArgs    = new SwipeEventArgs(swipeData, this.orbit);

            OnSwipe(touchPoint, seArgs);
        }
Пример #2
0
        /// <summary>
        /// [内部メソッド]
        /// 「スワイプ」操作か
        /// </summary>
        /// <returns>「スワイプ」操作か</returns>
        private bool isSwipe(TouchPoint lastTouchPoint)
        {
            if (this.baseTouchPoint.X < 0 || this.baseTouchPoint.Y < 0)
            {
                return(false);
            }

            if (lastTouchPoint.X < 0 || lastTouchPoint.Y < 0)
            {
                return(false);
            }

            if (this.hasPinched)
            {
                return(false);
            }

            int distance = lastTouchPoint.GetDistanceFrom(this.baseTouchPoint);

            return(distance > swipeIntervalCentiPixel);
        }