undo method
void
undo()
Implementation
void undo() {
if (strokesNotifier.value.isNotEmpty) {
// Undo the last stroke.
final lastStroke = strokesNotifier.removeLastStroke();
_redoStackInternal.add(lastStroke); // Save it for redo.
_strokeCount = strokesNotifier.strokesCount;
_updateCanRedo();
_updateCanUndo();
currentStrokeNotifier.value = null;
} else if (_undoStackInternal.isNotEmpty) {
// Restore the last cleared state from the undo stack.
strokesNotifier.value = _undoStackInternal.removeLast();
_strokeCount = strokesNotifier.strokesCount;
_updateCanRedo();
_updateCanUndo();
}
}