Пример #1
0
        /// <summary>
        /// [内部メソッド]
        /// 基本イベントを割り当てる
        /// </summary>
        /// <param name="eventData">イベントデータ</param>
        private void allocateBasicEvent(Win32ApiWrapper.TouchEventData eventData)
        {
            // タッチイベントフラグを取得する
            Win32ApiWrapper.TouchEventFlags eventFlags = eventData.dwEventFlags;

            if (eventFlags.IsDown())
            {
                executeDownEvent(eventData);
            }
            else if (eventFlags.IsMove())
            {
                executeMoveEvent(eventData);
            }
            else if (eventFlags.IsUp())
            {
                executeUpEvent(eventData);
            }
        }
Пример #2
0
        /// <summary>
        /// [内部メソッド]
        /// 排他的イベントを割り当てる
        /// </summary>
        private void allocateExclusiveEvent(Win32ApiWrapper.TouchEventData[] eventData)
        {
            // タッチイベントフラグを取得する
            Win32ApiWrapper.TouchEventFlags eventFlags = eventData[0].dwEventFlags;

            // 接触点の座標情報を設定する
            TouchPoint touchPoint1 = new TouchPoint(eventData[0].x, eventData[0].y);
            TouchPoint touchPoint2 = null;

            if (eventData.Length > 1)
            {
                touchPoint2 = new TouchPoint(eventData[1].x, eventData[1].y);
            }

            // 各イベントを割り当てる
            if (eventData.Length > 1 && eventData[1].dwEventFlags.IsDown())
            {
                // 「ピンチ」操作の開始を検知する
                this.baseTwoTouchDistanceCentiPixel = Calculator.CalcurateDistance(touchPoint1.X, touchPoint1.Y, touchPoint2.X, touchPoint2.Y);
            }
            else if (eventData.Length > 1 && eventData[1].dwEventFlags.IsMove())
            {
                // 「ピンチ」イベントを実行する
                executePinchEvent(touchPoint1, touchPoint2);
            }
            else if (eventFlags.IsUp())
            {
                if (isSwipe(touchPoint1))
                {
                    // 「スワイプ」イベントを実行する
                    executeSwipeEvent(touchPoint1);
                }
                else if (isDoubleTap())
                {
                    // 「ダブルタップ」イベントを実行する
                    executeDoubleTapEvent(touchPoint1);
                }
                else if (isTap())
                {
                    // 「タップ」イベントを実行する
                    executeTapEvent(touchPoint1);
                }
            }
        }