#include <pdfwriter.h>
Public Types | |
| typedef std::vector < boost::shared_ptr < FilterStreamWriter > > | WritersList |
Public Member Functions | |
| virtual bool | supportObject (const Object &obj) const =0 |
| virtual void | compress (const Object &obj, Ref *ref, StreamWriter &outStream) const =0 |
Static Public Member Functions | |
| static boost::shared_ptr < FilterStreamWriter > | getInstance (const Object &objStream) |
| static void | registerFilterStreamWriter (const boost::shared_ptr< FilterStreamWriter > &streamWriter) |
| static void | unregisterFilterStreamWriter (const boost::shared_ptr< FilterStreamWriter > &streamWriter) |
| static void | clearAllFilterStreamWriters () |
| static void | setDefaultStreamWriter (const boost::shared_ptr< FilterStreamWriter > &defaultWriter) |
Static Protected Attributes | |
| static WritersList | writers |
| static boost::shared_ptr < FilterStreamWriter > | defaultWriter |
Base class for filter stream writers. Note that this class - unlike StreamWriter classes defined in streamwriter.h file is not based on xpdf Stream object. Its purpose is to help IPdfWriter class to write stream object into the pdf document.
Use factory getInstance method to get proper filter stream writer implementation for given stream object. Default writer is used if no such implementation is available.
| typedef std::vector<boost::shared_ptr<FilterStreamWriter> > pdfobjects::utils::FilterStreamWriter::WritersList |
| void pdfobjects::utils::FilterStreamWriter::clearAllFilterStreamWriters | ( | ) | [static] |
Removes all registered filter writers.
References writers.
| virtual void pdfobjects::utils::FilterStreamWriter::compress | ( | const Object & | obj, | |
| Ref * | ref, | |||
| StreamWriter & | outStream | |||
| ) | const [pure virtual] |
Writes given stream object to the output stream. Implementation has to follow pdf specification in format of the data writen in the stream. Nevertheless it is absolutely free in how it does it. It can modify given object to use those filters (and all associated parameters) which are then used when data are written.
| obj | Object to write (must be stream). | |
| ref | Indirect reference for object (NULL for direct object). | |
| outStream | Output stream where to put data. |
Implemented in pdfobjects::utils::NullFilterStreamWriter, and pdfobjects::utils::ZlibFilterStreamWriter.
| boost::shared_ptr< FilterStreamWriter > pdfobjects::utils::FilterStreamWriter::getInstance | ( | const Object & | objStream | ) | [static] |
Finds proper filter stream writer for given obj. If no registered appropriate writer exists, defaultWriter is tried. If neither defaultWriter is ok, NullFilterStreamWriter is used which writes stream object as it is without no filters.
| objStream | Stream object. |
References defaultWriter, pdfobjects::utils::NullFilterStreamWriter::getInstance(), pdfobjects::utils::lookupFilterStreamWriter(), and writers.
Referenced by pdfobjects::utils::writeObject().
| void pdfobjects::utils::FilterStreamWriter::registerFilterStreamWriter | ( | const boost::shared_ptr< FilterStreamWriter > & | streamWriter | ) | [static] |
Adds new filter writer to the registered.
| streamwriter | Filter stream writer implementation. |
References writers.
| void pdfobjects::utils::FilterStreamWriter::setDefaultStreamWriter | ( | const boost::shared_ptr< FilterStreamWriter > & | defaultWriter | ) | [static] |
| virtual bool pdfobjects::utils::FilterStreamWriter::supportObject | ( | const Object & | obj | ) | const [pure virtual] |
Checks whether this filter writer is able to handle given object. Implementation is absolutely free on which criteria it decides whether it is or not able to handle this object. Usual way, however, is to check Filter entry and check if curren writer is able to write data in given format.
| obj | Object to be written. |
Implemented in pdfobjects::utils::ZlibFilterStreamWriter.
| void pdfobjects::utils::FilterStreamWriter::unregisterFilterStreamWriter | ( | const boost::shared_ptr< FilterStreamWriter > & | streamWriter | ) | [static] |
Removes already registerd filter writer.
| streamWriter | Filter stream writer to remove. |
References writers.
boost::shared_ptr< FilterStreamWriter > pdfobjects::utils::FilterStreamWriter::defaultWriter [static, protected] |
Default filter stream writer used if no registered can be used.
Referenced by getInstance(), and setDefaultStreamWriter().
FilterStreamWriter::WritersList pdfobjects::utils::FilterStreamWriter::writers [static, protected] |
List of the registered filter stream writers.
Referenced by clearAllFilterStreamWriters(), getInstance(), registerFilterStreamWriter(), and unregisterFilterStreamWriter().