public override void OnMouseUp(object sender, MouseEventArgs e)
        {
            if (ClickData.Action == ShapeClickAction.None)
            {
                return;
            }

            ClickData.ShapeApplyOffset();

            // Reset click data
            ClickData.Clear(false);

            Canvas.Instance.Invalidate();
        }
Beispiel #2
0
        public override void OnMouseUp(object sender, MouseEventArgs e)
        {
            var mouseLocation   = e.Location;
            var snappedLocation = Grid.SnapToGrid(mouseLocation);

            switch (action)
            {
            case SelectorAction.BeginSelectionRectangle:
                // Redirect to MouseUp:EndSelectionRectangle
                action = SelectorAction.EndSelectionRectangle;
                OnMouseUp(sender, e);
                break;

            case SelectorAction.EndSelectionRectangle:
                SetSelectedRectangle(mouseDownLocation, mouseLocation);
                break;

            case SelectorAction.BeginMoveSelectedShapes:
                // Redirect to MouseUp:EndMoveSelectedShapes
                action = SelectorAction.EndMoveSelectedShapes;
                OnMouseUp(sender, e);
                break;

            case SelectorAction.EndMoveSelectedShapes:
                ClickData.ShapeApplyOffset();

                // Reset click data
                ClickData.Clear(false);
                selectedRectangleDownLocation = new Point();
                mouseDownLocation             = new Point();

                break;

            case SelectorAction.None:
                break;

            default:
                throw EnumNotImplementedException.Throw(action, ExceptionMessages.MSG_NOT_YET_IMPLEMENTED);
            }

            Canvas.Instance.Invalidate();
        }