Model Railroad System
2.2.1
|
Indirect object base class. More...
#include <PDFPrinterSupport.h>
Public Member Functions | |
IndirectObject (unsigned long int objNum=0L, unsigned short int genNum=0, CrossReferenceTable *tab=NULL) | |
Constructor. More... | |
virtual | ~IndirectObject () |
Destructor. More... | |
ostream & | WriteObjectToFile (ostream &stream) |
Write an object indirectly. More... | |
ostream & | WriteIndirectReference (ostream &stream) const |
Write an object indirectly. More... | |
virtual ostream & | WriteDirect (ostream &stream) const =0 |
Write an object directly. More... | |
unsigned long int | ObjectNumber () const |
Return this object's object number. More... | |
unsigned short int | GenerationNumber () const |
Return this object's generation number. More... | |
streampos | FileOffset () const |
Return this object's file offset. More... | |
bool | HasOffset () const |
Does the object have a file offset? More... | |
Private Member Functions | |
void | SetObjectNumber (unsigned long int on, CrossReferenceTable *tab) |
Set this object's object number. More... | |
void | IncrementGenerationNumber () |
Increment the generation number. More... | |
Private Attributes | |
unsigned long int | objectNumber |
The object number. More... | |
unsigned short int | generationNumber |
The generation number. More... | |
streampos | fileOffset |
The file position. More... | |
CrossReferenceTable * | table |
The cross referece table we are in. More... | |
Friends | |
class | CrossReferenceTable |
Indirect object base class.
All PDF objects that might be referenced as indirect objects are derived from this class.
|
inline |
Constructor.
Perform base initialization.
objNum | The object number. Zero means no object number yet. |
genNum | The generation number. Zero means first generation. |
tab | The cross reference table we are in. |
|
inlinevirtual |
Destructor.
Clean everything up.
|
inline |
Return this object's file offset.
|
inline |
Return this object's generation number.
|
inline |
Does the object have a file offset?
Referenced by FCFSupport::PDFFileStructures::IndirectObjectDictionary::WriteDictionaryElements().
|
inlineprivate |
Increment the generation number.
|
inline |
Return this object's object number.
|
inlineprivate |
Set this object's object number.
Should only be called when this object is inserted into a cross reference table. The object number cannot be reset!
on | The object number to set this object to. Can't be zero. If the object number is already set, this can be the same number, in which case the generation number gets incremented. |
tab | The cross reference table this object is being added to. |
|
pure virtual |
Write an object directly.
Needs to be overloaded by derived classes.
stream | The output stream to write to. |
Implemented in FCFSupport::PDFFileStructures::IndirectFloatVector, FCFSupport::PDFFileStructures::PDFStream, FCFSupport::PDFFileStructures::Rectangle, FCFSupport::PDFFileStructures::Dictionary, and FCFSupport::PDFFileStructures::FreedObject.
Referenced by FCFSupport::PDFFileStructures::IndirectObjectDictionary::WriteDictionaryElements().
|
inline |
Write an object indirectly.
Assumes that the non-const version has already been called. This version only writes an indirect reference.
stream | The output stream to write to. |
References lcc::stream.
Referenced by FCFSupport::PDFFileStructures::IndirectObjectDictionary::WriteDictionaryElements().
|
inline |
Write an object indirectly.
The first time this is called, an obj ... endobj block is written. Later times an indirect reference is written.
stream | The output stream to write to. |
References lcc::stream.
|
friend |
|
private |
The file position.
|
private |
The generation number.
|
private |
The object number.
|
private |
The cross referece table we are in.