Exemplo n.º 1
0
        /// <summary>
        /// [内部メソッド]
        /// UP イベントデータを実行する
        /// </summary>
        /// <param name="eventData">イベントデータ</param>
        private void executeUpEvent(Win32ApiWrapper.TouchEventData eventData)
        {
            // 接触点を軌道に追加する
            var touchPoint = new TouchPoint(eventData.x, eventData.y);

            this.orbit.Add(touchPoint);

            // 「タッチアップ」イベントハンドラを実行する
            var teArgs = new TouchEventArgs(touchPoint, this.orbit);

            OnTouchUp(teArgs);
        }
Exemplo n.º 2
0
        /// <summary>
        /// [内部メソッド]
        /// DOWN ベントを実行する
        /// </summary>
        /// <param name="eventData">イベントデータ</param>
        private void executeDownEvent(Win32ApiWrapper.TouchEventData eventData)
        {
            // タッチ操作のデータを初期化する
            resetFields();

            // タッチの基準点を保持しておく
            this.touchDownTime  = DateTime.Now;
            this.baseTouchPoint = new TouchPoint(eventData.x, eventData.y);

            // 接触点を軌道に追加する
            this.orbit.Add(this.baseTouchPoint);

            // 「タッチダウン」イベントハンドラを実行する
            var teArgs = new TouchEventArgs(this.baseTouchPoint, this.orbit);

            OnTouchDown(teArgs);
        }
Exemplo n.º 3
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);
            }
        }
Exemplo n.º 4
0
        /// <summary>
        /// [内部メソッド]
        /// MOVE イベントを実行する
        /// </summary>
        /// <param name="eventData">イベントデータ</param>
        private void executeMoveEvent(Win32ApiWrapper.TouchEventData eventData)
        {
            // 移動距離が規定の間隔に満たない場合は処理しない
            TouchPoint lastTouchPoint = this.orbit.Last();
            int        distance       = Calculator.CalcurateDistance(lastTouchPoint.X, lastTouchPoint.Y, eventData.x, eventData.y);

            if (distance < this.moveIntervalCentiPixel)
            {
                return;
            }

            //接触点を軌道に追加する
            var touchPoint = new TouchPoint(eventData.x, eventData.y);

            this.orbit.Add(touchPoint);

            // 「タッチムーブ」イベントハンドラを実行する
            var teArgs = new TouchEventArgs(touchPoint, this.orbit);

            OnTouchMove(teArgs);
        }