addShapeLayer method

void addShapeLayer({
  1. required String id,
  2. required String shapeType,
  3. required double x,
  4. required double y,
  5. double? width,
  6. double? height,
  7. String? fillColor,
  8. String? strokeColor,
  9. double? strokeWidth,
})

Implementation

void addShapeLayer({
  required String id,
  required String shapeType,
  required double x,
  required double y,
  double? width,
  double? height,
  String? fillColor,
  String? strokeColor,
  double? strokeWidth,
}) {
  if (_currentTemplate == null) return;

  final newLayer = ShapeLayerModel(
    id: id,
    type: 'shape',
    x: x,
    y: y,
    shapeType: shapeType,
    width: width,
    height: height,
    fillColor: fillColor,
    strokeColor: strokeColor,
    strokeWidth: strokeWidth,
  );

  final updatedLayers = List<LayerModel>.from(_currentTemplate!.layers)
    ..add(newLayer);

  _currentTemplate = _currentTemplate!.copyWith(layers: updatedLayers);

  _selectedLayer = newLayer;
  notifyListeners();
}