backup. before shop update

This commit is contained in:
2021-08-31 13:28:33 -04:00
parent c378a6203c
commit 808ffa3211
292 changed files with 51551 additions and 695 deletions

View File

@@ -0,0 +1,111 @@
import 'package:flutter/material.dart';
import 'parabolic_animation_widget.dart';
import 'popup_animation_widget.dart';
class AnimationPointManager {
List<AnimatedWidget> list = [];
static AnimationController controller1;
static AnimationController controller2;
Future<void> addParabolicAniamtion({
@required TickerProvider vsync,
@required GlobalKey stackKey,
@required GlobalKey startKey,
@required GlobalKey endKey,
@required Duration duration,
@required AnimationStatusListener statusListener,
Color color = Colors.red,
double size = 20,
Offset startAdjustOffset = Offset.zero,
Offset endAdjustOffset = Offset.zero,
}) async {
controller1 = createController(vsync, duration);
Animation animation = createAnimation(controller1);
AnimatedWidget animatedWidget = ParabolicAnimationWidget(
animation: animation,
stackKey: stackKey,
startKey: startKey,
endKey: endKey,
size: size,
color: color,
startAdjustOffset: startAdjustOffset,
endAdjustOffset: endAdjustOffset,
);
list.add(animatedWidget);
statusListener(AnimationStatus.dismissed);
try {
await controller1.forward().orCancel;
list.remove(animatedWidget);
controller1.dispose();
print('Controller1 disposed');
} on TickerCanceled {
print("Ticker Canceled");
} catch (error) {
print('Error: $error');
}
statusListener(AnimationStatus.completed);
}
Future<void> addPopupAniamtion({
@required TickerProvider vsync,
@required GlobalKey stackKey,
@required GlobalKey startKey,
@required Widget child,
Duration duration,
Offset popupOffset = Offset.zero,
AnimationStatusListener statusListener,
}) async {
controller2 = createController(vsync, duration);
AnimatedWidget animatedWidget = PopupAnimationWidget(
animation: controller2.view,
stackKey: stackKey,
startKey: startKey,
child: child,
popupOffset: popupOffset,
);
list.add(animatedWidget);
statusListener(AnimationStatus.dismissed);
try {
await controller2.forward().orCancel;
await controller2.reverse().orCancel;
list.remove(animatedWidget);
controller2.dispose();
print('Controller2 disposed');
} on TickerCanceled {
print("Ticker Canceled");
} catch (error) {
print('Error: $error');
}
statusListener(AnimationStatus.completed);
}
static AnimationController createController(
TickerProvider vsync, Duration duration) {
AnimationController ani = AnimationController(
lowerBound: 0,
upperBound: 1,
duration: duration ?? Duration(milliseconds: 800),
vsync: vsync);
return ani;
}
static CurvedAnimation createAnimation(controller) {
return CurvedAnimation(parent: controller, curve: Curves.linear);
}
void dispose() {
try {
controller1?.dispose();
controller2?.dispose();
} catch (error) {
}
}
}