… | |
… | |
84 | xi.bitmap_bit_order = LSBFirst; //XY only, unused |
84 | xi.bitmap_bit_order = LSBFirst; //XY only, unused |
85 | xi.bitmap_pad = BitmapPad (dpy); |
85 | xi.bitmap_pad = BitmapPad (dpy); |
86 | xi.depth = depth; |
86 | xi.depth = depth; |
87 | xi.bytes_per_line = 0; |
87 | xi.bytes_per_line = 0; |
88 | xi.bits_per_pixel = 32; //Z only |
88 | xi.bits_per_pixel = 32; //Z only |
89 | xi.red_mask = 0x000000ff; //Z only |
89 | xi.red_mask = 0x00000000; //Z only, unused |
90 | xi.green_mask = 0x0000ff00; //Z only |
90 | xi.green_mask = 0x00000000; //Z only, unused |
91 | xi.blue_mask = 0x00ff0000; //Z only |
91 | xi.blue_mask = 0x00000000; //Z only, unused |
92 | xi.obdata = 0; // probbaly unused |
92 | xi.obdata = 0; // probably unused |
93 | |
93 | |
94 | if (!XInitImage (&xi)) |
94 | if (!XInitImage (&xi)) |
95 | rxvt_fatal ("unable to initialise ximage, please report.\n"); |
95 | rxvt_fatal ("unable to initialise ximage, please report.\n"); |
96 | |
96 | |
97 | if (height > INT_MAX / xi.bytes_per_line) |
97 | if (height > INT_MAX / xi.bytes_per_line) |
… | |
… | |
127 | else |
127 | else |
128 | for (int x = 0; x < width; x++) |
128 | for (int x = 0; x < width; x++) |
129 | { |
129 | { |
130 | uint32_t v = *(uint32_t *)src; src += 4; |
130 | uint32_t v = *(uint32_t *)src; src += 4; |
131 | |
131 | |
132 | if (ecb_big_endian ()) |
132 | if (ecb_little_endian ()) |
133 | v = ecb_bswap32 (v); |
133 | v = ecb_bswap32 (v); |
|
|
134 | |
|
|
135 | v = ecb_rotr32 (v, 8); |
134 | |
136 | |
135 | *dst++ = v; |
137 | *dst++ = v; |
136 | } |
138 | } |
137 | |
139 | |
138 | row += rowstride; |
140 | row += rowstride; |