Beispiel #1
0
        protected override void OnMouseUp(MouseEventArgs e)
        {
            base.OnMouseUp(e);
            OnMouseMove(e);
            bool resetMouseDown = true;

            Cursor = cursorZoom;

            if (this.moveOffsetMode)
            {
                this.moveOffsetMode = false;
                resetMouseDown      = false;
            }
            else if (mouseDown == MouseButtons.Left || mouseDown == MouseButtons.Right)
            {
                Rectangle zoomTo = rect;

                rect = Rectangle.Empty;
                UpdateDrawnRect();

                if (e.Button == MouseButtons.Left)
                {
                    if (Utility.Magnitude(new PointF(zoomTo.Width, zoomTo.Height)) < 10)
                    {
                        DocumentWorkspace.ZoomIn();
                        DocumentWorkspace.RecenterView(new Point(e.X, e.Y));
                    }
                    else
                    {
                        DocumentWorkspace.ZoomToRectangle(zoomTo);
                    }
                }
                else
                {
                    DocumentWorkspace.ZoomOut();
                    DocumentWorkspace.RecenterView(new Point(e.X, e.Y));
                }

                this.outline.Reset();
            }

            if (resetMouseDown)
            {
                mouseDown = MouseButtons.None;
            }
        }