public override void OnMouseMove(object sender, MouseEventArgs e)
        {
            if (e.Button != MouseButtons.Left)
            {
                return;
            }

            // Needed for KeyboardController
            Canvas.Instance.Focus();

            // Todo: Copy over the moving mechanics a little better.
            ClickData.ShapeUpdateOffset(e.Location);

            Canvas.Instance.Invalidate();
        }
Example #2
0
        public override void OnMouseMove(object sender, MouseEventArgs e)
        {
            if (e.Button != MouseButtons.Left)
            {
                return;
            }

            var mouseLocation   = e.Location;
            var snappedLocation = Grid.SnapToGrid(mouseLocation);

            switch (action)
            {
            case SelectorAction.BeginSelectionRectangle:
                SetSelectedRectangle(mouseDownLocation, snappedLocation);
                break;

            case SelectorAction.BeginMoveSelectedShapes:
                Canvas.Instance.Focus();

                ClickData.Set(ShapeClickAction.Drag);
                ClickData.ShapeUpdateOffset(snappedLocation);

                Point moveTo = new Point(
                    snappedLocation.X - mouseDownLocation.X,
                    snappedLocation.Y - mouseDownLocation.Y
                    );

                selectedRectangle.X = selectedRectangleDownLocation.X + moveTo.X;
                selectedRectangle.Y = selectedRectangleDownLocation.Y + moveTo.Y;
                break;

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

            Canvas.Instance.Invalidate();
        }