- r = clamp(((r + offset) * scale) >> 8);
- g = clamp(((g + offset) * scale) >> 8);
- b = clamp(((b + offset) * scale) >> 8);
- a |= aMask;
- scanline[x] = qRgba(r, g, b, a);
+ if (alpha) {
+ a = clamp(((a + offset) * scale) >> 8);
+ scanline[x] = qRgba(a, a, a, 0xff);
+ } else {
+ r = clamp(((r + offset) * scale) >> 8);
+ g = clamp(((g + offset) * scale) >> 8);
+ b = clamp(((b + offset) * scale) >> 8);
+ a |= aMask;
+ scanline[x] = qRgba(r, g, b, a);
+ }