Exemple #1
0
        void iMouseMoveHandler.mouseMove(CPoint point, eMouseButtonsState bs)
        {
            if (!prevPoint.HasValue)
            {
                return;
            }
            if (!bs.HasFlag(buttonBit))
            {
                prevPoint = null;
                return;
            }

            // Detected the event
            int dx = point.x - prevPoint.Value.x;
            int dy = point.y - prevPoint.Value.y;

            prevPoint = point;
            if (dx == 0 && dy == 0)
            {
                return;
            }

            Vector2 delta = new Vector2(dx, dy);

            delta *= m_scaling;
            onDragDelta?.Invoke(delta);
        }
Exemple #2
0
 void iButtonHandler.buttonUp(CPoint point, eMouseButton button, eMouseButtonsState bs)
 {
     if (button != this.button)
     {
         return;
     }
     prevPoint = null;
 }
Exemple #3
0
        void iMouseHandler.wheel(int x, int y, int delta, eMouseButtonsState bs)
        {
            CPoint point = new CPoint(x, y);

            foreach (var kvp in wheelHandlers)
            {
                kvp.Key.wheel(point, delta, bs);
            }
        }
Exemple #4
0
 void iButtonHandler.buttonDown(CPoint pos, eMouseButton changedButtons, eMouseButtonsState bs)
 {
     if (changedButtons == eMouseButton.Left)
     {
         anim.cancelDelta(this);
         prevMouse = pos;
         mouseVelocity.reset();
         mouseVelocity.add(pos, timeSource.messageTime);
     }
 }
Exemple #5
0
        void iMouseHandler.mouseMove(int x, int y, eMouseButtonsState bs)
        {
            CPoint point = new CPoint(x, y);

            foreach (var kvp in moveHandlers)
            {
                kvp.Key.mouseMove(point, bs);
            }

            // In addition to user handlers, also update position in the context, to render it.
            context?.setMouseCursorPosition(point);
        }
Exemple #6
0
        void iButtonHandler.buttonDown(CPoint point, eMouseButton button, eMouseButtonsState bs)
        {
            switch (button)
            {
            case eMouseButton.Left:
                playPause();
                return;

            case eMouseButton.Middle:
                mediaEngine.muted = !mediaEngine.muted;
                return;
            }
        }
Exemple #7
0
        void upDown(int x, int y, eMouseButton changedButtons, eMouseButtonsState bs, bool down)
        {
            CPoint point = new CPoint(x, y);

            foreach (var kvp in buttonHandlers)
            {
                if (down)
                {
                    kvp.Key.buttonDown(point, changedButtons, bs);
                }
                else
                {
                    kvp.Key.buttonUp(point, changedButtons, bs);
                }
            }
        }
Exemple #8
0
        void iMouseMoveHandler.mouseMove(CPoint pos, eMouseButtonsState bs)
        {
            if (bs.HasFlag(eMouseButtonsState.Left) && prevMouse.HasValue)
            {
                float dx = pos.x - prevMouse.Value.x;
                float dy = pos.y - prevMouse.Value.y;
                prevMouse = pos;
                dx       /= content.swapChainSize.cx;
                dy       /= content.swapChainSize.cy;
                dx       *= mouseSpeedMul;
                dy       *= mouseSpeedMul;

                Quaternion q = Quaternion.CreateFromYawPitchRoll(0, -dy, -dx);
                rotation = Quaternion.Multiply(q, rotation);
                Dispatcher.currentDispatcher.nativeDispatcher.renderFrame(content.renderContext, true);
                mouseVelocity.add(pos, timeSource.messageTime);
            }
        }
