/* GIMP RGB C-Source image dump 1-byte-run-length-encoded (Bez nazwy.c) */ #define GIMP_IMAGE_RUN_LENGTH_DECODE(image_buf, rle_data, size, bpp) do \ { unsigned int __bpp; unsigned char *__ip; const unsigned char *__il, *__rd; \ __bpp = (bpp); __ip = (image_buf); __il = __ip + (size) * __bpp; \ __rd = (rle_data); if (__bpp > 3) { /* RGBA */ \ while (__ip < __il) { unsigned int __l = *(__rd++); \ if (__l & 128) { __l = __l - 128; \ do { memcpy (__ip, __rd, 4); __ip += 4; } while (--__l); __rd += 4; \ } else { __l *= 4; memcpy (__ip, __rd, __l); \ __ip += __l; __rd += __l; } } \ } else if (__bpp == 3) { /* RGB */ \ while (__ip < __il) { unsigned int __l = *(__rd++); \ if (__l & 128) { __l = __l - 128; \ do { memcpy (__ip, __rd, 3); __ip += 3; } while (--__l); __rd += 3; \ } else { __l *= 3; memcpy (__ip, __rd, __l); \ __ip += __l; __rd += __l; } } \ } else { /* RGB16 */ \ while (__ip < __il) { unsigned int __l = *(__rd++); \ if (__l & 128) { __l = __l - 128; \ do { memcpy (__ip, __rd, 2); __ip += 2; } while (--__l); __rd += 2; \ } else { __l *= 2; memcpy (__ip, __rd, __l); \ __ip += __l; __rd += __l; } } \ } } while (0) static const struct { unsigned int width; unsigned int height; unsigned int bytes_per_pixel; /* 2:RGB16, 3:RGB, 4:RGBA */ unsigned char rle_pixel_data[260 + 1]; } gimp_image = { 128, 64, 3, "\377\000\000\000\377\000\000\000\377\000\000\000\377\000\000\000\377\000\000\000\377\000\000\000\377\000\000\000\377" "\000\000\000\377\000\000\000\377\000\000\000\377\000\000\000\377\000\000\000\377\000\000\000\377\000\000\000\377\000" "\000\000\377\000\000\000\377\000\000\000\377\000\000\000\377\000\000\000\377\000\000\000\377\000\000\000\377\000\000" "\000\377\000\000\000\377\000\000\000\377\000\000\000\377\000\000\000\377\000\000\000\377\000\000\000\377\000\000\000" "\377\000\000\000\377\000\000\000\377\000\000\000\377\000\000\000\377\000\000\000\377\000\000\000\377\000\000\000\377" "\000\000\000\377\000\000\000\377\000\000\000\377\000\000\000\377\000\000\000\377\000\000\000\377\000\000\000\377\000" "\000\000\377\000\000\000\377\000\000\000\377\000\000\000\377\000\000\000\377\000\000\000\377\000\000\000\377\000\000" "\000\377\000\000\000\377\000\000\000\377\000\000\000\377\000\000\000\377\000\000\000\377\000\000\000\377\000\000\000" "\377\000\000\000\377\000\000\000\377\000\000\000\377\000\000\000\377\000\000\000\377\000\000\000\300\000\000\000", };