aboutsummaryrefslogtreecommitdiffstats
path: root/libqpdf/BitWriter.cc
diff options
context:
space:
mode:
authorJay Berkenbilt <ejb@ql.org>2008-04-29 14:55:25 +0200
committerJay Berkenbilt <ejb@ql.org>2008-04-29 14:55:25 +0200
commit9a0b88bf7777c153dc46ace22db74ef24d51583a (patch)
treef567ac1cf2bf5071a611eb49323a935b6ac938ff /libqpdf/BitWriter.cc
downloadqpdf-9a0b88bf7777c153dc46ace22db74ef24d51583a.tar.zst
update release date to actual daterelease-qpdf-2.0
git-svn-id: svn+q:///qpdf/trunk@599 71b93d88-0707-0410-a8cf-f5a4172ac649
Diffstat (limited to 'libqpdf/BitWriter.cc')
-rw-r--r--libqpdf/BitWriter.cc30
1 files changed, 30 insertions, 0 deletions
diff --git a/libqpdf/BitWriter.cc b/libqpdf/BitWriter.cc
new file mode 100644
index 00000000..f682aac5
--- /dev/null
+++ b/libqpdf/BitWriter.cc
@@ -0,0 +1,30 @@
+
+
+#include <qpdf/BitWriter.hh>
+
+// See comments in bits.cc
+#define BITS_WRITE 1
+#include "bits.icc"
+
+BitWriter::BitWriter(Pipeline* pl) :
+ pl(pl),
+ ch(0),
+ bit_offset(7)
+{
+}
+
+void
+BitWriter::writeBits(unsigned long val, int bits)
+{
+ write_bits(this->ch, this->bit_offset, val, bits, this->pl);
+}
+
+void
+BitWriter::flush()
+{
+ if (bit_offset < 7)
+ {
+ int bits_to_write = bit_offset + 1;
+ write_bits(this->ch, this->bit_offset, 0, bits_to_write, this->pl);
+ }
+}