decodeBoxDecoration static method
Decodes the given value
into a BoxDecoration. If the value is null
then null
will be returned. Otherwise, this expects a Map like value
that in JSON would look like:
{
"backgroundBlendMode": <BlendMode>,
"border": <BoxBorder>,
"borderRadius": <BorderRadius>,
"boxShadow": <BoxShadow[]>
"color": <Color>,
"image": <DecorationImage>,
"gradient": <Gradient>,
"shape": <BoxShape>
}
See also:
Implementation
static BoxDecoration? decodeBoxDecoration(
dynamic value, {
bool validate = true,
}) {
BoxDecoration? result;
if (value is BoxDecoration) {
result = value;
} else if (value != null) {
assert(SchemaValidator.validate(
schemaId: '$_baseSchemaUrl/box_decoration',
value: value,
validate: validate,
));
result = BoxDecoration(
backgroundBlendMode: decodeBlendMode(
value['backgroundBlendMode'],
validate: false,
),
border: decodeBoxBorder(
value['border'],
validate: false,
),
borderRadius: decodeBorderRadius(
value['borderRadius'],
validate: false,
),
boxShadow: _decodeDynamicList(
value['boxShadow'],
(value) => decodeBoxShadow(value)!,
),
color: decodeColor(
value['color'],
validate: false,
),
gradient: decodeGradient(
value['gradient'],
validate: false,
),
image: decodeDecorationImage(
value['image'],
validate: false,
),
shape: decodeBoxShape(
value['shape'],
validate: false,
) ??
BoxShape.rectangle,
);
}
return result;
}