decodeCheckboxThemeData static method

CheckboxThemeData? decodeCheckboxThemeData(
  1. dynamic value, {
  2. bool validate = true,
})

Decodes the given value to an CheckboxThemeData. This expects the given value to follow the structure below:

{
  "checkColor": <Color>,
  "fillColor": <MaterialStateProperty<Color>>,
  "materialTapTargetSize": <MaterialTapTargetSize>,
  "mouseCursor": <MaterialStateProperty<MouseCursor>>,
  "overlayColor": <MaterialStateProperty<Color>>,
  "splashRadius": <double>,
  "visualDensity": <VisualDensity>
}

See also:

Implementation

static CheckboxThemeData? decodeCheckboxThemeData(
  dynamic value, {
  bool validate = true,
}) {
  CheckboxThemeData? result;

  if (value is CheckboxThemeData) {
    result = value;
  } else if (value != null) {
    assert(SchemaValidator.validate(
      schemaId: '$_baseSchemaUrl/checkbox_theme_data',
      value: value,
      validate: validate,
    ));
    result = CheckboxThemeData(
      checkColor: decodeMaterialStatePropertyColor(
        value['checkColor'],
        validate: false,
      ),
      fillColor: decodeMaterialStatePropertyColor(
        value['fillColor'],
        validate: false,
      ),
      materialTapTargetSize: decodeMaterialTapTargetSize(
        value['materialTapTargetSize'],
        validate: false,
      ),
      mouseCursor: decodeMaterialStatePropertyMouseCursor(
        value['mouseCursor'],
        validate: false,
      ),
      overlayColor: decodeMaterialStatePropertyColor(
        value['overlayColor'],
        validate: false,
      ),
      splashRadius: JsonClass.parseDouble(value['splashRadius']),
      visualDensity: decodeVisualDensity(
        value['visualDensity'],
        validate: false,
      ),
    );
  }

  return result;
}