diff options
author | Glenn Kennard <glenn.kennard@gmail.com> | 2008-03-24 19:21:53 +0100 |
---|---|---|
committer | Glenn Kennard <glenn.kennard@gmail.com> | 2008-03-24 19:21:53 +0100 |
commit | 06767d5ed8c2fead9808ad7e79123c477fb7054b (patch) | |
tree | 5055139d99d7a86220b413256eb0ee91e0489c4c | |
parent | 0927848f97018cfbb9fb8b8fb8b4c0ddb9aa6530 (diff) | |
download | mupdf-06767d5ed8c2fead9808ad7e79123c477fb7054b.tar.xz |
Fix endian issue in solid node fill optimization.
-rw-r--r-- | raster/render.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/raster/render.c b/raster/render.c index d19e7a3c..4e010179 100644 --- a/raster/render.c +++ b/raster/render.c @@ -160,7 +160,11 @@ DEBUG("solid %s [%d %d %d %d];\n", solid->cs->name, gc->argb[0], gc->argb[1], gc else { unsigned *pw = (unsigned *)p; +#if BYTE_ORDER == LITTLE_ENDIAN + unsigned argb = a | (r << 8) | (g << 16) | (b << 24); +#else unsigned argb = (a << 24) | (r << 16) | (g << 8) | b; +#endif while (n--) { *pw++ = argb; @@ -214,6 +218,7 @@ DEBUG("path %s;\n", path->paint == FZ_STROKE ? "stroke" : "fill"); if (gc->flag & FRGB) { +DEBUG(" path rgb %d %d %d %d, %d %d %d\n", gc->argb[0], gc->argb[1], gc->argb[2], gc->argb[3], gc->argb[4], gc->argb[5], gc->argb[6]); return fz_scanconvert(gc->gel, gc->ael, path->paint == FZ_EOFILL, clip, gc->over, gc->argb, 1); } |