Enlightenment CVS committal Author : raster Project : e17 Module : libs/evas
Dir : e17/libs/evas/src/lib/engines/xrender_x11 Modified Files: evas_engine_xrender.c Log Message: endianess fix =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/evas/src/lib/engines/xrender_x11/evas_engine_xrender.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 --- evas_engine_xrender.c 3 Oct 2005 15:49:45 -0000 1.3 +++ evas_engine_xrender.c 6 Oct 2005 04:18:52 -0000 1.4 @@ -124,22 +124,50 @@ jump = ((xim->line_bytes / 4) - w); sjump = sw - w; spe = sp + ((h - 1) * sw) + w; - while (sp < spe) + if +#ifdef WORDS_BIGENDIAN + (xim->xim->byte_order == LSBFirst) +#else + (xim->xim->byte_order == MSBFirst) +#endif { - sple = sp + w; - while (sp < sple) + while (sp < spe) { - a = A_VAL(sp); - aa = a + 1; - r = ((R_VAL(sp)) * aa) >> 8; - g = ((G_VAL(sp)) * aa) >> 8; - b = ((B_VAL(sp)) * aa) >> 8; - *p = (a << 24) | (r << 16) | (g << 8) | b; - p++; - sp++; + sple = sp + w; + while (sp < sple) + { + a = A_VAL(sp); + aa = a + 1; + r = ((R_VAL(sp)) * aa) >> 8; + g = ((G_VAL(sp)) * aa) >> 8; + b = ((B_VAL(sp)) * aa) >> 8; + *p = (b << 24) | (g << 16) | (r << 8) | a; + p++; + sp++; + } + p += jump; + sp += sjump; + } + } + else + { + while (sp < spe) + { + sple = sp + w; + while (sp < sple) + { + a = A_VAL(sp); + aa = a + 1; + r = ((R_VAL(sp)) * aa) >> 8; + g = ((G_VAL(sp)) * aa) >> 8; + b = ((B_VAL(sp)) * aa) >> 8; + *p = (a << 24) | (r << 16) | (g << 8) | b; + p++; + sp++; + } + p += jump; + sp += sjump; } - p += jump; - sp += sjump; } _xr_image_put(xim, rs->draw, x, y, w, h); } @@ -158,17 +186,40 @@ jump = ((xim->line_bytes / 4) - w); sjump = sw - w; spe = sp + ((h - 1) * sw) + w; - while (sp < spe) + if +#ifdef WORDS_BIGENDIAN + (xim->xim->byte_order == LSBFirst) +#else + (xim->xim->byte_order == MSBFirst) +#endif { - sple = sp + w; - while (sp < sple) + while (sp < spe) { - *p = 0xff000000 | ((R_VAL(sp)) << 16) | ((G_VAL(sp)) << 8) | (B_VAL(sp)); - p++; - sp++; + sple = sp + w; + while (sp < sple) + { + *p = ((B_VAL(sp)) << 24) | ((G_VAL(sp)) << 16) | ((R_VAL(sp)) << 8) | 0x000000ff; + p++; + sp++; + } + p += jump; + sp += sjump; + } + } + else + { + while (sp < spe) + { + sple = sp + w; + while (sp < sple) + { + *p = 0xff000000 | ((R_VAL(sp)) << 16) | ((G_VAL(sp)) << 8) | (B_VAL(sp)); + p++; + sp++; + } + p += jump; + sp += sjump; } - p += jump; - sp += sjump; } _xr_image_put(xim, rs->draw, x, y, w, h); } ------------------------------------------------------- This SF.Net email is sponsored by: Power Architecture Resource Center: Free content, downloads, discussions, and more. http://solutions.newsforge.com/ibmarch.tmpl _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs