LibreOffice Module vcl (master) 1
Public Member Functions | Private Member Functions | Private Attributes | List of all members
vcl::filter::PDFObjectElement Class Referencefinal

Indirect object: something with a unique ID. More...

#include <pdfdocument.hxx>

Inheritance diagram for vcl::filter::PDFObjectElement:
[legend]
Collaboration diagram for vcl::filter::PDFObjectElement:
[legend]

Public Member Functions

 PDFObjectElement (PDFDocument &rDoc, double fObjectValue, double fGenerationValue)
 
bool Read (SvStream &rStream) override
 
PDFElementLookup (const OString &rDictionaryKey)
 
PDFObjectElementLookupObject (const OString &rDictionaryKey)
 
double GetObjectValue () const
 
void SetDictionaryOffset (sal_uInt64 nDictionaryOffset)
 
sal_uInt64 GetDictionaryOffset ()
 
void SetDictionaryLength (sal_uInt64 nDictionaryLength)
 
sal_uInt64 GetDictionaryLength ()
 
PDFDictionaryElementGetDictionary ()
 
void SetDictionary (PDFDictionaryElement *pDictionaryElement)
 
void SetNumberElement (PDFNumberElement *pNumberElement)
 
PDFNumberElementGetNumberElement () const
 
const std::map< OString, PDFElement * > & GetDictionaryItems ()
 Get access to the parsed key-value items from the object dictionary. More...
 
const std::vector< PDFReferenceElement * > & GetDictionaryReferences () const
 
void AddDictionaryReference (PDFReferenceElement *pReference)
 
void SetArray (PDFArrayElement *pArrayElement)
 
void SetStream (PDFStreamElement *pStreamElement)
 
PDFStreamElementGetStream () const
 Access to the stream of the object, if it has any. More...
 
void SetArrayOffset (sal_uInt64 nArrayOffset)
 
sal_uInt64 GetArrayOffset () const
 
void SetArrayLength (sal_uInt64 nArrayLength)
 
sal_uInt64 GetArrayLength () const
 
PDFArrayElementGetArray ()
 
void ParseStoredObjects ()
 Parse objects stored in this object stream. More...
 
std::vector< std::unique_ptr< PDFElement > > & GetStoredElements ()
 
SvMemoryStreamGetStreamBuffer () const
 
void SetStreamBuffer (std::unique_ptr< SvMemoryStream > &pStreamBuffer)
 
PDFDocumentGetDocument ()
 
void writeString (OStringBuffer &) override
 
- Public Member Functions inherited from vcl::filter::PDFElement
 PDFElement ()=default
 
virtual bool Read (SvStream &rStream)=0
 
virtual ~PDFElement ()=default
 
void setVisiting (bool bVisiting)
 
bool alreadyVisiting () const
 
void setParsing (bool bParsing)
 
bool alreadyParsing () const
 
virtual void writeString (OStringBuffer &rBuffer)=0
 

Private Member Functions

void parseIfNecessary ()
 

Private Attributes

PDFDocumentm_rDoc
 The document owning this element. More...
 
double m_fObjectValue
 
double m_fGenerationValue
 
PDFNumberElementm_pNumberElement
 If set, the object contains this number element (outside any dictionary/array). More...
 
sal_uInt64 m_nDictionaryOffset
 Position after the '<<' token. More...
 
sal_uInt64 m_nDictionaryLength
 Length of the dictionary buffer till (before) the '>>' token. More...
 
PDFDictionaryElementm_pDictionaryElement
 
sal_uInt64 m_nArrayOffset
 Position after the '[' token, if m_pArrayElement is set. More...
 
sal_uInt64 m_nArrayLength
 Length of the array buffer till (before) the ']' token. More...
 
PDFArrayElementm_pArrayElement
 The contained direct array, if any. More...
 
PDFStreamElementm_pStreamElement
 The stream of this object, used when this is an object stream. More...
 
std::vector< std::unique_ptr< PDFObjectElement > > m_aStoredElements
 Objects of an object stream. More...
 
std::vector< std::unique_ptr< PDFElement > > m_aElements
 Elements of an object in an object stream. More...
 
std::unique_ptr< SvMemoryStreamm_pStreamBuffer
 Uncompressed buffer of an object in an object stream. More...
 
std::vector< PDFReferenceElement * > m_aDictionaryReferences
 List of all reference elements inside this object's dictionary and nested dictionaries. More...
 
bool m_bParsed
 

Detailed Description

Indirect object: something with a unique ID.

Definition at line 68 of file pdfdocument.hxx.

Constructor & Destructor Documentation

◆ PDFObjectElement()

vcl::filter::PDFObjectElement::PDFObjectElement ( PDFDocument rDoc,
double  fObjectValue,
double  fGenerationValue 
)

Definition at line 2287 of file pdfdocument.cxx.

References m_rDoc.

Member Function Documentation

◆ AddDictionaryReference()

void vcl::filter::PDFObjectElement::AddDictionaryReference ( PDFReferenceElement pReference)

Definition at line 2468 of file pdfdocument.cxx.

References m_aDictionaryReferences.

◆ GetArray()

PDFArrayElement * vcl::filter::PDFObjectElement::GetArray ( )

◆ GetArrayLength()

sal_uInt64 vcl::filter::PDFObjectElement::GetArrayLength ( ) const

Definition at line 2443 of file pdfdocument.cxx.

References m_nArrayLength.

◆ GetArrayOffset()

sal_uInt64 vcl::filter::PDFObjectElement::GetArrayOffset ( ) const

Definition at line 2398 of file pdfdocument.cxx.

References m_nArrayOffset.

◆ GetDictionary()

PDFDictionaryElement * vcl::filter::PDFObjectElement::GetDictionary ( )

◆ GetDictionaryItems()

const std::map< OString, PDFElement * > & vcl::filter::PDFObjectElement::GetDictionaryItems ( )

Get access to the parsed key-value items from the object dictionary.

Definition at line 2473 of file pdfdocument.cxx.

References vcl::filter::PDFDictionaryElement::GetItems(), m_pDictionaryElement, and parseIfNecessary().

Referenced by vcl::PDFObjectCopier::copyExternalResource(), vcl::PDFObjectCopier::copyExternalResources(), and Lookup().

◆ GetDictionaryLength()

sal_uInt64 vcl::filter::PDFObjectElement::GetDictionaryLength ( )

◆ GetDictionaryOffset()

sal_uInt64 vcl::filter::PDFObjectElement::GetDictionaryOffset ( )

◆ GetDictionaryReferences()

const std::vector< PDFReferenceElement * > & vcl::filter::PDFObjectElement::GetDictionaryReferences ( ) const

Definition at line 2463 of file pdfdocument.cxx.

References m_aDictionaryReferences.

◆ GetDocument()

PDFDocument & vcl::filter::PDFObjectElement::GetDocument ( )

◆ GetNumberElement()

PDFNumberElement * vcl::filter::PDFObjectElement::GetNumberElement ( ) const

Definition at line 2461 of file pdfdocument.cxx.

References m_pNumberElement.

Referenced by vcl::PDFObjectCopier::copyExternalResource().

◆ GetObjectValue()

double vcl::filter::PDFObjectElement::GetObjectValue ( ) const

◆ GetStoredElements()

std::vector< std::unique_ptr< PDFElement > > & vcl::filter::PDFObjectElement::GetStoredElements ( )

Definition at line 2628 of file pdfdocument.cxx.

References m_aElements.

Referenced by ParseStoredObjects().

◆ GetStream()

PDFStreamElement * vcl::filter::PDFObjectElement::GetStream ( ) const

Access to the stream of the object, if it has any.

Definition at line 2486 of file pdfdocument.cxx.

References m_pStreamElement.

Referenced by vcl::PDFObjectCopier::copyExternalResource().

