runFrame<T> method
T
runFrame<T>({
- required State captureState(),
- required T body(),
- void onCommittedChange()?,
Implementation
T runFrame<T>({
required State Function() captureState,
required T Function() body,
void Function()? onCommittedChange,
}) {
final wasActive = _frameActive;
State? beforeState;
if (!wasActive) {
_frameActive = true;
_didRecordUndoSnapshot = false;
beforeState = captureState();
}
try {
return body();
} finally {
if (!wasActive) {
_finalizeFrame(
beforeState as State,
captureState: captureState,
onCommittedChange: onCommittedChange,
);
_frameActive = false;
_didRecordUndoSnapshot = false;
_currentAction = null;
}
}
}