ResolvedShape.placed constructor

ResolvedShape.placed(
  1. ResolvedShape local, {
  2. required DiagramPoint origin,
  3. required ShapeElement source,
  4. required ResolvedOutline outline,
  5. required List<ResolvedShapePort> ports,
  6. int? textRevisionKey,
})

local, resolved with its frame at the origin, moved to origin.

Resolvers use this to re-place a laid-out shape. Text lines, layers and widget slots are translated on first read: most shapes of a large drawing are never painted or picked, so their geometry is never copied. outline and ports are the caller's translated values.

Implementation

ResolvedShape.placed(
  ResolvedShape local, {
  required DiagramPoint origin,
  required this.source,
  required this.outline,
  required List<ResolvedShapePort> ports,
  int? textRevisionKey,
}) : _placement = (
       local: local,
       origin: origin,
       textRevisionKey: textRevisionKey,
     ),
     _reused = null,
     _text = null,
     _layers = null,
     _widgetSlots = null,
     definition = local.definition,
     contents = local.contents,
     collapseControlBounds = local.collapseControlBounds?.translate(origin),
     ports = List.unmodifiable(ports),
     super(
       id: local.id,
       isLocked: local.isLocked,
       zIndex: local.zIndex,
       bounds: local.bounds.translate(origin),
     );