summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGlenn Kennard <glenn.kennard@gmail.com>2008-03-24 19:21:53 +0100
committerGlenn Kennard <glenn.kennard@gmail.com>2008-03-24 19:21:53 +0100
commit06767d5ed8c2fead9808ad7e79123c477fb7054b (patch)
tree5055139d99d7a86220b413256eb0ee91e0489c4c
parent0927848f97018cfbb9fb8b8fb8b4c0ddb9aa6530 (diff)
downloadmupdf-06767d5ed8c2fead9808ad7e79123c477fb7054b.tar.xz
Fix endian issue in solid node fill optimization.
-rw-r--r--raster/render.c5
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);
}