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(); }
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(); }