Classes | Public Member Functions | Static Public Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
libebook::LRFParser Class Reference

`#include <LRFParser.h>`

## Classes
struct | LRFIndexEntry

## Public Member Functions
| LRFParser (librevenge::RVNGInputStream *input, librevenge::RVNGTextInterface *document)
| ~LRFParser ()
bool | parse ()

## Static Public Member Functions
static bool | isSupported (librevenge::RVNGInputStream *input)

## Private Types
enum | ObjectType { OBJECT_TYPE_UNSPECIFIED = 0x0, OBJECT_TYPE_PAGE_TREE = 0x1, OBJECT_TYPE_PAGE = 0x2, OBJECT_TYPE_HEADER = 0x3, OBJECT_TYPE_FOOTER = 0x4, OBJECT_TYPE_PAGE_ATR = 0x5, OBJECT_TYPE_BLOCK = 0x6, OBJECT_TYPE_BLOCK_ATR = 0x7, OBJECT_TYPE_MINI_PAGE = 0x8, OBJECT_TYPE_BLOCK_LIST = 0x9, OBJECT_TYPE_TEXT = 0xa, OBJECT_TYPE_TEXT_ATR = 0xb, OBJECT_TYPE_IMAGE = 0xc, OBJECT_TYPE_CANVAS = 0xd, OBJECT_TYPE_PARAGRAPH_ATR = 0xe, OBJECT_TYPE_IMAGE_STREAM = 0x11, OBJECT_TYPE_IMPORT = 0x12, OBJECT_TYPE_BUTTON = 0x13, OBJECT_TYPE_WINDOW = 0x14, OBJECT_TYPE_POP_UP_WIN = 0x15, OBJECT_TYPE_SOUND = 0x16, OBJECT_TYPE_PLANE_STREAM = 0x17, OBJECT_TYPE_FONT = 0x19, OBJECT_TYPE_OBJECT_INFO = 0x1a, OBJECT_TYPE_BOOK_ATR = 0x1c, OBJECT_TYPE_SIMPLE_TEXT = 0x1d, OBJECT_TYPE_TOC = 0x1e }
typedef std::map< unsigned, LRFIndexEntry > | ObjectIndex_t
typedef std::vector< unsigned > | ToC_t

## Private Member Functions
| LRFParser (const LRFParser &other)
LRFParser & | operator= (const LRFParser &other)
void | readHeader ()
void | readMetadata ()
void | readThumbnail ()
void | readObjectIndex ()
void | readObject (unsigned id, unsigned type=OBJECT_TYPE_UNSPECIFIED)
void | readPageTreeObject (librevenge::RVNGInputStream *object)
void | readPageObject (librevenge::RVNGInputStream *object)
void | readFooterObject (librevenge::RVNGInputStream *object)
void | readHeaderObject (librevenge::RVNGInputStream *object)
void | readPageAtrObject (librevenge::RVNGInputStream *object, unsigned id)
void | readBlockObject (librevenge::RVNGInputStream *object, unsigned id)
void | readBlockAtrObject (librevenge::RVNGInputStream *object, unsigned id)
void | readMiniPageObject (librevenge::RVNGInputStream *object)
void | readBlockListObject (librevenge::RVNGInputStream *object)
void | readTextObject (librevenge::RVNGInputStream *object)
void | readTextAtrObject (librevenge::RVNGInputStream *object, unsigned id)
void | readImageObject (librevenge::RVNGInputStream *object, unsigned id)
void | readCanvasObject (librevenge::RVNGInputStream *object)
void | readParagraphAtrObject (librevenge::RVNGInputStream *object, unsigned id)
void | readImageStreamObject (librevenge::RVNGInputStream *object, unsigned id)
void | readImportObject (librevenge::RVNGInputStream *object)
void | readButtonObject (librevenge::RVNGInputStream *object)
void | readWindowObject (librevenge::RVNGInputStream *object)
void | readPopUpWinObject (librevenge::RVNGInputStream *object)
void | readSoundObject (librevenge::RVNGInputStream *object)
void | readPlaneStreamObject (librevenge::RVNGInputStream *object)
void | readFontObject (librevenge::RVNGInputStream *object)
void | readObjectInfoObject (librevenge::RVNGInputStream *object)
void | readBookAtrObject (librevenge::RVNGInputStream *object)
void | readSimpleTextObject (librevenge::RVNGInputStream *object)
void | readTOCObject (librevenge::RVNGInputStream *object)
void | readToCStream (librevenge::RVNGInputStream *input)
bool | readAttribute (unsigned tag, librevenge::RVNGInputStream *input, LRFAttributes &attributes)
void | skipUnhandledTag (unsigned tag, librevenge::RVNGInputStream *input, const char *objectType)
bool | isObjectRead (unsigned id) const
double | toInches (unsigned px) const

