Ipelib: ipe::PdfDict Class Reference

Ipelib

Classes | Public Member Functions | List of all members
ipe::PdfDict Class Reference
Ipe Base

`#include <ipepdfparser.h>`

Inherits ipe::PdfObj.

## Public Member Functions
| PdfDict ()
| ~PdfDict ()
virtual const PdfDict * | dict () const noexcept
String | dictRepr () const noexcept
void | dictWrite (Stream &stream, const PdfRenumber *renumber, bool inflate, int length) const noexcept
virtual void | write (Stream &stream, const PdfRenumber *renumber, bool inflate) const noexcept
void | setStream (const Buffer &stream)
void | add (String key, const PdfObj *obj)
const PdfObj * | get (String key, const PdfFile *file=nullptr) const noexcept
const PdfDict * | getDict (String key, const PdfFile *file=nullptr) const noexcept
const PdfArray * | getArray (String key, const PdfFile *file=nullptr) const noexcept
String | getName (String key, const PdfFile *file=nullptr) const noexcept
bool | getNumber (String key, double &val, const PdfFile *file=nullptr) const noexcept
int | getInteger (String key, const PdfFile *file=nullptr) const noexcept
bool | getNumberArray (String key, const PdfFile *file, std::vector< double > &vals) const noexcept
int | count () const noexcept
String | key (int index) const noexcept
const PdfObj * | value (int index) const noexcept
Buffer | stream () const noexcept
bool | deflated () const noexcept
Buffer | inflate () const noexcept
void | setLateStream (int pos) noexcept
int | lateStream () const noexcept
Public Member Functions inherited from ipe::PdfObj
virtual | ~PdfObj ()=0
virtual const PdfNull * | null () const noexcept
virtual const PdfBool * | boolean () const noexcept
virtual const PdfNumber * | number () const noexcept
virtual const PdfString * | string () const noexcept
virtual const PdfName * | name () const noexcept
virtual const PdfRef * | ref () const noexcept
virtual const PdfArray * | array () const noexcept
String | repr () const noexcept

## Detailed Description

The PDF dictionary and stream objects.

A dictionary may or may not have attached stream data.

## Constructor & Destructor Documentation

## ◆ PdfDict()

ipe::PdfDict::PdfDict | ( |  | ) |
| inlineexplicit

References ipe::PdfObj::dict(), and ipe::PdfObj::write().

## ◆ ~PdfDict()

PdfDict::~PdfDict | ( |  | ) |

## Member Function Documentation

## ◆ dict()

const PdfDict * PdfDict::dict | ( |  | ) | const
| virtualnoexcept

Return this object as PDF dictionary object.

Reimplemented from ipe::PdfObj.

Referenced by ipe::PdfParser::getTrailer().

## ◆ dictRepr()

String PdfDict::dictRepr | ( |  | ) | const
| noexcept

Return PDF representation of the PdfDict without the stream.

## ◆ dictWrite()

void PdfDict::dictWrite | ( | Stream & | stream,
|  | const PdfRenumber * | renumber,
|  | bool | inflate,
|  | int | length
| ) |  | const
| noexcept

## ◆ write()

void PdfDict::write | ( | Stream & | stream,
|  | const PdfRenumber * | renumber,
|  | bool | inflate
| ) |  | const
| virtualnoexcept

Implements ipe::PdfObj.

References ipe::Buffer::size().

## ◆ setStream()

void PdfDict::setStream | ( | const Buffer & | stream | ) |

Add stream data to this dictionary.

Referenced by ipe::PdfParser::getTrailer().

## ◆ add()

void PdfDict::add | ( | String | key,
|  | const PdfObj * | obj
| ) |  |

Add a (key, value) pair to the dictionary.

Dictionary takes ownership of obj.

Referenced by ipe::PdfResources::collect().

## ◆ get()

const PdfObj * PdfDict::get | ( | String | key,
|  | const PdfFile * | file = `nullptr`
| ) |  | const
| noexcept

Look up key in dictionary.

Indirect objects (references) are looked up if file is not nullptr, and the object referred to is returned. Returns nullptr if key is not in dictionary.

Referenced by ipe::PdfResources::collect(), ipe::Latex::createLatexSource(), ipe::CairoPainter::executeStream(), ipe::Document::formatFromFilename(), ipe::PdfParser::getTrailer(), ipe::Latex::readPdf(), ipe::PdfThumbnail::render(), and ipe::PdfViewBase::setPage().

## ◆ getDict()

const PdfDict * PdfDict::getDict | ( | String | key,
|  | const PdfFile * | file = `nullptr`
| ) |  | const
| noexcept

Look up key and return if it is a dictionary.

