summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gs/base/gsbitops.h6
-rw-r--r--gs/base/gxcindex.h1
2 files changed, 7 insertions, 0 deletions
diff --git a/gs/base/gsbitops.h b/gs/base/gsbitops.h
index 950e98f28..f908aadeb 100644
--- a/gs/base/gsbitops.h
+++ b/gs/base/gsbitops.h
@@ -169,6 +169,12 @@
#define sample_store_preload(dbbyte, dptr, dbit, dbpv)\
dbbyte = ((dbit) ? (byte)(*(dptr) & (0xff00 >> (dbit))) : 0)
+/* Reset (do the same as sample_store_declare, without the declare) */
+#define sample_store_reset(dptr, dbit, dbbyte, ptr, bitno, dbpv)\
+ dptr = (ptr);\
+ dbit = (bitno);\
+ sample_store_preload(dbbyte, dptr, dbit, dbpv)
+
/* Store a value and increment the pointer. */
#define sample_store_next8_(value, dptr, dbit, dbpv, dbbyte)\
BEGIN\
diff --git a/gs/base/gxcindex.h b/gs/base/gxcindex.h
index edbbd1806..978ee6801 100644
--- a/gs/base/gxcindex.h
+++ b/gs/base/gxcindex.h
@@ -133,6 +133,7 @@ typedef gx_color_index_data gx_color_index;
}
#define LINE_ACCUM_FLUSH_AND_RESTART(dev, line, bpp, xo, xe, raster, y)\
{ LINE_ACCUM_COPY(dev, line, bpp, xo, xe, raster, y);\
+ sample_store_reset(l_dptr, l_dbit, l_dbyte, line, 0, bpp);\
l_xprev = xe+1; }
#endif /* gxcindex_INCLUDED */