setColorRgbaA method

void setColorRgbaA(
  1. PvrtcColorRgba c
)

Implementation

void setColorRgbaA(PvrtcColorRgba c) {
  final a = BitUtility.BITSCALE_8_TO_3_FLOOR[c.a];
  if (a == 7) {
    final r = BitUtility.BITSCALE_8_TO_5_FLOOR[c.r];
    final g = BitUtility.BITSCALE_8_TO_5_FLOOR[c.g];
    final b = BitUtility.BITSCALE_8_TO_4_FLOOR[c.b];
    colorA = r << 9 | g << 4 | b;
    colorAIsOpaque = 1;
  } else {
    final r = BitUtility.BITSCALE_8_TO_4_FLOOR[c.r];
    final g = BitUtility.BITSCALE_8_TO_4_FLOOR[c.g];
    final b = BitUtility.BITSCALE_8_TO_3_FLOOR[c.b];
    colorA = a << 11 | r << 7 | g << 3 | b;
    colorAIsOpaque = 0;
  }
}