decodeHitTestBehavior static method

HitTestBehavior? decodeHitTestBehavior(
  1. dynamic value, {
  2. bool validate = true,
})

Decodes the given value into a HitTestBehavior. Supported values are:

  • deferToChild
  • opaque
  • translucent

Implementation

static HitTestBehavior? decodeHitTestBehavior(
  dynamic value, {
  bool validate = true,
}) {
  HitTestBehavior? result;
  if (value is HitTestBehavior) {
    result = value;
  } else {
    _checkSupported(
      'HitTestBehavior',
      [
        'deferToChild',
        'opaque',
        'translucent',
      ],
      value,
    );

    if (value != null) {
      assert(SchemaValidator.validate(
        schemaId: '$_baseSchemaUrl/hit_test_behavior',
        value: value,
        validate: validate,
      ));
      switch (value) {
        case 'deferToChild':
          result = HitTestBehavior.deferToChild;
          break;

        case 'opaque':
          result = HitTestBehavior.opaque;
          break;

        case 'translucent':
          result = HitTestBehavior.translucent;
          break;
      }
    }
  }

  return result;
}