PoDoFo::PdfXRef Class Reference

#include <PdfXRef.h>

Inheritance diagram for PoDoFo::PdfXRef:
PoDoFo::PdfXRefStream

List of all members.

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)

Detailed Description

Creates an XRef table.

This is an internal class of PoDoFo used by PdfWriter.


Constructor & Destructor Documentation

PoDoFo::PdfXRef::PdfXRef (  ) 

Create a new XRef table

PoDoFo::PdfXRef::~PdfXRef (  )  [virtual]

Destruct the XRef table


Member Function Documentation

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.

Parameters:
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.

Parameters:
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.

Parameters:
pDevice the output device to which the XRef table should be written.

Reimplemented in PoDoFo::PdfXRefStream.

size_t PoDoFo::PdfXRef::GetOffset (  )  const [inline, virtual]
Returns:
the offset in the file at which the XRef table starts after it was written

Reimplemented in PoDoFo::PdfXRefStream.

unsigned int PoDoFo::PdfXRef::GetSize (  )  const

Get the size of the XRef table. I.e. the highest object number + 1.

Returns:
the size of the xref table
void PoDoFo::PdfXRef::Write ( PdfOutputDevice pDevice  ) 

Write the XRef table to an output device.

Parameters:
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.

Parameters:
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

Parameters:
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.

Generated by  doxygen 1.6.2-20100208