decodeArcLabelDecorator<D> static method
Decodes the object from a Map-like dynamic structure. This expects the JSON format to be of the following structure:
{
"insideLabelStyleSpec": <TextStyleSpec>,
"labelPadding": <int>,
"labelPosition": <ArcLabelPosition>,
"leaderLineColor": <Color>,
"leaderLineStyleSpec": <ArcLabelLeaderLineStyleSpec>,
"outsideLabelStyleSpec": <TextStyleSpec>,
"showLeaderLines": <bool>
}
See also:
Implementation
static common.ArcLabelDecorator<D>? decodeArcLabelDecorator<D>(
dynamic map, {
bool validate = false,
}) {
common.ArcLabelDecorator<D>? result;
if (map is common.ArcLabelDecorator<D>) {
result = map;
} else if (map != null) {
assert(SchemaValidator.validate(
schemaId: '$_baseSchemaUrl/arc_label_decorator',
value: map,
validate: validate,
));
result = common.ArcLabelDecorator<D>(
insideLabelStyleSpec: decodeTextStyleSpec(
map['insideLabelStyleSpec'],
validate: false,
),
labelPadding: JsonClass.parseInt(map['labelPadding']) ?? 5,
labelPosition: decodeArcLabelPosition(
map['labelPosition'],
validate: false,
) ??
common.ArcLabelPosition.auto,
leaderLineColor: decodeColor(
map['leaderLineColor'],
validate: false,
),
leaderLineStyleSpec: decodeArcLabelLeaderLineStyleSpec(
map['leaderLineStyleSpec'],
validate: false,
),
outsideLabelStyleSpec: decodeTextStyleSpec(
map['outsideLabelStyleSpec'],
validate: false,
),
showLeaderLines: JsonClass.parseBool(
map['showLeaderLines'],
whenNull: true,
),
);
}
return result;
}