setTransformWorld method

void setTransformWorld(
  1. DiagramToolPointer pointer,
  2. DiagramDragHandle handle,
  3. Set<String> selectedIds, {
  4. DiagramEditConnectorLabelOnClick? labelClick,
})

Implementation

void setTransformWorld(
  DiagramToolPointer pointer,
  DiagramDragHandle handle,
  Set<String> selectedIds, {
  DiagramEditConnectorLabelOnClick? labelClick,
}) {
  final plan = DiagramTransformPlan.capture(
    store.state.document,
    store.scene,
    selectedIds,
    switch (handle) {
      DiagramResizeHandle() => DiagramTransformOperation.resize,
      DiagramRotateHandle() => DiagramTransformOperation.rotate,
      _ => DiagramTransformOperation.move,
    },
    registry: store.diagram.resolver.registry,
    ownerId: handle is DiagramResizeHandle ? handle.elementId : null,
  );
  final baseline = DiagramTransformBaseline(
    origin: pointer.world,
    plan: plan,
    selectedIds: selectedIds,
    incidentConnections: handle is DiagramMoveHandle
        ? DiagramSelectionIndex.forDocument(store.state.document)
              .incidentConnections(plan.elements.keys)
        : const [],
    selectionBounds: plan.selectionBounds,
  );
  world = DiagramTransformGestureInteractionWorld(
    pointerId: pointer.pointerId,
    handle: handle is DiagramMoveHandle
        ? DiagramMoveHandle(
            click: handle.click,
            usesTranslationPreview: _canPreviewMoveAsTranslation(baseline),
          )
        : handle,
    labelClick: labelClick,
    groupFocusPath: groupFocusPath,
    baseline: baseline,
  );
}