decodeBlendMode static method
Decodes the given value
to an BlendMode. Supported values are:
clear
color
colorBurn
colorDodge
darken
difference
dst
dstATop
dstIn
dstOut
dstOver
exclusion
hardLight
hue
lighten
luminosity
modulate
multiply
overlay
plus
saturation
screen
softLight
src
srcATop
srcIn
srcOut
srcOver
xor
Implementation
static BlendMode? decodeBlendMode(
dynamic value, {
bool validate = true,
}) {
BlendMode? result;
if (value is BlendMode) {
result = value;
} else {
_checkSupported(
'BlendMode',
[
'clear',
'color',
'colorBurn',
'colorDodge',
'darken',
'difference',
'dst',
'dstATop',
'dstIn',
'dstOut',
'dstOver',
'exclusion',
'hardLight',
'hue',
'lighten',
'luminosity',
'modulate',
'multiply',
'overlay',
'plus',
'saturation',
'screen',
'softLight',
'src',
'srcATop',
'srcIn',
'srcOut',
'srcOver',
'xor',
],
value,
);
if (value != null) {
assert(SchemaValidator.validate(
schemaId: '$_baseSchemaUrl/blend_mode',
value: value,
validate: validate,
));
switch (value) {
case 'clear':
result = BlendMode.clear;
break;
case 'color':
result = BlendMode.color;
break;
case 'colorBurn':
result = BlendMode.colorBurn;
break;
case 'colorDodge':
result = BlendMode.colorDodge;
break;
case 'darken':
result = BlendMode.darken;
break;
case 'difference':
result = BlendMode.difference;
break;
case 'dst':
result = BlendMode.dst;
break;
case 'dstATop':
result = BlendMode.dstATop;
break;
case 'dstIn':
result = BlendMode.dstIn;
break;
case 'dstOut':
result = BlendMode.dstOut;
break;
case 'dstOver':
result = BlendMode.dstOver;
break;
case 'exclusion':
result = BlendMode.exclusion;
break;
case 'hardLight':
result = BlendMode.hardLight;
break;
case 'hue':
result = BlendMode.hue;
break;
case 'lighten':
result = BlendMode.lighten;
break;
case 'luminosity':
result = BlendMode.luminosity;
break;
case 'modulate':
result = BlendMode.modulate;
break;
case 'multiply':
result = BlendMode.multiply;
break;
case 'overlay':
result = BlendMode.overlay;
break;
case 'plus':
result = BlendMode.plus;
break;
case 'saturation':
result = BlendMode.saturation;
break;
case 'screen':
result = BlendMode.screen;
break;
case 'softLight':
result = BlendMode.softLight;
break;
case 'src':
result = BlendMode.src;
break;
case 'srcATop':
result = BlendMode.srcATop;
break;
case 'srcIn':
result = BlendMode.srcIn;
break;
case 'srcOut':
result = BlendMode.srcOut;
break;
case 'srcOver':
result = BlendMode.srcOver;
break;
case 'xor':
result = BlendMode.xor;
break;
}
}
}
return result;
}