diff options
Diffstat (limited to 'libqpdf/QPDF_Stream.cc')
-rw-r--r-- | libqpdf/QPDF_Stream.cc | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/libqpdf/QPDF_Stream.cc b/libqpdf/QPDF_Stream.cc index d0dd2e5f..500dfb10 100644 --- a/libqpdf/QPDF_Stream.cc +++ b/libqpdf/QPDF_Stream.cc @@ -319,9 +319,30 @@ QPDF_Stream::pipeStreamData(Pipeline* pipeline, bool filter, } } + // XXX handle stream_data and stream_data_handler QPDF::Pipe::pipeStreamData(this->qpdf, this->objid, this->generation, this->offset, this->length, this->stream_dict, pipeline); return filter; } + +void +QPDF_Stream::replaceStreamData(PointerHolder<Buffer> data, + QPDFObjectHandle filter, + QPDFObjectHandle decode_parms) +{ + this->stream_data = data; + this->stream_dict.replaceOrRemoveKey("/Filter", filter); + this->stream_dict.replaceOrRemoveKey("/DecodeParms", decode_parms); + this->stream_dict.replaceKey("/Length", + QPDFObjectHandle::newInteger( + data.getPointer()->getSize())); +} + +void +QPDF_Stream::replaceStreamData( + PointerHolder<QPDFObjectHandle::StreamDataHandler> dh) +{ + this->stream_data_handler = dh; +} |