flipSelectionVertical method
void
flipSelectionVertical(
{ - int? timestampMs,
})
Implementation
void flipSelectionVertical({int? timestampMs}) {
var affected = 0;
Transform2D? delta;
final movedIds = <NodeId>[];
_core.write<void>((writer) {
final nodes = selectedTransformableNodesInSceneOrder(
writer.scene,
writer.selectedNodeIds,
).where((node) => !node.isLocked).toList(growable: false);
if (nodes.isEmpty) return;
final center = centerWorldForNodes(nodes);
delta = Transform2D(a: 1, b: 0, c: 0, d: -1, tx: 0, ty: 2 * center.dy);
affected = writer.writeSelectionTransform(delta!);
if (affected > 0) {
movedIds.addAll(nodes.map((n) => n.id));
}
});
if (affected > 0 && delta != null) {
_events.emitAction(
ActionType.transform,
movedIds,
_resolveTimestampMs(timestampMs),
payload: <String, Object?>{'delta': delta!.toJsonMap()},
);
}
}