◆ GetStreamBuffer()

SvMemoryStream * vcl::filter::PDFObjectElement::GetStreamBuffer ( ) const

Definition at line 2633 of file pdfdocument.cxx.

References m_pStreamBuffer.

Referenced by vcl::filter::PDFDocument::WriteCatalogObject().

◆ Lookup()

PDFElement * vcl::filter::PDFObjectElement::Lookup ( const OString &  rDictionaryKey)

◆ LookupObject()

PDFObjectElement * vcl::filter::PDFObjectElement::LookupObject ( const OString &  rDictionaryKey)

◆ parseIfNecessary()

void vcl::filter::PDFObjectElement::parseIfNecessary ( )
private

◆ ParseStoredObjects()

void vcl::filter::PDFObjectElement::ParseStoredObjects ( )

◆ Read()

bool vcl::filter::PDFObjectElement::Read ( SvStream rStream)
overridevirtual

Implements vcl::filter::PDFElement.

Definition at line 2303 of file pdfdocument.cxx.

References m_fGenerationValue, m_fObjectValue, and SAL_INFO.

◆ SetArray()

void vcl::filter::PDFObjectElement::SetArray ( PDFArrayElement pArrayElement)

Definition at line 2479 of file pdfdocument.cxx.

References m_pArrayElement.

◆ SetArrayLength()

void vcl::filter::PDFObjectElement::SetArrayLength ( sal_uInt64  nArrayLength)

Definition at line 2441 of file pdfdocument.cxx.

References m_nArrayLength.

◆ SetArrayOffset()

void vcl::filter::PDFObjectElement::SetArrayOffset ( sal_uInt64  nArrayOffset)

Definition at line 2396 of file pdfdocument.cxx.

References m_nArrayOffset.

◆ SetDictionary()

void vcl::filter::PDFObjectElement::SetDictionary ( PDFDictionaryElement pDictionaryElement)

Definition at line 2451 of file pdfdocument.cxx.

References m_pDictionaryElement.

◆ SetDictionaryLength()

void vcl::filter::PDFObjectElement::SetDictionaryLength ( sal_uInt64  nDictionaryLength)

Definition at line 2430 of file pdfdocument.cxx.

References m_nDictionaryLength.

◆ SetDictionaryOffset()

void vcl::filter::PDFObjectElement::SetDictionaryOffset ( sal_uInt64  nDictionaryOffset)

Definition at line 2385 of file pdfdocument.cxx.

References m_nDictionaryOffset.

◆ SetNumberElement()

void vcl::filter::PDFObjectElement::SetNumberElement ( PDFNumberElement pNumberElement)

Definition at line 2456 of file pdfdocument.cxx.

References m_pNumberElement.

◆ SetStream()

void vcl::filter::PDFObjectElement::SetStream ( PDFStreamElement pStreamElement)

Definition at line 2481 of file pdfdocument.cxx.

References m_pStreamElement.

◆ SetStreamBuffer()

void vcl::filter::PDFObjectElement::SetStreamBuffer ( std::unique_ptr< SvMemoryStream > &  pStreamBuffer)

Definition at line 2635 of file pdfdocument.cxx.

References m_pStreamBuffer.

Referenced by ParseStoredObjects().

◆ writeString()

void vcl::filter::PDFObjectElement::writeString ( OStringBuffer &  )
inlineoverridevirtual

Implements vcl::filter::PDFElement.

Definition at line 137 of file pdfdocument.hxx.

Member Data Documentation

◆ m_aDictionaryReferences

std::vector<PDFReferenceElement*> vcl::filter::PDFObjectElement::m_aDictionaryReferences
private

List of all reference elements inside this object's dictionary and nested dictionaries.

Definition at line 97 of file pdfdocument.hxx.

Referenced by AddDictionaryReference(), and GetDictionaryReferences().

◆ m_aElements

std::vector<std::unique_ptr<PDFElement> > vcl::filter::PDFObjectElement::m_aElements
private

