SimpleLine.fromJson constructor
SimpleLine.fromJson(
- Map<String, dynamic> data
)
Implementation
factory SimpleLine.fromJson(Map<String, dynamic> data) {
// 兼容旧版本:如果有 points 就用新方式,否则用旧方式
final bool hasPoints = data.containsKey('points');
if (hasPoints) {
return SimpleLine.data(
minPointDistance: (data['minPointDistance'] ?? 2.0) as double,
useBezierCurve: (data['useBezierCurve'] ?? false) as bool,
points: (data['points'] as List<dynamic>)
.map((dynamic e) => jsonToOffset(e as Map<String, dynamic>))
.toList(),
paint: jsonToPaint(data['paint'] as Map<String, dynamic>),
);
} else {
// 旧版本兼容
return SimpleLine.data(
minPointDistance: (data['minPointDistance'] ?? 2.0) as double,
path: DrawPath.fromJson(data['path'] as Map<String, dynamic>),
paint: jsonToPaint(data['paint'] as Map<String, dynamic>),
);
}
}