rotateSelectedBy method

bool rotateSelectedBy(
  1. double degrees
)

Rotates the selected object by degrees.

Implementation

bool rotateSelectedBy(double degrees) {
  if (_selectedObjectIds.isEmpty) return false;
  _remember();
  final changed = <CanvasObject>[];
  for (final id in _selectedObjectIds) {
    final index = _objects.indexWhere((object) => object.id == id);
    if (index < 0) continue;
    if (_objects[index].locked) continue;
    final rotated = _rotateObject(
      _objects[index],
      _objects[index].rotation + degrees,
    );
    _objects[index] = rotated;
    changed.add(rotated);
  }
  if (changed.isEmpty) return false;
  render();
  onRotate?.call(List.unmodifiable(changed));
  _emitChange();
  return true;
}