Elements of an object in an object stream.

Definition at line 92 of file pdfdocument.hxx.

Referenced by GetStoredElements(), and parseIfNecessary().

◆ m_aStoredElements

std::vector<std::unique_ptr<PDFObjectElement> > vcl::filter::PDFObjectElement::m_aStoredElements
private

Objects of an object stream.

Definition at line 90 of file pdfdocument.hxx.

Referenced by ParseStoredObjects().

◆ m_bParsed

bool vcl::filter::PDFObjectElement::m_bParsed
private

Definition at line 99 of file pdfdocument.hxx.

Referenced by parseIfNecessary().

◆ m_fGenerationValue

double vcl::filter::PDFObjectElement::m_fGenerationValue
private

Definition at line 73 of file pdfdocument.hxx.

Referenced by Read().

◆ m_fObjectValue

double vcl::filter::PDFObjectElement::m_fObjectValue
private

Definition at line 72 of file pdfdocument.hxx.

Referenced by GetObjectValue(), and Read().

◆ m_nArrayLength

sal_uInt64 vcl::filter::PDFObjectElement::m_nArrayLength
private

Length of the array buffer till (before) the ']' token.

Definition at line 84 of file pdfdocument.hxx.

Referenced by GetArrayLength(), and SetArrayLength().

◆ m_nArrayOffset

sal_uInt64 vcl::filter::PDFObjectElement::m_nArrayOffset
private

Position after the '[' token, if m_pArrayElement is set.

Definition at line 82 of file pdfdocument.hxx.

Referenced by GetArrayOffset(), and SetArrayOffset().

◆ m_nDictionaryLength

sal_uInt64 vcl::filter::PDFObjectElement::m_nDictionaryLength
private

Length of the dictionary buffer till (before) the '>>' token.

Definition at line 79 of file pdfdocument.hxx.

Referenced by GetDictionaryLength(), and SetDictionaryLength().

◆ m_nDictionaryOffset

sal_uInt64 vcl::filter::PDFObjectElement::m_nDictionaryOffset
private

Position after the '<<' token.

Definition at line 77 of file pdfdocument.hxx.

Referenced by GetDictionaryOffset(), and SetDictionaryOffset().

◆ m_pArrayElement

PDFArrayElement* vcl::filter::PDFObjectElement::m_pArrayElement
private

The contained direct array, if any.

Definition at line 86 of file pdfdocument.hxx.

Referenced by GetArray(), and SetArray().

◆ m_pDictionaryElement

PDFDictionaryElement* vcl::filter::PDFObjectElement::m_pDictionaryElement
private

Definition at line 80 of file pdfdocument.hxx.

Referenced by GetDictionary(), GetDictionaryItems(), Lookup(), and SetDictionary().

◆ m_pNumberElement

PDFNumberElement* vcl::filter::PDFObjectElement::m_pNumberElement
private

If set, the object contains this number element (outside any dictionary/array).

Definition at line 75 of file pdfdocument.hxx.

Referenced by GetNumberElement(), and SetNumberElement().

◆ m_pStreamBuffer

std::unique_ptr<SvMemoryStream> vcl::filter::PDFObjectElement::m_pStreamBuffer
private

Uncompressed buffer of an object in an object stream.

Definition at line 94 of file pdfdocument.hxx.

Referenced by GetStreamBuffer(), and SetStreamBuffer().

◆ m_pStreamElement

PDFStreamElement* vcl::filter::PDFObjectElement::m_pStreamElement
private

The stream of this object, used when this is an object stream.

Definition at line 88 of file pdfdocument.hxx.

Referenced by GetStream(), ParseStoredObjects(), and SetStream().

◆ m_rDoc

PDFDocument& vcl::filter::PDFObjectElement::m_rDoc
private

The document owning this element.

Definition at line 71 of file pdfdocument.hxx.

Referenced by GetDocument(), parseIfNecessary(), and ParseStoredObjects().


The documentation for this class was generated from the following files: