decodeBlendMode static method

BlendMode? decodeBlendMode(
  1. dynamic value, {
  2. bool validate = true,
})

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;
}