import method
Expects data
from toMap.
Implementation
void import(Map data) {
final list = <CubicPath>[];
final v2 = (data['version'] ?? 1) == 2;
final bounds = Size(data['bounds']['width'], data['bounds']['height']);
final paths = data['paths'] as Iterable;
final setups = data['setup'] as Iterable?;
if (v2) {
assert(setups != null);
assert(paths.length == setups!.length);
} else {
final threshold = data['threshold'];
final smoothRatio = data['smoothRatio'];
final velocityRange = data['velocityRange'];
setup = () => SignaturePathSetup(
threshold: threshold,
smoothRatio: smoothRatio,
velocityRange: velocityRange,
);
}
final count = paths.length;
for (int i = 0; i < count; i++) {
final points = List.from(paths.elementAt(i));
final setup =
v2 ? SignaturePathSetup.fromMap(setups!.elementAt(i)) : this.setup();
final cp = CubicPath(setup: setup);
cp.begin(OffsetPoint.fromMap(points[0]));
points.skip(1).forEach((element) => cp.add(OffsetPoint.fromMap(element)));
cp.end();
list.add(cp);
}
addPath(list, bounds);
}