Files
lottie-flutter/lib/src/parser/rounded_corners_parser.dart
Xavier H bc3eb4621b Add latest feature/fixes from Lottie-Android (#209)
- Added support for rounded corners on shapes and rects
- Add support for text in dynamic properties (ValueDelegate)
- Improve stroke with offset
- Add support for reversed polystar paths
- Enforce order of operations to avoid rounding errors
2022-04-14 22:20:22 +02:00

40 lines
1020 B
Dart

import '../composition.dart';
import '../model/animatable/animatable_value.dart';
import '../model/content/rounded_corners.dart';
import 'animatable_value_parser.dart';
import 'moshi/json_reader.dart';
class RoundedCornersParser {
static final _names = JsonReaderOptions.of([
'nm', // 0
'r', // 1
'hd' // 1
]);
static RoundedCorners? parse(
JsonReader reader, LottieComposition composition) {
String? name;
AnimatableValue<double, double>? cornerRadius;
var hidden = false;
while (reader.hasNext()) {
switch (reader.selectName(_names)) {
case 0: //nm
name = reader.nextString();
break;
case 1: // r
cornerRadius =
AnimatableValueParser.parseFloat(reader, composition, isDp: true);
break;
case 2: // hd
hidden = reader.nextBoolean();
break;
default:
reader.skipValue();
}
}
return hidden ? null : RoundedCorners(name!, cornerRadius!);
}
}