References ipe::PdfObj::dict().

## ◆ getArray()

const PdfArray * PdfDict::getArray | ( | String | key,
|  | const PdfFile * | file = `nullptr`
| ) |  | const
| noexcept

Look up key and return if it is an array.

References ipe::PdfObj::array().

Referenced by ipe::PdfFile::catalog().

## ◆ getName()

String PdfDict::getName | ( | String | key,
|  | const PdfFile * | file = `nullptr`
| ) |  | const
| noexcept

Look up key and return its value if it is a /Name, otherwise return empty string.

References ipe::PdfObj::name(), and ipe::PdfName::value().

Referenced by ipe::PdfFile::catalog().

## ◆ getNumber()

bool PdfDict::getNumber | ( | String | key,
|  | double & | val,
|  | const PdfFile * | file = `nullptr`
| ) |  | const
| noexcept

Retrieve a single number and stor in val.

References ipe::PdfObj::number(), and ipe::PdfNumber::value().

Referenced by ipe::Latex::createLatexSource(), and ipe::CairoPainter::executeStream().

## ◆ getInteger()

int PdfDict::getInteger | ( | String | key,
|  | const PdfFile * | file = `nullptr`
| ) |  | const
| noexcept

Retrieve a single integer.

Returns -1 on failure.

Referenced by ipe::Latex::createLatexSource(), ipe::CairoPainter::executeStream(), and ipe::PdfParser::getTrailer().

## ◆ getNumberArray()

bool PdfDict::getNumberArray | ( | String | key,
|  | const PdfFile * | file,
|  | std::vector< double > & | vals
| ) |  | const
| noexcept

Retrieve an array of numbers and store in vals.

References ipe::PdfObj::array(), ipe::PdfArray::count(), ipe::PdfObj::number(), ipe::PdfArray::obj(), and ipe::PdfNumber::value().

Referenced by ipe::Latex::createLatexSource(), ipe::CairoPainter::executeStream(), ipe::PdfFile::mediaBox(), and ipe::PdfWriter::~PdfWriter().

## ◆ count()

int ipe::PdfDict::count | ( |  | ) | const
| inlinenoexcept

Referenced by ipe::PdfResources::collect(), ipe::Latex::createLatexSource(), ipe::CairoPainter::executeStream(), ipe::Latex::readPdf(), ipe::PdfResources::setIpeXForm(), and ipe::PdfWriter::~PdfWriter().

## ◆ key()

String ipe::PdfDict::key | ( | int | index | ) | const
| inlinenoexcept

Referenced by ipe::PdfResources::collect(), ipe::Latex::createLatexSource(), ipe::CairoPainter::executeStream(), ipe::Latex::readPdf(), and ipe::PdfWriter::~PdfWriter().

## ◆ value()

const PdfObj* ipe::PdfDict::value | ( | int | index | ) | const
| inlinenoexcept

Referenced by ipe::PdfResources::collect(), ipe::Latex::createLatexSource(), ipe::CairoPainter::executeStream(), ipe::Latex::readPdf(), ipe::PdfResources::setIpeXForm(), and ipe::PdfWriter::~PdfWriter().

## ◆ stream()

Buffer ipe::PdfDict::stream | ( |  | ) | const
| inlinenoexcept

Referenced by ipe::Document::formatFromFilename(), ipe::Face::glyphIndex(), and ipe::PdfWriter::~PdfWriter().

## ◆ deflated()

bool PdfDict::deflated | ( |  | ) | const
| noexcept

Is this stream compressed with flate compression?

References ipe::PdfObj::name(), and ipe::PdfName::value().

Referenced by ipe::Document::formatFromFilename(), and ipe::PdfWriter::~PdfWriter().

## ◆ inflate()

Buffer PdfDict::inflate | ( |  | ) | const
| noexcept

Return the (uncompressed) stream data.

This only handles the /Flate compression.

References ipe::String::data(), ipe::InflateSource::getChar(), ipe::PdfParser::PdfParser(), and ipe::String::size().

Referenced by ipe::CairoPainter::executeStream(), ipe::PdfParser::getTrailer(), ipe::Face::glyphIndex(), and ipe::PdfWriter::~PdfWriter().

## ◆ setLateStream()

void ipe::PdfDict::setLateStream | ( | int | pos | ) |
| inlinenoexcept

Referenced by ipe::PdfParser::getTrailer().

## ◆ lateStream()

int ipe::PdfDict::lateStream | ( |  | ) | const
| inlinenoexcept

Referenced by ipe::PdfParser::getObjectDef(), and ipe::PdfParser::getTrailer().

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

- ipepdfparser.h
- ipepdfparser.cpp