#include <PdfXRef.h>
Inheritance diagram for PoDoFo::PdfXRef:
Public Member Functions | |
PdfXRef () | |
virtual | ~PdfXRef () |
void | AddObject (const PdfReference &rRef, pdf_uint64 offset, bool bUsed) |
void | Write (PdfOutputDevice *pDevice) |
pdf_uint32 | GetSize () const |
virtual pdf_uint64 | GetOffset () const |
Protected Member Functions | |
virtual void | BeginWrite (PdfOutputDevice *pDevice) |
virtual void | WriteSubSection (PdfOutputDevice *pDevice, pdf_objnum nFirst, pdf_uint32 nCount) |
virtual void | WriteXRefEntry (PdfOutputDevice *pDevice, pdf_uint64 offset, pdf_gennum generation, char cMode, pdf_objnum objectNumber=0) |
virtual void | EndWrite (PdfOutputDevice *pDevice) |
This is an internal class of PoDoFo used by PdfWriter.
PoDoFo::PdfXRef::PdfXRef | ( | ) |
Create a new XRef table
PoDoFo::PdfXRef::~PdfXRef | ( | ) | [virtual] |
Destruct the XRef table
void PoDoFo::PdfXRef::AddObject | ( | const PdfReference & | rRef, | |
pdf_uint64 | offset, | |||
bool | bUsed | |||
) |
Add an object to the XRef table. The object should have been written to an output device already.
rRef | reference of this object | |
offset | the offset where on the device the object was written | |
bUsed | specifies wether this is an used or free object. Set this value to true for all normal objects and to false for free object references. |
void PoDoFo::PdfXRef::BeginWrite | ( | PdfOutputDevice * | pDevice | ) | [protected, virtual] |
Called at the start of writing the XRef table. This method can be overwritten in subclasses to write a general header for the XRef table.
pDevice | the output device to which the XRef table should be written. |
Reimplemented in PoDoFo::PdfXRefStream.
void PoDoFo::PdfXRef::EndWrite | ( | PdfOutputDevice * | pDevice | ) | [protected, virtual] |
Called at the end of writing the XRef table. Sub classes can overload this method to finish a XRef table.
pDevice | the output device to which the XRef table should be written. |
Reimplemented in PoDoFo::PdfXRefStream.
pdf_uint64 PoDoFo::PdfXRef::GetOffset | ( | ) | const [inline, virtual] |
Reimplemented in PoDoFo::PdfXRefStream.
pdf_uint32 PoDoFo::PdfXRef::GetSize | ( | ) | const |
Get the size of the XRef table. I.e. the highest object number + 1.
void PoDoFo::PdfXRef::Write | ( | PdfOutputDevice * | pDevice | ) |
Write the XRef table to an output device.
pDevice | an output device (usually a PDF file) |
void PoDoFo::PdfXRef::WriteSubSection | ( | PdfOutputDevice * | pDevice, | |
pdf_objnum | nFirst, | |||
pdf_uint32 | nCount | |||
) | [protected, virtual] |
Begin an XRef subsection. All following calls of WriteXRefEntry belong to this XRef subsection.
pDevice | the output device to which the XRef table should be written. | |
nFirst | the object number of the first object in this subsection | |
nCount | the number of entries in this subsection |
Reimplemented in PoDoFo::PdfXRefStream.
void PoDoFo::PdfXRef::WriteXRefEntry | ( | PdfOutputDevice * | pDevice, | |
pdf_uint64 | offset, | |||
pdf_gennum | generation, | |||
char | cMode, | |||
pdf_objnum | objectNumber = 0 | |||
) | [protected, virtual] |
Write a single entry to the XRef table
pDevice | the output device to which the XRef table should be written. | |
offset | the offset of the object | |
generation | the generation number | |
cMode | the mode 'n' for object and 'f' for free objects | |
objectNumber | the object number of the currently written object if cMode = 'n' otherwise undefined |
Reimplemented in PoDoFo::PdfXRefStream.