Exemple #9
0
        void iButtonHandler.buttonUp(CPoint pos, eMouseButton changedButtons, eMouseButtonsState bs)
        {
            if (changedButtons == eMouseButton.Left)
            {
                acceleration = Vector3.Zero;
                prevMouse    = null;

                mouseVelocity.add(pos, timeSource.messageTime);
                Vector2?velOrNull = mouseVelocity.compute();
                if (velOrNull.HasValue)
                {
                    Vector2 velocity = velOrNull.Value;
                    velocity     /= new Vector2(content.swapChainSize.cx, content.swapChainSize.cy);
                    this.velocity = new Vector3(-velocity.Y, 0, -velocity.X);
                }
                anim.startDelta(this);
            }
        }
Exemple #10
0
        void iMouseWheelHandler.wheel(CPoint point, int delta, eMouseButtonsState bs)
        {
            if (delta < 0)
            {
                if (zoomLevel <= 0)
                {
                    return;
                }
                zoomLevelStarted = zoomLevelCurrent;
                zoomLevel--;
            }
            else
            {
                if (zoomLevel >= maxZoom)
                {
                    return;
                }

                zoomLevelStarted = zoomLevelCurrent;
                zoomLevel++;
            }
            anim.startProgress(zoomAnimation, this);
        }
Exemple #11
0
 void iButtonHandler.buttonUp(CPoint point, eMouseButton button, eMouseButtonsState bs)
 {
 }
Exemple #12
0
 void iMouseHandler.buttonDown(int x, int y, eMouseButton changedButtons, eMouseButtonsState bs)
 {
     Console.WriteLine("MousePrinter.buttonDown {0} {1} {2} {3}", x, y, changedButtons, bs);
 }
Exemple #13
0
 void iMouseHandler.horizontalWheel(int x, int y, int delta, eMouseButtonsState bs)
 {
     Console.WriteLine("MousePrinter.horizintalWheel {0} {1} {2} {3}", x, y, delta, bs);
 }
Exemple #14
0
 void iMouseHandler.mouseMove(int x, int y, eMouseButtonsState bs)
 {
     Console.WriteLine("MousePrinter.mouseMove {0} {1} {2}", x, y, bs);
 }
Exemple #15
0
        void clearStateBit(eMouseButton button)
        {
            int bit = (1 << (byte)button);

            buttonsState &= (~(eMouseButtonsState)bit);
        }
Exemple #16
0
 void iMouseHandler.mouseMove(int x, int y, eMouseButtonsState bs) =>
 logInfo("mouseMove at {0}, {1}, state {2}", x, y, bs);
Exemple #17
0
 void iMouseHandler.horizontalWheel(int x, int y, int delta, eMouseButtonsState bs) =>
 logInfo("horizontalWheel at {0}, {1}, delta {2}, state {3}", x, y, delta, bs);
Exemple #18
0
 void iMouseHandler.horizontalWheel(int x, int y, int delta, eMouseButtonsState bs)
 {
 }
Exemple #19
0
 void iMouseHandler.buttonDown(int x, int y, eMouseButton changedButtons, eMouseButtonsState bs) =>
 logInfo("{0} button down at {1}, {2}, state {3}", changedButtons, x, y, bs);
Exemple #20
0
 void iMouseWheelHandler.wheel(CPoint point, int delta, eMouseButtonsState bs)
 {
 }
Exemple #21
0
 void iMouseHandler.buttonUp(int x, int y, eMouseButton changedButtons, eMouseButtonsState bs)
 {
     upDown(x, y, changedButtons, bs, false);
 }
Exemple #22
0
        void setStateBit(eMouseButton button)
        {
            int bit = (1 << (byte)button);

            buttonsState |= (eMouseButtonsState)bit;
        }
Exemple #23
0
 MouseDragEvent(eMouseButton button, float scaling)
 {
     this.button = button;
     buttonBit   = (eMouseButtonsState)(1 << (int)button);
     m_scaling   = new Vector2(scaling);
 }
Exemple #24
0
 void iMouseWheelHandler.wheel(CPoint point, int delta, eMouseButtonsState bs)
 {
     viewboxController.startZoom(point, delta);
 }