parseFontSize method

double? parseFontSize(
  1. String? raw, {
  2. double? parentValue,
})

Parses a font-size attribute.

Implementation

double? parseFontSize(
  String? raw, {
  double? parentValue,
}) {
  if (raw == null || raw == '') {
    return null;
  }

  double? ret = parseDoubleWithUnits(
    raw,
    tryParse: true,
  );
  if (ret != null) {
    return ret;
  }

  raw = raw.toLowerCase().trim();
  ret = _kTextSizeMap[raw];
  if (ret != null) {
    return ret;
  }

  if (raw == 'larger') {
    if (parentValue == null) {
      return _kTextSizeMap['large'];
    }
    return parentValue * 1.2;
  }

  if (raw == 'smaller') {
    if (parentValue == null) {
      return _kTextSizeMap['small'];
    }
    return parentValue / 1.2;
  }

  throw StateError('Could not parse font-size: $raw');
}