getValue method

double getValue (
  1. TextStyleHtml tsh,
  2. {double baseValue,
  3. double scaleFactor}
)

Calculates value in logical pixel.

Implementation

double getValue(TextStyleHtml tsh, {double baseValue, double scaleFactor}) {
  double value;
  switch (unit) {
    case CssLengthUnit.em:
      baseValue ??= tsh.style.fontSize;
      value = baseValue * number;
      scaleFactor = 1;
      break;
    case CssLengthUnit.percentage:
      if (baseValue == null) return null;
      value = baseValue * number / 100;
      scaleFactor = 1;
      break;
    case CssLengthUnit.pt:
      value = number * 96 / 72;
      break;
    case CssLengthUnit.px:
      value = number;
      break;
  }

  if (value == null) return null;
  if (scaleFactor != null) value *= scaleFactor;

  return value;
}