wrapWidget method
Implementation
@override
Widget wrapWidget(
BuildContext context, Widget child, AnimatedWidgetBuilderData data) {
if (data.measuring) return child;
final originalChild = child;
final Key? key = child.key != null ? _SaltedValueKey(child.key!) : null;
if (morphComparator != null) {
child = MorphTransition(
duration: morphDuration,
resizeWidgets: morphResizeWidgets,
comparator: morphComparator!,
child: child);
}
if (addAnimatedElevation != 0.0 && reorderModel != null) {
child = Material(
elevation: data.dragging ? addAnimatedElevation : 0.0,
child: child,
);
}
if (addFadeTransition) {
child = FadeTransition(opacity: data.animation, child: child);
}
if (addLongPressReorderable && reorderModel != null) {
child = LongPressReorderable(child: child);
}
if (addRepaintBoundaries) {
child = RepaintBoundary(child: child);
}
// if (addSemanticIndexes) {
// final int? semanticIndex = semanticIndexCallback(child, index);
// if (semanticIndex != null) {
// child = IndexedSemantics(
// index: semanticIndex + semanticIndexOffset, child: child);
// }
// }
if (addAutomaticKeepAlives) {
child = AutomaticKeepAlive(child: child);
}
child = KeyedSubtree(key: key, child: child);
if (kDebugMode) {
child = _DebugWidget(child, () => originalChild.toStringShort());
}
return child;
}