decodeColorScheme static method
Decodes the given value
to an CardTheme. This expects the given
value
to follow the structure below:
{
"background": <Color>,
"brightness": <Brightness>,
"error": <Color>,
"errorContainer": <Color>,
"inversePrimary": <Color>,
"inverseSurface": <Color>,
"onBackground": <Color>,
"onError": <Color>,
"onErrorContainer": <Color>,
"onInverseSurface": <Color>,
"onPrimary": <Color>,
"onPrimaryContainer": <Color>,
"onSecondary": <Color>,
"onSecondaryContainer": <Color>,
"onSurface": <Color>,
"onSurfaceVariant": <Color>,
"onTertiary": <Color>,
"onTertiaryContainer": <Color>,
"outline": <Color>,
"primary": <Color>,
"primaryContainer": <Color>,
"secondary": <Color>,
"secondaryContainer": <Color>,
"shadow": <Color>,
"surface": <Color>,
"surfaceVariant": <Color>,
"tertiary": <Color>,
"tertiaryContainer": <Color>
}
See also:
Implementation
static ColorScheme? decodeColorScheme(
dynamic value, {
bool validate = true,
}) {
ColorScheme? result;
if (value is ColorScheme) {
result = value;
} else if (value != null) {
assert(SchemaValidator.validate(
schemaId: '$_baseSchemaUrl/color_scheme',
value: value,
validate: validate,
));
result = ColorScheme(
background: decodeColor(
value['background'],
validate: false,
)!,
brightness: decodeBrightness(
value['brightness'],
validate: false,
)!,
error: decodeColor(
value['error'],
validate: false,
)!,
errorContainer: decodeColor(
value['errorContainer'],
validate: false,
),
inversePrimary: decodeColor(
value['inversePrimary'],
validate: false,
),
inverseSurface: decodeColor(
value['inverseSurface'],
validate: false,
),
onBackground: decodeColor(
value['onBackground'],
validate: false,
)!,
onError: decodeColor(
value['onError'],
validate: false,
)!,
onErrorContainer: decodeColor(
value['onErrorContainer'],
validate: false,
),
onInverseSurface: decodeColor(
value['onInverseSurface'],
validate: false,
),
onPrimary: decodeColor(
value['onPrimary'],
validate: false,
)!,
onPrimaryContainer: decodeColor(
value['onPrimaryContainer'],
validate: false,
),
onSecondary: decodeColor(
value['onSecondary'],
validate: false,
)!,
onSecondaryContainer: decodeColor(
value['onSecondaryContainer'],
validate: false,
),
onSurface: decodeColor(
value['onSurface'],
validate: false,
)!,
onSurfaceVariant: decodeColor(
value['onSurfaceVariant'],
validate: false,
),
onTertiary: decodeColor(
value['onTertiary'],
validate: false,
),
onTertiaryContainer: decodeColor(
value['onTertiaryContainer'],
validate: false,
),
outline: decodeColor(
value['outline'],
validate: false,
),
primary: decodeColor(
value['primary'],
validate: false,
)!,
primaryContainer: decodeColor(
value['primaryContainer'] ?? value['primaryVariant'],
validate: false,
),
secondary: decodeColor(
value['secondary'],
validate: false,
)!,
secondaryContainer: decodeColor(
value['secondaryContainer'] ?? value['secondaryVariant'],
validate: false,
),
shadow: decodeColor(
value['shadow'],
validate: false,
),
surface: decodeColor(
value['surface'],
validate: false,
)!,
surfaceTint: decodeColor(
value['surfaceTint'],
validate: false,
),
surfaceVariant: decodeColor(
value['surfaceVariant'],
validate: false,
),
tertiary: decodeColor(
value['tertiary'],
validate: false,
),
tertiaryContainer: decodeColor(
value['tertiaryContainer'],
validate: false,
),
);
}
return result;
}