-
-
Notifications
You must be signed in to change notification settings - Fork 142
/
flare_integration.dart
75 lines (62 loc) · 1.95 KB
/
flare_integration.dart
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
import '../../settings/asset_type.dart';
import 'integration.dart';
class FlareIntegration extends Integration {
FlareIntegration(String packageParameterLiteral)
: super(packageParameterLiteral);
String? get packageExpression => packageParameterLiteral.isNotEmpty
? 'packages/$packageParameterLiteral/'
: null;
@override
List<String> get requiredImports => [
'package:flare_flutter/flare_actor.dart',
'package:flare_flutter/flare_controller.dart',
];
@override
String get classOutput => _classDefinition;
String get _classDefinition => '''class FlareGenImage {
const FlareGenImage(this._assetName);
final String _assetName;
FlareActor flare({
String? boundsNode,
String? animation,
BoxFit fit = BoxFit.contain,
Alignment alignment = Alignment.center,
bool isPaused = false,
bool snapToEnd = false,
FlareController? controller,
FlareCompletedCallback? callback,
Color? color,
bool shouldClip = true,
bool sizeFromArtboard = false,
String? artboard,
bool antialias = true,
}) {
return FlareActor(
${packageExpression == null ? '_assetName' : '\'$packageExpression\$_assetName\''},
boundsNode: boundsNode,
animation: animation,
fit: fit,
alignment: alignment,
isPaused: isPaused,
snapToEnd: snapToEnd,
controller: controller,
callback: callback,
color: color,
shouldClip: shouldClip,
sizeFromArtboard: sizeFromArtboard,
artboard: artboard,
antialias: antialias,
);
}
String get path => _assetName;
String get keyName => ${packageExpression == null ? '_assetName' : '\'$packageExpression\$_assetName\''};
}''';
@override
String get className => 'FlareGenImage';
@override
String classInstantiate(String path) => 'FlareGenImage(\'$path\')';
@override
bool isSupport(AssetType type) => type.extension == '.flr';
@override
bool get isConstConstructor => true;
}