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,
validate: false,
)!,
),
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;
}