t backAlpha = background.alpha;
  if (backAlpha == 0xff) { &#47;&#47; Opaque background case
    return Color.fromARGB(
      0xff,
      (alpha * foreground.red + invAlpha * background.red) ~&#47; 0xff,
      (alpha * foreground.green + invAlpha * background.green) ~&#47; 0xff,
      (alpha * foreground.blue + invAlpha * background.blue) ~&#47; 0xff,
    );
  } else { &#47;&#47; General case
    backAlpha = (backAlpha * invAlpha) ~&#47; 0xff;
    final int outAlpha = alpha + backAlpha;
    assert(outAlpha 