kwo pushed a commit to branch master. http://git.enlightenment.org/legacy/imlib2.git/commit/?id=89432fff5e1c01a3a9c3e9fce511086fc6d2043c
commit 89432fff5e1c01a3a9c3e9fce511086fc6d2043c Author: Kim Woelders <k...@woelders.dk> Date: Sat May 26 19:19:55 2018 +0200 Use common PIXEL_ARGB() macro to compose pixels --- src/lib/common.h | 2 ++ src/lib/font_draw.c | 2 +- src/lib/grad.c | 12 +++++------ src/lib/rgbadraw.c | 10 ++++----- src/lib/scale.c | 45 +++++++++++++++++++-------------------- src/modules/loaders/loader_gif.c | 2 +- src/modules/loaders/loader_pnm.c | 12 +++++------ src/modules/loaders/loader_tiff.c | 8 +++---- src/modules/loaders/loader_xpm.c | 15 ++++++------- 9 files changed, 52 insertions(+), 56 deletions(-) diff --git a/src/lib/common.h b/src/lib/common.h index d7496af..7d282a4 100644 --- a/src/lib/common.h +++ b/src/lib/common.h @@ -34,6 +34,8 @@ #define SWAP_LE_32(x) #endif +#define PIXEL_ARGB(a, r, g, b) ((a) << 24) | ((r) << 16) | ((g) << 8) | (b) + #ifdef DO_MMX_ASM int __imlib_get_cpuid(void); diff --git a/src/lib/font_draw.c b/src/lib/font_draw.c index 8ca6c25..7faac47 100644 --- a/src/lib/font_draw.c +++ b/src/lib/font_draw.c @@ -96,7 +96,7 @@ __imlib_render_str(ImlibImage * im, ImlibFont * fn, int drx, int dry, SET_FLAG(im2->flags, F_HAS_ALPHA); /* TODO check for endianess */ - col = (a << 24) | (r << 16) | (g << 8) | b; + col = PIXEL_ARGB(a, r, g, b); ascent = __imlib_font_max_ascent_get(fn); diff --git a/src/lib/grad.c b/src/lib/grad.c index 47d674c..b5085b2 100644 --- a/src/lib/grad.c +++ b/src/lib/grad.c @@ -100,7 +100,7 @@ __imlib_MapRange(ImlibRange * rg, int len) g = ((p->green * v2) + (p->next->green * v1)) >> 16; b = ((p->blue * v2) + (p->next->blue * v1)) >> 16; a = ((p->alpha * v2) + (p->next->alpha * v1)) >> 16; - pmap[i++] = (a << 24) | (r << 16) | (g << 8) | b; + pmap[i++] = PIXEL_ARGB(a, r, g, b); } } else @@ -109,7 +109,7 @@ __imlib_MapRange(ImlibRange * rg, int len) g = p->green; b = p->blue; a = p->alpha; - pmap[i++] = (a << 24) | (r << 16) | (g << 8) | b; + pmap[i++] = PIXEL_ARGB(a, r, g, b); } } inc = ((ll - 1) << 16) / (len - 1); @@ -135,7 +135,7 @@ __imlib_MapRange(ImlibRange * rg, int len) g = ((g * v2) + (gg * v1)) >> 16; b = ((b * v2) + (bb * v1)) >> 16; a = ((a * v2) + (aa * v1)) >> 16; - map[i] = (a << 24) | (r << 16) | (g << 8) | b; + map[i] = PIXEL_ARGB(a, r, g, b); l += inc; } free(pmap); @@ -182,7 +182,7 @@ __imlib_MapHsvaRange(ImlibRange * rg, int len) __imlib_hsv_to_rgb(h, s, v, &r, &g, &b); a = (unsigned long int)((p->alpha * k2) + (p->next->alpha * k1)) >> 16; - pmap[i++] = (a << 24) | (r << 16) | (g << 8) | b; + pmap[i++] = PIXEL_ARGB(a, r, g, b); } } else @@ -191,7 +191,7 @@ __imlib_MapHsvaRange(ImlibRange * rg, int len) g = p->green; b = p->blue; a = p->alpha; - pmap[i++] = (a << 24) | (r << 16) | (g << 8) | b; + pmap[i++] = PIXEL_ARGB(a, r, g, b); } } inc = ((ll - 1) << 16) / (len - 1); @@ -220,7 +220,7 @@ __imlib_MapHsvaRange(ImlibRange * rg, int len) v = ((v1 * k2) + (v2 * k1)) / 65536.0; __imlib_hsv_to_rgb(h, s, v, &r, &g, &b); a = (unsigned long int)((a * k2) + (aa * k1)) >> 16; - map[i] = (a << 24) | (r << 16) | (g << 8) | b; + map[i] = PIXEL_ARGB(a, r, g, b); l += inc; } free(pmap); diff --git a/src/lib/rgbadraw.c b/src/lib/rgbadraw.c index 90201e6..6ac5e21 100644 --- a/src/lib/rgbadraw.c +++ b/src/lib/rgbadraw.c @@ -233,7 +233,7 @@ __imlib_BlurImage(ImlibImage * im, int rad) r = r / mt; g = g / mt; b = b / mt; - *p1 = (a << 24) | (r << 16) | (g << 8) | b; + *p1 = PIXEL_ARGB(a, r, g, b); p1++; } } @@ -296,7 +296,7 @@ __imlib_SharpenImage(ImlibImage * im, int rad) b = (b & ((~b) >> 16)); b = ((b | ((b & 256) - ((b & 256) >> 8)))); - *p2 = (a << 24) | (r << 16) | (g << 8) | b; + *p2 = PIXEL_ARGB(a, r, g, b); p2++; p1++; } @@ -342,7 +342,7 @@ __imlib_TileImageHoriz(ImlibImage * im) nb = bb + ((tmp + (tmp >> 8) + 0x80) >> 8); tmp = (a - aa) * mix; na = aa + ((tmp + (tmp >> 8) + 0x80) >> 8); - *p = (na << 24) | (nr << 16) | (ng << 8) | nb; + *p = PIXEL_ARGB(na, nr, ng, nb); p++; p1++; p2++; @@ -370,7 +370,7 @@ __imlib_TileImageHoriz(ImlibImage * im) nb = bb + ((tmp + (tmp >> 8) + 0x80) >> 8); tmp = (a - aa) * mix; na = aa + ((tmp + (tmp >> 8) + 0x80) >> 8); - *p = (na << 24) | (nr << 16) | (ng << 8) | nb; + *p = PIXEL_ARGB(na, nr, ng, nb); p++; p1++; p2++; @@ -422,7 +422,7 @@ __imlib_TileImageVert(ImlibImage * im) nb = bb + ((tmp + (tmp >> 8) + 0x80) >> 8); tmp = (a - aa) * mix; na = aa + ((tmp + (tmp >> 8) + 0x80) >> 8); - *p = (na << 24) | (nr << 16) | (ng << 8) | nb; + *p = PIXEL_ARGB(na, nr, ng, nb); p++; p1++; p2++; diff --git a/src/lib/scale.c b/src/lib/scale.c index b0f3bc5..9c63ffc 100644 --- a/src/lib/scale.c +++ b/src/lib/scale.c @@ -16,7 +16,6 @@ struct _imlib_scale_info { DATA32 *pix_assert; }; -#define RGBA_COMPOSE(r, g, b, a) ((a) << 24) | ((r) << 16) | ((g) << 8) | (b) #define INV_XAP (256 - xapoints[x]) #define XAP (xapoints[x]) #define INV_YAP (256 - yapoints[dyy + y]) @@ -362,7 +361,7 @@ __imlib_ScaleAARGBA(ImlibScaleInfo * isi, DATA32 * dest, int dxx, int dyy, g = ((gg * YAP) + (g * INV_YAP)) >> 16; b = ((bb * YAP) + (b * INV_YAP)) >> 16; a = ((aa * YAP) + (a * INV_YAP)) >> 16; - *dptr++ = RGBA_COMPOSE(r, g, b, a); + *dptr++ = PIXEL_ARGB(a, r, g, b); } else { @@ -380,7 +379,7 @@ __imlib_ScaleAARGBA(ImlibScaleInfo * isi, DATA32 * dest, int dxx, int dyy, g >>= 8; b >>= 8; a >>= 8; - *dptr++ = RGBA_COMPOSE(r, g, b, a); + *dptr++ = PIXEL_ARGB(a, r, g, b); } } } @@ -407,7 +406,7 @@ __imlib_ScaleAARGBA(ImlibScaleInfo * isi, DATA32 * dest, int dxx, int dyy, g >>= 8; b >>= 8; a >>= 8; - *dptr++ = RGBA_COMPOSE(r, g, b, a); + *dptr++ = PIXEL_ARGB(a, r, g, b); } else *dptr++ = sptr[xpoints[x]]; @@ -496,7 +495,7 @@ __imlib_ScaleAARGBA(ImlibScaleInfo * isi, DATA32 * dest, int dxx, int dyy, b >>= 4; a >>= 4; } - *dptr = RGBA_COMPOSE(r, g, b, a); + *dptr = PIXEL_ARGB(a, r, g, b); dptr++; } } @@ -544,7 +543,7 @@ __imlib_ScaleAARGBA(ImlibScaleInfo * isi, DATA32 * dest, int dxx, int dyy, g = (g + ((gg * XAP) / yap)) >> 8; b = (b + ((bb * XAP) / yap)) >> 8; a = (a + ((aa * XAP) / yap)) >> 8; - *dptr++ = RGBA_COMPOSE(r, g, b, a); + *dptr++ = PIXEL_ARGB(a, r, g, b); } else { @@ -561,7 +560,7 @@ __imlib_ScaleAARGBA(ImlibScaleInfo * isi, DATA32 * dest, int dxx, int dyy, g /= yap; b /= yap; a /= yap; - *dptr++ = RGBA_COMPOSE(r, g, b, a); + *dptr++ = PIXEL_ARGB(a, r, g, b); } } } @@ -589,7 +588,7 @@ __imlib_ScaleAARGBA(ImlibScaleInfo * isi, DATA32 * dest, int dxx, int dyy, g >>= 8; b >>= 8; a >>= 8; - *dptr++ = RGBA_COMPOSE(r, g, b, a); + *dptr++ = PIXEL_ARGB(a, r, g, b); } else *dptr++ = sptr[xpoints[x]]; @@ -679,7 +678,7 @@ __imlib_ScaleAARGBA(ImlibScaleInfo * isi, DATA32 * dest, int dxx, int dyy, b >>= 4; a >>= 4; } - *dptr = RGBA_COMPOSE(r, g, b, a); + *dptr = PIXEL_ARGB(a, r, g, b); dptr++; } } @@ -728,7 +727,7 @@ __imlib_ScaleAARGBA(ImlibScaleInfo * isi, DATA32 * dest, int dxx, int dyy, g = (g + ((gg * YAP) / xap)) >> 8; b = (b + ((bb * YAP) / xap)) >> 8; a = (a + ((aa * YAP) / xap)) >> 8; - *dptr++ = RGBA_COMPOSE(r, g, b, a); + *dptr++ = PIXEL_ARGB(a, r, g, b); } else { @@ -746,7 +745,7 @@ __imlib_ScaleAARGBA(ImlibScaleInfo * isi, DATA32 * dest, int dxx, int dyy, g >>= 8; b >>= 8; a >>= 8; - *dptr++ = RGBA_COMPOSE(r, g, b, a); + *dptr++ = PIXEL_ARGB(a, r, g, b); } } } @@ -773,7 +772,7 @@ __imlib_ScaleAARGBA(ImlibScaleInfo * isi, DATA32 * dest, int dxx, int dyy, g /= xap; b /= xap; a /= xap; - *dptr++ = RGBA_COMPOSE(r, g, b, a); + *dptr++ = PIXEL_ARGB(a, r, g, b); } else *dptr++ = sptr[xpoints[x]]; @@ -1006,7 +1005,7 @@ __imlib_ScaleAARGB(ImlibScaleInfo * isi, DATA32 * dest, int dxx, int dyy, r = ((rr * YAP) + (r * INV_YAP)) >> 16; g = ((gg * YAP) + (g * INV_YAP)) >> 16; b = ((bb * YAP) + (b * INV_YAP)) >> 16; - *dptr++ = RGBA_COMPOSE(r, g, b, 0xff); + *dptr++ = PIXEL_ARGB(0xff, r, g, b); } else { @@ -1021,7 +1020,7 @@ __imlib_ScaleAARGB(ImlibScaleInfo * isi, DATA32 * dest, int dxx, int dyy, r >>= 8; g >>= 8; b >>= 8; - *dptr++ = RGBA_COMPOSE(r, g, b, 0xff); + *dptr++ = PIXEL_ARGB(0xff, r, g, b); } } } @@ -1045,7 +1044,7 @@ __imlib_ScaleAARGB(ImlibScaleInfo * isi, DATA32 * dest, int dxx, int dyy, r >>= 8; g >>= 8; b >>= 8; - *dptr++ = RGBA_COMPOSE(r, g, b, 0xff); + *dptr++ = PIXEL_ARGB(0xff, r, g, b); } else *dptr++ = sptr[xpoints[x]]; @@ -1123,7 +1122,7 @@ __imlib_ScaleAARGB(ImlibScaleInfo * isi, DATA32 * dest, int dxx, int dyy, g >>= 4; b >>= 4; } - *dptr = RGBA_COMPOSE(r, g, b, 0xff); + *dptr = PIXEL_ARGB(0xff, r, g, b); dptr++; } } @@ -1167,7 +1166,7 @@ __imlib_ScaleAARGB(ImlibScaleInfo * isi, DATA32 * dest, int dxx, int dyy, r = (r + ((rr * XAP) / yap)) >> 8; g = (g + ((gg * XAP) / yap)) >> 8; b = (b + ((bb * XAP) / yap)) >> 8; - *dptr++ = RGBA_COMPOSE(r, g, b, 0xff); + *dptr++ = PIXEL_ARGB(0xff, r, g, b); } else { @@ -1182,7 +1181,7 @@ __imlib_ScaleAARGB(ImlibScaleInfo * isi, DATA32 * dest, int dxx, int dyy, r /= yap; g /= yap; b /= yap; - *dptr++ = RGBA_COMPOSE(r, g, b, 0xff); + *dptr++ = PIXEL_ARGB(0xff, r, g, b); } } } @@ -1206,7 +1205,7 @@ __imlib_ScaleAARGB(ImlibScaleInfo * isi, DATA32 * dest, int dxx, int dyy, r >>= 8; g >>= 8; b >>= 8; - *dptr++ = RGBA_COMPOSE(r, g, b, 0xff); + *dptr++ = PIXEL_ARGB(0xff, r, g, b); } else *dptr++ = sptr[xpoints[x]]; @@ -1285,7 +1284,7 @@ __imlib_ScaleAARGB(ImlibScaleInfo * isi, DATA32 * dest, int dxx, int dyy, g >>= 4; b >>= 4; } - *dptr = RGBA_COMPOSE(r, g, b, 0xff); + *dptr = PIXEL_ARGB(0xff, r, g, b); dptr++; } } @@ -1330,7 +1329,7 @@ __imlib_ScaleAARGB(ImlibScaleInfo * isi, DATA32 * dest, int dxx, int dyy, r = (r + ((rr * YAP) / xap)) >> 8; g = (g + ((gg * YAP) / xap)) >> 8; b = (b + ((bb * YAP) / xap)) >> 8; - *dptr++ = RGBA_COMPOSE(r, g, b, 0xff); + *dptr++ = PIXEL_ARGB(0xff, r, g, b); } else { @@ -1345,7 +1344,7 @@ __imlib_ScaleAARGB(ImlibScaleInfo * isi, DATA32 * dest, int dxx, int dyy, r >>= 8; g >>= 8; b >>= 8; - *dptr++ = RGBA_COMPOSE(r, g, b, 0xff); + *dptr++ = PIXEL_ARGB(0xff, r, g, b); } } } @@ -1370,7 +1369,7 @@ __imlib_ScaleAARGB(ImlibScaleInfo * isi, DATA32 * dest, int dxx, int dyy, r /= xap; g /= xap; b /= xap; - *dptr++ = RGBA_COMPOSE(r, g, b, 0xff); + *dptr++ = PIXEL_ARGB(0xff, r, g, b); } else *dptr++ = sptr[xpoints[x]]; diff --git a/src/modules/loaders/loader_gif.c b/src/modules/loaders/loader_gif.c index e0c9635..b9ac53f 100644 --- a/src/modules/loaders/loader_gif.c +++ b/src/modules/loaders/loader_gif.c @@ -143,7 +143,7 @@ load(ImlibImage * im, ImlibProgressFunction progress, char progress_granularity, r = cmap->Colors[i].Red; g = cmap->Colors[i].Green; b = cmap->Colors[i].Blue; - colormap[i] = (0xff << 24) | (r << 16) | (g << 8) | b; + colormap[i] = PIXEL_ARGB(0xff, r, g, b); } /* if bg > cmap->ColorCount, it is transparent black already */ if (transp >= 0 && transp < 256) diff --git a/src/modules/loaders/loader_pnm.c b/src/modules/loaders/loader_pnm.c index 87359d9..fabe895 100644 --- a/src/modules/loaders/loader_pnm.c +++ b/src/modules/loaders/loader_pnm.c @@ -387,9 +387,7 @@ load(ImlibImage * im, ImlibProgressFunction progress, { for (x = 0; x < w; x++) { - *ptr2 = - (ptr[3] << 24) | (ptr[0] << 16) | - (ptr[1] << 8) | ptr[2]; + *ptr2 = PIXEL_ARGB(ptr[3], ptr[0], ptr[1], ptr[2]); ptr2++; ptr += 4; } @@ -399,10 +397,10 @@ load(ImlibImage * im, ImlibProgressFunction progress, for (x = 0; x < w; x++) { *ptr2 = - (((ptr[3] * 255) / v) << 24) | - (((ptr[0] * 255) / v) << 16) | - (((ptr[1] * 255) / v) << 8) | - ((ptr[2] * 255) / v); + PIXEL_ARGB((ptr[3] * 255) / v, + (ptr[0] * 255) / v, + (ptr[1] * 255) / v, + (ptr[2] * 255) / v); ptr2++; ptr += 4; } diff --git a/src/modules/loaders/loader_tiff.c b/src/modules/loaders/loader_tiff.c index d54c240..9539954 100644 --- a/src/modules/loaders/loader_tiff.c +++ b/src/modules/loaders/loader_tiff.c @@ -102,7 +102,7 @@ raster(TIFFRGBAImage_Extra * img, uint32 * rast, if (img->rgba.orientation == ORIENTATION_TOPRIGHT) k = image_width - 1 - k; buffer_pixel = PIM(k, image_height - 1 - (y - j)); - *buffer_pixel = (a << 24) | (r << 16) | (g << 8) | b; + *buffer_pixel = PIXEL_ARGB(a, r, g, b); } } break; @@ -129,7 +129,7 @@ raster(TIFFRGBAImage_Extra * img, uint32 * rast, if (img->rgba.orientation == ORIENTATION_BOTRIGHT) k = image_width - 1 - k; buffer_pixel = PIM(k, image_height - 1 - (y + j)); - *buffer_pixel = (a << 24) | (r << 16) | (g << 8) | b; + *buffer_pixel = PIXEL_ARGB(a, r, g, b); } } break; @@ -157,7 +157,7 @@ raster(TIFFRGBAImage_Extra * img, uint32 * rast, if (img->rgba.orientation == ORIENTATION_LEFTTOP) k = image_width - 1 - k; buffer_pixel = PIM(k, x + j); - *buffer_pixel = (a << 24) | (r << 16) | (g << 8) | b; + *buffer_pixel = PIXEL_ARGB(a, r, g, b); } } break; @@ -184,7 +184,7 @@ raster(TIFFRGBAImage_Extra * img, uint32 * rast, if (img->rgba.orientation == ORIENTATION_RIGHTBOT) k = image_width - 1 - k; buffer_pixel = PIM(k, image_height - 1 - (x + j)); - *buffer_pixel = (a << 24) | (r << 16) | (g << 8) | b; + *buffer_pixel = PIXEL_ARGB(a, r, g, b); } } break; diff --git a/src/modules/loaders/loader_xpm.c b/src/modules/loaders/loader_xpm.c index 92d6d69..7c07db5 100644 --- a/src/modules/loaders/loader_xpm.c +++ b/src/modules/loaders/loader_xpm.c @@ -392,9 +392,6 @@ load(ImlibImage * im, ImlibProgressFunction progress, char progress_granularity, } if (cpp == 1) { -#define PIX_RGB(_r, _g, _b) (((_r) << 16) | ((_g) << 8) | (_b)) -#define PIX_ARGB(_r, _g, _b) ((0xff << 24) | PIX_RGB(_r, _g, _b)) - #define CM1_TRANS() cmap[lookup[col[0] - ' '][0]].transp #define CM1_R() (unsigned char)cmap[lookup[col[0] - ' '][0]].r #define CM1_G() (unsigned char)cmap[lookup[col[0] - ' '][0]].g @@ -407,9 +404,9 @@ load(ImlibImage * im, ImlibProgressFunction progress, char progress_granularity, g = CM1_G(); b = CM1_B(); if (transp && CM1_TRANS()) - *ptr++ = PIX_RGB(r, g, b); + *ptr++ = PIXEL_ARGB(0, r, g, b); else - *ptr++ = PIX_ARGB(r, g, b); + *ptr++ = PIXEL_ARGB(0xff, r, g, b); count++; } } @@ -429,9 +426,9 @@ load(ImlibImage * im, ImlibProgressFunction progress, char progress_granularity, g = CM2_G(); b = CM2_B(); if (transp && CM2_TRANS()) - *ptr++ = PIX_RGB(r, g, b); + *ptr++ = PIXEL_ARGB(0, r, g, b); else - *ptr++ = PIX_ARGB(r, g, b); + *ptr++ = PIXEL_ARGB(0xff, r, g, b); count++; } } @@ -458,9 +455,9 @@ load(ImlibImage * im, ImlibProgressFunction progress, char progress_granularity, g = CM0_G(j); b = CM0_B(j); if (transp && CM0_TRANS(j)) - *ptr++ = PIX_RGB(r, g, b); + *ptr++ = PIXEL_ARGB(0, r, g, b); else - *ptr++ = PIX_ARGB(r, g, b); + *ptr++ = PIXEL_ARGB(0xff, r, g, b); count++; j = ncolors; } --