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)
 
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 
)
libebook::LRFParser::~LRFParser ( )

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
bool libebook::LRFParser::parse ( )
bool libebook::LRFParser::readAttribute ( unsigned  tag,
librevenge::RVNGInputStream *  input,
LRFAttributes attributes 
)
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().

void libebook::LRFParser::readMetadata ( )
private

Referenced by parse().

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

Referenced by readObject().

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

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().

void libebook::LRFParser::readThumbnail ( )
private

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().

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

Member Data Documentation

LRFHeader* libebook::LRFParser::m_header
private
librevenge::RVNGInputStream* libebook::LRFParser::m_input
private
ObjectIndex_t libebook::LRFParser::m_objectIndex
private
unsigned libebook::LRFParser::m_pageTree
private

Referenced by readObject(), and readPageObject().

ToC_t libebook::LRFParser::m_toc
private

Referenced by readBlockObject(), and readToCStream().


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

Generated for libe-book by doxygen 1.8.8