## Private Attributes
LRFCollector | m_collector
librevenge::RVNGInputStream * | m_input
LRFHeader * | m_header
ObjectIndex_t | m_objectIndex
unsigned | m_pageTree
ToC_t | m_toc

## Member Typedef Documentation

## § ObjectIndex_t

typedef std::map<unsigned, LRFIndexEntry> libebook::LRFParser::ObjectIndex_t
| private

## § ToC_t

typedef std::vector<unsigned> libebook::LRFParser::ToC_t
| private

## Member Enumeration Documentation

## § ObjectType

enum libebook::LRFParser::ObjectType
| private

Enumerator
OBJECT_TYPE_UNSPECIFIED |
OBJECT_TYPE_PAGE_TREE |
OBJECT_TYPE_PAGE |
OBJECT_TYPE_HEADER |
OBJECT_TYPE_FOOTER |
OBJECT_TYPE_PAGE_ATR |
OBJECT_TYPE_BLOCK |
OBJECT_TYPE_BLOCK_ATR |
OBJECT_TYPE_MINI_PAGE |
OBJECT_TYPE_BLOCK_LIST |
OBJECT_TYPE_TEXT |
OBJECT_TYPE_TEXT_ATR |
OBJECT_TYPE_IMAGE |
OBJECT_TYPE_CANVAS |
OBJECT_TYPE_PARAGRAPH_ATR |
OBJECT_TYPE_IMAGE_STREAM |
OBJECT_TYPE_IMPORT |
OBJECT_TYPE_BUTTON |
OBJECT_TYPE_WINDOW |
OBJECT_TYPE_POP_UP_WIN |
OBJECT_TYPE_SOUND |
OBJECT_TYPE_PLANE_STREAM |
OBJECT_TYPE_FONT |
OBJECT_TYPE_OBJECT_INFO |
OBJECT_TYPE_BOOK_ATR |
OBJECT_TYPE_SIMPLE_TEXT |
OBJECT_TYPE_TOC |

## Constructor & Destructor Documentation

## § LRFParser() [1/2]

libebook::LRFParser::LRFParser | ( | const LRFParser & | other | ) |
| private

## § LRFParser() [2/2]

libebook::LRFParser::LRFParser | ( | librevenge::RVNGInputStream * | input,
|  | librevenge::RVNGTextInterface * | document
| ) |  |

## § ~LRFParser()

libebook::LRFParser::~LRFParser | ( |  | ) |

## Member Function Documentation

## § isObjectRead()

bool libebook::LRFParser::isObjectRead | ( | unsigned | id | ) | const
| private

Referenced by readBlockObject(), readImageObject(), readPageObject(), and readTextObject().

## § isSupported()

bool libebook::LRFParser::isSupported | ( | librevenge::RVNGInputStream * | input | ) |
| static

## § operator=()

LRFParser& libebook::LRFParser::operator= | ( | const LRFParser & | other | ) |
| private

## § parse()

bool libebook::LRFParser::parse | ( |  | ) |

## § readAttribute()

