Ejemplo n.º 1
0
        private Vector GetMouseCoordinates()
        {
            Point mousePosNoTr = ViewerBox.PointToClient(MousePosition);
            var   mousePos     = new Vector
            {
                X =
                    _renderer.XMin +
                    mousePosNoTr.X * (_renderer.XMax - _renderer.XMin) / ViewerBox.Width,
                Y =
                    _renderer.YMax -
                    mousePosNoTr.Y * (_renderer.YMax - _renderer.YMin) / ViewerBox.Height
            };

            return(mousePos);
        }
Ejemplo n.º 2
0
        private Vector GetMouseCoordinates()
        {
            var mousePosNoTr = ViewerBox.PointToClient(MousePosition);
            var z            = _replayController.ZoomCtrl;
            var mousePos     = new Vector
            {
                X =
                    z.Cam.XMin +
                    mousePosNoTr.X * (z.Cam.XMax - z.Cam.XMin) / ViewerBox.Width,
                Y =
                    z.Cam.YMax -
                    mousePosNoTr.Y * (z.Cam.YMax - z.Cam.YMin) / ViewerBox.Height
            };

            return(mousePos);
        }
Ejemplo n.º 3
0
        /// <summary>
        /// This must be overridden in the Form because the pictureBox never receives MouseWheel messages
        /// </summary>
        protected override void OnMouseWheel(MouseEventArgs e)
        {
            if (hasPreview)
            {
                Point     pt_MouseAbs = Control.MousePosition;
                Control   i_Ctrl      = ViewerBox;
                Rectangle r_Ctrl      = i_Ctrl.RectangleToScreen(i_Ctrl.ClientRectangle);
                if (!r_Ctrl.Contains(pt_MouseAbs))
                {
                    base.OnMouseWheel(e);
                    return; // mouse position is outside the picturebox
                }

                // Mouse position relative to the pictureBox
                Point pt_MouseRel = ViewerBox.PointToClient(pt_MouseAbs);
                // Presenter receive zoom request
                zoomSubject.OnNext(new ZoomDTO {
                    x = pt_MouseRel.X, y = pt_MouseAbs.Y, zoom = e.Delta
                });
            }
        }