Ejemplo n.º 1
0
        /// <summary>
        /// Mouse moved handler.
        /// </summary>
        /// <param name="canvas">Canvas.</param>
        /// <param name="x"></param>
        /// <param name="y"></param>
        /// <param name="dx"></param>
        /// <param name="dy"></param>
        /// <returns>True if handled.</returns>
        public static bool OnMouseMoved(ControlBase canvas, int x, int y, int dx, int dy)
        {
            // Send input to canvas for study
            MousePosition.X = x;
            MousePosition.Y = y;

            UpdateHoveredControl(canvas);

            if (InputHandler.HoveredControl == null)
            {
                return(false);
            }
            if (InputHandler.HoveredControl == canvas)
            {
                return(false);
            }
            if (InputHandler.HoveredControl.GetCanvas() != canvas)
            {
                return(false);
            }

            InputHandler.HoveredControl.InputMouseMoved(x, y, dx, dy);
            InputHandler.HoveredControl.UpdateCursor();

            DragAndDrop.OnMouseMoved(InputHandler.HoveredControl, x, y);

            return(true);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Handles mouse movement events. Called from Input subsystems.
        /// </summary>
        /// <returns>True if handled.</returns>
        public bool Input_MouseMoved(int x, int y, int dx, int dy)
        {
            if (IsHidden)
            {
                return(false);
            }
            x  = (int)Math.Round(x / Scale);
            y  = (int)Math.Round(y / Scale);
            dx = (int)Math.Round(dx / Scale);
            dy = (int)Math.Round(dy / Scale);

            InputHandler.OnMouseMoved(this, x, y, dx, dy);

            if (InputHandler.HoveredControl == null)
            {
                return(InputHandler.MouseCaptured);
            }
            if (InputHandler.HoveredControl == this)
            {
                return(false);
            }
            if (InputHandler.HoveredControl.GetCanvas() != this)
            {
                return(false);
            }

            InputHandler.HoveredControl.InputMouseMoved(x, y, dx, dy);
            InputHandler.HoveredControl.UpdateCursor();

            DragAndDrop.OnMouseMoved(InputHandler.HoveredControl, x, y);
            return(true);
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Handles mouse movement events. Called from Input subsystems.
        /// </summary>
        /// <returns>True if handled.</returns>
        public bool Input_MouseMoved(int x, int y, int dx, int dy)
        {
            if (IsHidden)
            {
                return(false);
            }

            // Todo: Handle scaling here..
            //float fScale = 1.0f / Scale();

            InputHandler.OnMouseMoved(this, x, y, dx, dy);

            if (InputHandler.HoveredControl == null)
            {
                return(false);
            }
            if (InputHandler.HoveredControl == this)
            {
                return(false);
            }
            if (InputHandler.HoveredControl.GetCanvas() != this)
            {
                return(false);
            }

            InputHandler.HoveredControl.InputMouseMoved(x, y, dx, dy);
            InputHandler.HoveredControl.UpdateCursor();

            DragAndDrop.OnMouseMoved(InputHandler.HoveredControl, x, y);
            return(true);
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Handles mouse movement events. Called from Input subsystems.
        /// </summary>
        /// <returns>True if handled.</returns>
        public bool Input_MouseMoved(int x, int y, int dx, int dy)
        {
            if (IsHidden)
            {
                return(false);
            }

            float inverseScale = 1.0f / Scale;

            x  = Util.Round(x * inverseScale);
            y  = Util.Round(y * inverseScale);
            dx = Util.Round(dx * inverseScale);
            dy = Util.Round(dy * inverseScale);

            InputHandler.OnMouseMoved(this, x, y, dx, dy);

            if (InputHandler.HoveredControl == null)
            {
                return(false);
            }
            if (InputHandler.HoveredControl == this)
            {
                return(false);
            }
            if (InputHandler.HoveredControl.GetCanvas() != this)
            {
                return(false);
            }

            InputHandler.HoveredControl.InputMouseMoved(x, y, dx, dy);
            InputHandler.HoveredControl.UpdateCursor();

            DragAndDrop.OnMouseMoved(InputHandler.HoveredControl, x, y);
            return(true);
        }