Browse Source

Misc refactoring of PutImageData()

v1.x
Tj Holowaychuk 14 years ago
parent
commit
71a6ed5c06
  1. 16
      src/CanvasRenderingContext2d.cc

16
src/CanvasRenderingContext2d.cc

@ -414,10 +414,18 @@ Context2d::PutImageData(const Arguments &args) {
for (int x = 0; x < dw; ++x) { for (int x = 0; x < dw; ++x) {
int bx = x * 4; int bx = x * 4;
uint32_t *pixel = row + x + dx; uint32_t *pixel = row + x + dx;
*pixel = srcRows[bx + 3] << 24
| srcRows[bx + 0] << 16 // RGBA
| srcRows[bx + 1] << 8 uint8_t a = srcRows[bx + 3];
| srcRows[bx + 2]; uint8_t r = srcRows[bx + 0];
uint8_t g = srcRows[bx + 1];
uint8_t b = srcRows[bx + 3];
// ARGB
*pixel = a << 24
| r << 16
| g << 8
| b;
} }
srcRows += srcStride; srcRows += srcStride;
} }

Loading…
Cancel
Save