fromWire static method
Implementation
static TextLayer? fromWire(Object? raw) {
if (raw is! Map) return null;
var paint = ScenePaint.fromWire(raw['paint']);
var blur = _wireDouble(raw['blur'], 0);
var dx = _wireDouble(raw['dx'], 0);
var dy = _wireDouble(raw['dy'], 0);
var opacity = _wireDouble(raw['o'], 1);
var box =
SceneLayerBox.values.asNameMap()[raw['box']] ?? SceneLayerBox.text;
var blend =
SceneBlendMode.values.asNameMap()[raw['blend']] ??
SceneBlendMode.normal;
return switch (raw['k']) {
'stroke' => StrokeLayer(
width: _wireDouble(raw['w'], 1),
join: switch (raw['j']) {
num i when i >= 0 && i < SceneStrokeJoin.values.length =>
SceneStrokeJoin.values[i.toInt()],
_ => SceneStrokeJoin.round,
},
paint: paint,
blur: blur,
dx: dx,
dy: dy,
opacity: opacity,
box: box,
blend: blend,
),
_ => FillLayer(
paint: paint,
blur: blur,
dx: dx,
dy: dy,
opacity: opacity,
box: box,
blend: blend,
),
};
}