updatePosition method

CanvasChildId updatePosition(
  1. CanvasChildId id,
  2. Offset newPosition
)

Update the position of a child by its ID.

Implementation

CanvasChildId updatePosition(CanvasChildId id, Offset newPosition) {
  final child = _children[id];
  if (child == null) {
    throw _ChildNotFoundException;
  }
  final oldPosition = child.gsPosition;
  _spatialHash.remove(Point(oldPosition.dx, oldPosition.dy), id);
  child.gsPosition = newPosition;
  _spatialHash.add(Point(newPosition.dx, newPosition.dy), id);
  markDirty();
  return id;
}