#include <PdfXRef.h>
Public Member Functions | |
PdfXRef () | |
virtual | ~PdfXRef () |
void | AddObject (const PdfReference &rRef, long lOffset, bool bUsed) |
void | Write (PdfOutputDevice *pDevice) |
unsigned int | GetSize () const |
virtual size_t | GetOffset () const |
Protected Member Functions | |
virtual void | BeginWrite (PdfOutputDevice *pDevice) |
virtual void | WriteSubSection (PdfOutputDevice *pDevice, unsigned int nFirst, unsigned int nCount) |
virtual void | WriteXRefEntry (PdfOutputDevice *pDevice, unsigned long lOffset, unsigned long lGeneration, char cMode, unsigned long lObjectNumber=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, | |
long | lOffset, | |||
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 | |
lOffset | 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.
size_t PoDoFo::PdfXRef::GetOffset | ( | ) | const [inline, virtual] |
Reimplemented in PoDoFo::PdfXRefStream.
unsigned int 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, | |
unsigned int | nFirst, | |||
unsigned int | 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, | |
unsigned long | lOffset, | |||
unsigned long | lGeneration, | |||
char | cMode, | |||
unsigned long | lObjectNumber = 0 | |||
) | [protected, virtual] |
Write a single entry to the XRef table
pDevice | the output device to which the XRef table should be written. | |
lOffset | the offset of the object | |
lGeneration | the generation number | |
cMode | the mode 'n' for object and 'f' for free objects | |
lObjectNumber | the object number of the currently written object if cMode = 'n' otherwise undefined |
Reimplemented in PoDoFo::PdfXRefStream.