libebook::LRFParser Class Reference

#include <LRFParser.h>

List of all members.

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)
LRFParseroperator= (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
LRFHeaderm_header
ObjectIndex_t m_objectIndex
unsigned m_pageTree
ToC_t m_toc

Member Typedef Documentation

typedef std::map<unsigned, LRFIndexEntry> libebook::LRFParser::ObjectIndex_t [private]
typedef std::vector<unsigned> libebook::LRFParser::ToC_t [private]

Member Enumeration Documentation

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

libebook::LRFParser::LRFParser ( const LRFParser other) [private]
libebook::LRFParser::LRFParser ( librevenge::RVNGInputStream *  input,
librevenge::RVNGTextInterface *  document 
)

Member Function Documentation

bool libebook::LRFParser::isObjectRead ( unsigned  id) const [private]
bool libebook::LRFParser::isSupported ( librevenge::RVNGInputStream *  input) [static]
LRFParser& libebook::LRFParser::operator= ( const LRFParser other) [private]
void libebook::LRFParser::readBlockAtrObject ( librevenge::RVNGInputStream *  object,
unsigned  id 
) [private]

Referenced by readObject().

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

Referenced by readObject().

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

Referenced by readObject().

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

Referenced by readObject().

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

Referenced by readObject().

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

Referenced by readObject().

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

Referenced by readObject().

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

Referenced by readObject().

void libebook::LRFParser::readHeader ( ) [private]

Referenced by parse().

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

Referenced by readObject().

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

Referenced by readObject().

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

Referenced by readObject().

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

Referenced by readObject().

Referenced by parse().

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

Referenced by readObject().

Referenced by parse().

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

Referenced by readObject().

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

Referenced by readObject().

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

Referenced by readObject().

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

Referenced by readObject().

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

Referenced by readObject().

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

Referenced by readObject().

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

Referenced by readObject().

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

Referenced by readObject().

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

Referenced by readObject().

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

Referenced by readObject().

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

Referenced by readObject().

Referenced by parse().

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

Referenced by readObject().

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

Referenced by readTOCObject().

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

Referenced by readObject().

double libebook::LRFParser::toInches ( unsigned  px) const [private]

Member Data Documentation

librevenge::RVNGInputStream* libebook::LRFParser::m_input [private]
unsigned libebook::LRFParser::m_pageTree [private]

Referenced by readObject(), and readPageObject().


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