pasteCopied method

List<CanvasObject> pasteCopied({
  1. double dx = 12,
  2. double dy = 12,
})

Pastes copied objects and selects the pasted objects.

Implementation

List<CanvasObject> pasteCopied({double dx = 12, double dy = 12}) {
  final copied = _clipboard;
  if (copied.isEmpty) return const [];
  _copyCount += 1;
  _remember();
  final pasted = <CanvasObject>[];
  for (final object in copied) {
    final next = _copyObject(
      object,
      dx: dx * _copyCount,
      dy: dy * _copyCount,
      id: _nextCopyId(object.id),
    );
    _objects.add(next);
    pasted.add(next);
  }
  _selectedObjectIds
    ..clear()
    ..addAll([
      for (final object in pasted)
        if (object.id != null) object.id!,
    ]);
  render();
  _emitSelect();
  _emitChange();
  return pasted;
}