bool libebook::LRFParser::readAttribute | ( | unsigned | tag,
|  | librevenge::RVNGInputStream * | input,
|  | LRFAttributes & | attributes
| ) |  |
| private

Referenced by readBlockAtrObject(), readBlockObject(), readBookAtrObject(), readPageAtrObject(), readPageObject(), readParagraphAtrObject(), readTextAtrObject(), and readTextObject().

## § readBlockAtrObject()

void libebook::LRFParser::readBlockAtrObject | ( | librevenge::RVNGInputStream * | object,
|  | unsigned | id
| ) |  |
| private

Referenced by readObject().

## § readBlockListObject()

void libebook::LRFParser::readBlockListObject | ( | librevenge::RVNGInputStream * | object | ) |
| private

Referenced by readObject().

## § readBlockObject()

void libebook::LRFParser::readBlockObject | ( | librevenge::RVNGInputStream * | object,
|  | unsigned | id
| ) |  |
| private

Referenced by readObject().

## § readBookAtrObject()

void libebook::LRFParser::readBookAtrObject | ( | librevenge::RVNGInputStream * | object | ) |
| private

Referenced by readObject().

## § readButtonObject()

void libebook::LRFParser::readButtonObject | ( | librevenge::RVNGInputStream * | object | ) |
| private

Referenced by readObject().

## § readCanvasObject()

void libebook::LRFParser::readCanvasObject | ( | librevenge::RVNGInputStream * | object | ) |
| private

Referenced by readObject().

## § readFontObject()

void libebook::LRFParser::readFontObject | ( | librevenge::RVNGInputStream * | object | ) |
| private

Referenced by readObject().

## § readFooterObject()

void libebook::LRFParser::readFooterObject | ( | librevenge::RVNGInputStream * | object | ) |
| private

Referenced by readObject().

## § readHeader()

void libebook::LRFParser::readHeader | ( |  | ) |
| private

Referenced by parse().

## § readHeaderObject()

void libebook::LRFParser::readHeaderObject | ( | librevenge::RVNGInputStream * | object | ) |
| private

Referenced by readObject().

## § readImageObject()

void libebook::LRFParser::readImageObject | ( | librevenge::RVNGInputStream * | object,
|  | unsigned | id
| ) |  |
| private

Referenced by readObject().

## § readImageStreamObject()

void libebook::LRFParser::readImageStreamObject | ( | librevenge::RVNGInputStream * | object,
|  | unsigned | id
| ) |  |
| private

Referenced by readObject().

## § readImportObject()

void libebook::LRFParser::readImportObject | ( | librevenge::RVNGInputStream * | object | ) |
| private

Referenced by readObject().

## § readMetadata()

void libebook::LRFParser::readMetadata | ( |  | ) |
| private

Referenced by parse().

## § readMiniPageObject()

void libebook::LRFParser::readMiniPageObject | ( | librevenge::RVNGInputStream * | object | ) |
| private

Referenced by readObject().

## § readObject()

void libebook::LRFParser::readObject | ( | unsigned | id,
|  | unsigned | type = `OBJECT_TYPE_UNSPECIFIED`
| ) |  |
| private

Referenced by parse(), readBlockObject(), readBookAtrObject(), readImageObject(), readPageObject(), readPageTreeObject(), and readTextObject().

## § readObjectIndex()

void libebook::LRFParser::readObjectIndex | ( |  | ) |
| private

Referenced by parse().

## § readObjectInfoObject()

void libebook::LRFParser::readObjectInfoObject | ( | librevenge::RVNGInputStream * | object | ) |
| private

Referenced by readObject().

## § readPageAtrObject()

void libebook::LRFParser::readPageAtrObject | ( | librevenge::RVNGInputStream * | object,
|  | unsigned | id
| ) |  |
| private

Referenced by readObject().

## § readPageObject()

void libebook::LRFParser::readPageObject | ( | librevenge::RVNGInputStream * | object | ) |
| private

