decodeSliderThemeData static method

SliderThemeData? decodeSliderThemeData(
  1. dynamic value, {
  2. bool validate = true,
})

Decodes the given value to a SliderThemeData. This expects the value to have the following structure:

{
  "activeTickMarkColor": <Color>,
  "activeTrackColor": <Color>,
  "disabledActiveTickMarkColor": <Color>,
  "disabledActiveTrackColor": <Color>,
  "disabledInactiveTickMarkColor": <Color>,
  "disabledInactiveTrackColor": <Color>,
  "disabledThumbColor": <Color>,
  "inactiveTickMarkColor": <Color>,
  "inactiveTrackColor": <Color>,
  "minThumbSeparation": <double>,
  "overlappingShapeStrokeColor": <Color>,
  "overlayColor": <Color>,
  "overlayShape": <SliderComponentShape>,
  "rangeThumbShape": <RangeSliderThumbShape>,
  "rangeTickMarkShape": <RangeSliderTickMarkShape>,
  "rangeTrackShape": <RangeSliderTrackShape>,
  "rangeValueIndicatorShape": <RangeSliderValueIndicatorShape>,
  "showValueIndicator": <ShowValueIndicator>,
  "thumbColor": <Color>,
  "thumbShape": <SliderComponentShape>,
  "tickMarkShape": <SliderTickMarkShape>,
  "trackHeight": <double>,
  "trackShape": <SliderTrackShape>,
  "valueIndicatorColor": <Color>,
  "valueIndicatorShape": <SliderComponentShape>,
  "valueIndicatorTextStyle": <TextStyle>
}

See also:

Implementation

static SliderThemeData? decodeSliderThemeData(
  dynamic value, {
  bool validate = true,
}) {
  SliderThemeData? result;

  if (value is SliderThemeData) {
    result = value;
  } else if (value != null) {
    assert(SchemaValidator.validate(
      schemaId: '$_baseSchemaUrl/slider_theme_data',
      value: value,
      validate: validate,
    ));
    result = SliderThemeData(
      activeTickMarkColor: decodeColor(
        value['activeTickMarkColor'],
        validate: false,
      ),
      activeTrackColor: decodeColor(
        value['activeTrackColor'],
        validate: false,
      ),
      disabledActiveTickMarkColor: decodeColor(
        value['disabledActiveTickMarkColor'],
        validate: false,
      ),
      disabledActiveTrackColor: decodeColor(
        value['disabledActiveTrackColor'],
        validate: false,
      ),
      disabledInactiveTickMarkColor: decodeColor(
        value['disabledInactiveTickMarkColor'],
        validate: false,
      ),
      disabledInactiveTrackColor: decodeColor(
        value['disabledInactiveTrackColor'],
        validate: false,
      ),
      disabledThumbColor: decodeColor(
        value['disabledThumbColor'],
        validate: false,
      ),
      inactiveTickMarkColor: decodeColor(
        value['inactiveTickMarkColor'],
        validate: false,
      ),
      inactiveTrackColor: decodeColor(
        value['inactiveTrackColor'],
        validate: false,
      ),
      minThumbSeparation: JsonClass.parseDouble(value['minThumbSeparation']),
      overlappingShapeStrokeColor: decodeColor(
        value['overlappingShapeStrokeColor'],
        validate: false,
      ),
      overlayColor: decodeColor(
        value['overlayColor'],
        validate: false,
      ),
      overlayShape: decodeSliderComponentShape(
        value['overlayShape'],
        validate: false,
      ),
      rangeThumbShape: decodeRangeSliderThumbShape(
        value['rangeThumbShape'],
        validate: false,
      ),
      rangeTickMarkShape: decodeRangeSliderTickMarkShape(
        value['rangeTickMarkShape'],
        validate: false,
      ),
      rangeTrackShape: decodeRangeSliderTrackShape(
        value['rangeTrackShape'],
        validate: false,
      ),
      rangeValueIndicatorShape: decodeRangeSliderValueIndicatorShape(
        value['rangeValueIndicatorShape'],
        validate: false,
      ),
      showValueIndicator: decodeShowValueIndicator(
        value['showValueIndicator'],
        validate: false,
      ),
      thumbColor: decodeColor(
        value['thumbColor'],
        validate: false,
      ),
      // @unencodable
      // thumbSelector
      thumbShape: decodeSliderComponentShape(
        value['thumbShape'],
        validate: false,
      ),
      tickMarkShape: decodeSliderTickMarkShape(
        value['tickMarkShape'],
        validate: false,
      ),
      trackHeight: JsonClass.parseDouble(value['trackHeight']),
      trackShape: decodeSliderTrackShape(
        value['trackShape'],
        validate: false,
      ),
      valueIndicatorColor: decodeColor(
        value['valueIndicatorColor'],
        validate: false,
      ),
      valueIndicatorShape: decodeSliderComponentShape(
        value['valueIndicatorShape'],
        validate: false,
      ),
      valueIndicatorTextStyle: decodeTextStyle(
        value['valueIndicatorTextStyle'],
        validate: false,
      ),
    );
  }

  return result;
}