Referenced by readObject().

## § readPageTreeObject()

void libebook::LRFParser::readPageTreeObject | ( | librevenge::RVNGInputStream * | object | ) |
| private

Referenced by readObject().

## § readParagraphAtrObject()

void libebook::LRFParser::readParagraphAtrObject | ( | librevenge::RVNGInputStream * | object,
|  | unsigned | id
| ) |  |
| private

Referenced by readObject().

## § readPlaneStreamObject()

void libebook::LRFParser::readPlaneStreamObject | ( | librevenge::RVNGInputStream * | object | ) |
| private

Referenced by readObject().

## § readPopUpWinObject()

void libebook::LRFParser::readPopUpWinObject | ( | librevenge::RVNGInputStream * | object | ) |
| private

Referenced by readObject().

## § readSimpleTextObject()

void libebook::LRFParser::readSimpleTextObject | ( | librevenge::RVNGInputStream * | object | ) |
| private

Referenced by readObject().

## § readSoundObject()

void libebook::LRFParser::readSoundObject | ( | librevenge::RVNGInputStream * | object | ) |
| private

Referenced by readObject().

## § readTextAtrObject()

void libebook::LRFParser::readTextAtrObject | ( | librevenge::RVNGInputStream * | object,
|  | unsigned | id
| ) |  |
| private

Referenced by readObject().

## § readTextObject()

void libebook::LRFParser::readTextObject | ( | librevenge::RVNGInputStream * | object | ) |
| private

Referenced by readObject().

## § readThumbnail()

void libebook::LRFParser::readThumbnail | ( |  | ) |
| private

Referenced by parse().

## § readTOCObject()

void libebook::LRFParser::readTOCObject | ( | librevenge::RVNGInputStream * | object | ) |
| private

Referenced by readObject().

## § readToCStream()

void libebook::LRFParser::readToCStream | ( | librevenge::RVNGInputStream * | input | ) |
| private

Referenced by readTOCObject().

## § readWindowObject()

void libebook::LRFParser::readWindowObject | ( | librevenge::RVNGInputStream * | object | ) |
| private

Referenced by readObject().

## § skipUnhandledTag()

void libebook::LRFParser::skipUnhandledTag | ( | unsigned | tag,
|  | librevenge::RVNGInputStream * | input,
|  | const char * | objectType
| ) |  |
| private

Referenced by readBlockAtrObject(), readBlockObject(), readBookAtrObject(), readImageObject(), readImageStreamObject(), readPageAtrObject(), readPageObject(), readParagraphAtrObject(), readTextAtrObject(), readTextObject(), and readTOCObject().

## § toInches()

double libebook::LRFParser::toInches | ( | unsigned | px | ) | const
| private

## Member Data Documentation

## § m_collector

LRFCollector libebook::LRFParser::m_collector
| private

Referenced by parse(), readBlockAtrObject(), readBlockObject(), readBookAtrObject(), readImageObject(), readImageStreamObject(), readMetadata(), readPageAtrObject(), readPageObject(), readParagraphAtrObject(), readTextAtrObject(), and readTextObject().

## § m_header

LRFHeader* libebook::LRFParser::m_header
| private

Referenced by parse(), readHeader(), readMetadata(), readObjectIndex(), and ~LRFParser().

## § m_input

librevenge::RVNGInputStream* libebook::LRFParser::m_input
| private

Referenced by readHeader(), readMetadata(), readObject(), and readObjectIndex().

## § m_objectIndex

ObjectIndex_t libebook::LRFParser::m_objectIndex
| private

Referenced by isObjectRead(), readObject(), readObjectIndex(), and readToCStream().

## § m_pageTree

unsigned libebook::LRFParser::m_pageTree
| private

Referenced by readObject(), and readPageObject().

## § m_toc

ToC_t libebook::LRFParser::m_toc
| private

Referenced by readBlockObject(), and readToCStream().

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

- LRFParser.h
- LRFParser.cpp