10 #ifndef __MSPUBPARSER_H__
11 #define __MSPUBPARSER_H__
18 #include <boost/shared_ptr.hpp>
19 #include <boost/optional.hpp>
21 #include <librevenge/librevenge.h>
22 #include <librevenge/librevenge.h>
93 virtual bool parseContents(librevenge::RVNGInputStream *input);
94 bool parseQuill(librevenge::RVNGInputStream *input);
95 bool parseEscher(librevenge::RVNGInputStream *input);
126 std::vector<Calculation>
parseGuides(
const std::vector<unsigned char>
128 std::vector<Vertex>
parseVertices(
const std::vector<unsigned char>
133 const std::vector<unsigned char> &segmentData);
135 const std::vector<unsigned char> &vertexData,
136 const std::vector<unsigned char> &segmentData,
137 const std::vector<unsigned char> &guideData,
138 unsigned geoWidth,
unsigned geoHeight);
143 boost::shared_ptr<Fill>
getNewFill(
const std::map<unsigned short, unsigned> &foptValues,
bool &skipIfNotBg, std::map<
unsigned short, std::vector<unsigned char> > &foptVal);
170 unsigned *geomFlags = NULL);
175 #endif // __MSPUBRAPHICS_H__
virtual unsigned getColorIndexByQuillEntry(unsigned entry)
Definition: MSPUBParser.cpp:64
static int getStartOffset(ImgType type, unsigned short initial)
Definition: MSPUBParser.cpp:190
std::map< unsigned short, unsigned > extractEscherValues(librevenge::RVNGInputStream *input, const EscherContainerInfo &record)
Definition: MSPUBParser.cpp:2208
bool parseContentChunkReference(librevenge::RVNGInputStream *input, MSPUBBlockInfo block)
Definition: MSPUBParser.cpp:2222
bool findEscherContainerWithTypeInSet(librevenge::RVNGInputStream *input, const EscherContainerInfo &parent, EscherContainerInfo &out, std::set< unsigned short > types)
Definition: MSPUBParser.cpp:2131
bool parseQuill(librevenge::RVNGInputStream *input)
Definition: MSPUBParser.cpp:860
unsigned seqNum
Definition: MSPUBTypes.h:74
std::vector< int > m_escherDelayIndices
Definition: MSPUBParser.h:160
EscherContainerInfo parseEscherContainer(librevenge::RVNGInputStream *input)
Definition: MSPUBParser.cpp:2322
static bool isBlockDataString(unsigned type)
Definition: MSPUBParser.cpp:2313
void parseFonts(librevenge::RVNGInputStream *input, const QuillChunkReference &chunk)
Definition: MSPUBParser.cpp:1027
std::vector< unsigned > parseTableCellDefinitions(librevenge::RVNGInputStream *input, const QuillChunkReference &chunk)
Definition: MSPUBParser.cpp:842
MSPUBBlockInfo parseBlock(librevenge::RVNGInputStream *input, bool skipHierarchicalData=false)
Definition: MSPUBParser.cpp:2333
Definition: PolygonUtils.h:91
bool operator()(const libmspub::ContentChunkReference &ref)
Definition: MSPUBParser.h:48
std::vector< unsigned > m_borderArtChunkIndices
Definition: MSPUBParser.h:153
boost::shared_ptr< Fill > getNewFill(const std::map< unsigned short, unsigned > &foptValues, bool &skipIfNotBg, std::map< unsigned short, std::vector< unsigned char > > &foptVal)
Definition: MSPUBParser.cpp:1838
static ImgType imgTypeByBlipType(unsigned short type)
Definition: MSPUBParser.cpp:166
Definition: MSPUBTypes.h:54
void skipBlock(librevenge::RVNGInputStream *input, MSPUBBlockInfo block)
Definition: MSPUBParser.cpp:2317
DynamicCustomShape getDynamicCustomShape(const std::vector< unsigned char > &vertexData, const std::vector< unsigned char > &segmentData, const std::vector< unsigned char > &guideData, unsigned geoWidth, unsigned geoHeight)
Definition: MSPUBParser.cpp:2007
FOPTValues extractFOPTValues(librevenge::RVNGInputStream *input, const libmspub::EscherContainerInfo &record)
Definition: MSPUBParser.cpp:2162
std::vector< TextSpanReference > parseCharacterStyles(librevenge::RVNGInputStream *input, const QuillChunkReference &chunk)
Definition: MSPUBParser.cpp:1120
FOPTValues()
Definition: MSPUBParser.h:58
std::vector< unsigned short > parseSegments(const std::vector< unsigned char > &segmentData)
Definition: MSPUBParser.cpp:2019
void parseColors(librevenge::RVNGInputStream *input, const QuillChunkReference &chunk)
Definition: MSPUBParser.cpp:1073
unsigned short first
Definition: MSPUBParser.h:83
MSPUBCollector * m_collector
Definition: MSPUBParser.h:146
void parsePaletteEntry(librevenge::RVNGInputStream *input, MSPUBBlockInfo block)
Definition: MSPUBParser.cpp:2425
bool parseDocumentChunk(librevenge::RVNGInputStream *input, const ContentChunkReference &chunk)
Definition: MSPUBParser.cpp:417
std::vector< unsigned > m_fontChunkIndices
Definition: MSPUBParser.h:154
std::vector< int > m_alternateShapeSeqNums
Definition: MSPUBParser.h:159
unsigned m_lastAddedImage
Definition: MSPUBParser.h:158
std::vector< Vertex > parseVertices(const std::vector< unsigned char > &vertexData)
Definition: MSPUBParser.cpp:2052
ParagraphStyle paraStyle
Definition: MSPUBParser.h:85
static PageType getPageTypeBySeqNum(unsigned seqNum)
Definition: MSPUBParser.cpp:2384
Definition: MSPUBTypes.h:66
bool parsePaletteChunk(librevenge::RVNGInputStream *input, const ContentChunkReference &chunk)
Definition: MSPUBParser.cpp:2398
std::vector< ContentChunkReference >::const_iterator ccr_iterator_t
Definition: MSPUBParser.h:88
TextParagraphReference(unsigned short f, unsigned short l, const ParagraphStyle &ps)
Definition: MSPUBParser.h:82
bool parseEscherDelay(librevenge::RVNGInputStream *input)
Definition: MSPUBParser.cpp:231
static unsigned getEscherElementAdditionalHeaderLength(unsigned short type)
Definition: MSPUBParser.cpp:2120
CharacterStyle charStyle
Definition: MSPUBParser.h:77
Definition: Coordinate.h:15
std::vector< unsigned > m_shapeChunkIndices
Definition: MSPUBParser.h:151
CharacterStyle getCharacterStyle(librevenge::RVNGInputStream *input)
Definition: MSPUBParser.cpp:1277
std::vector< Calculation > parseGuides(const std::vector< unsigned char > &guideData)
Definition: MSPUBParser.cpp:2042
bool parseFontChunk(librevenge::RVNGInputStream *input, const ContentChunkReference &chunk)
Definition: MSPUBParser.cpp:461
static bool lineExistsByFlagPointer(unsigned *flags, unsigned *geomFlags=NULL)
Definition: MSPUBParser.cpp:54
unsigned parentSeqNum
Definition: MSPUBTypes.h:75
virtual bool parse()
Definition: MSPUBParser.cpp:112
unsigned short last
Definition: MSPUBParser.h:76
PageType
Definition: MSPUBTypes.h:172
static short getBlockDataLength(unsigned type)
Definition: MSPUBParser.cpp:69
unsigned short first
Definition: MSPUBParser.h:75
ImgType
Definition: MSPUBTypes.h:179
Definition: MSPUBParser.h:32
void parseDefaultStyle(librevenge::RVNGInputStream *input, const QuillChunkReference &chunk)
Definition: MSPUBParser.cpp:1045
FindBySeqNum(unsigned sn)
Definition: MSPUBParser.h:36
static unsigned getEscherElementTailLength(unsigned short type)
Definition: MSPUBParser.cpp:2108
unsigned short last
Definition: MSPUBParser.h:84
Definition: MSPUBTypes.h:46
void parseEscherShape(librevenge::RVNGInputStream *input, const EscherContainerInfo &sp, Coordinate &parentCoordinateSystem, Coordinate &parentGroupAbsoluteCoord)
Definition: MSPUBParser.cpp:1444
Definition: MSPUBParser.h:80
std::map< unsigned short, unsigned > m_scalarValues
Definition: MSPUBParser.h:56
std::map< unsigned short, std::vector< unsigned char > > m_complexValues
Definition: MSPUBParser.h:57
Definition: MSPUBTypes.h:129
bool findEscherContainer(librevenge::RVNGInputStream *input, const EscherContainerInfo &parent, EscherContainerInfo &out, unsigned short type)
Definition: MSPUBParser.cpp:2146
bool parseEscher(librevenge::RVNGInputStream *input)
Definition: MSPUBParser.cpp:1375
librevenge::RVNGInputStream * m_input
Definition: MSPUBParser.h:145
virtual bool parseContents(librevenge::RVNGInputStream *input)
Definition: MSPUBParser.cpp:311
Definition: MSPUBParser.h:54
bool operator()(const libmspub::ContentChunkReference &ref)
Definition: MSPUBParser.h:37
Definition: MSPUBTypes.h:78
unsigned getFontIndex(librevenge::RVNGInputStream *input, const MSPUBBlockInfo &info)
Definition: MSPUBParser.cpp:1337
TextSpanReference(unsigned short f, unsigned short l, const CharacterStyle &cs)
Definition: MSPUBParser.h:74
int getColorIndex(librevenge::RVNGInputStream *input, const MSPUBBlockInfo &info)
Definition: MSPUBParser.cpp:1358
FindByParentSeqNum(unsigned sn)
Definition: MSPUBParser.h:47
std::vector< unsigned > m_cellsChunkIndices
Definition: MSPUBParser.h:149
unsigned seqNum
Definition: MSPUBParser.h:45
Definition: MSPUBTypes.h:88
boost::optional< unsigned > m_documentChunkIndex
Definition: MSPUBParser.h:156
Definition: MSPUBCollector.h:46
Definition: MSPUBParser.h:63
std::vector< ContentChunkReference > m_contentChunks
Definition: MSPUBParser.h:148
std::vector< TextParagraphReference > parseParagraphStyles(librevenge::RVNGInputStream *input, const QuillChunkReference &chunk)
Definition: MSPUBParser.cpp:1092
std::vector< unsigned > m_pageChunkIndices
Definition: MSPUBParser.h:150
void parseShapeGroup(librevenge::RVNGInputStream *input, const EscherContainerInfo &spgr, Coordinate parentCoordinateSystem, Coordinate parentGroupAbsoluteCoord)
Definition: MSPUBParser.cpp:1421
std::vector< unsigned > m_paletteChunkIndices
Definition: MSPUBParser.h:152
QuillChunkReference parseQuillChunkReference(librevenge::RVNGInputStream *input)
Definition: MSPUBParser.cpp:817
bool parseBorderArtChunk(librevenge::RVNGInputStream *input, const ContentChunkReference &chunk)
Definition: MSPUBParser.cpp:514
virtual ~MSPUBParser()
Definition: MSPUBParser.cpp:50
Definition: MSPUBParser.h:72
bool parsePageShapeList(librevenge::RVNGInputStream *input, MSPUBBlockInfo block, unsigned pageSeqNum)
Definition: MSPUBParser.cpp:620
int m_lastSeenSeqNum
Definition: MSPUBParser.h:157
MSPUBParser & operator=(const MSPUBParser &)
bool parsePageChunk(librevenge::RVNGInputStream *input, const ContentChunkReference &chunk)
Definition: MSPUBParser.cpp:578
ParagraphStyle getParagraphStyle(librevenge::RVNGInputStream *input)
Definition: MSPUBParser.cpp:1147
std::vector< MSPUBBlockInfo > m_blockInfo
Definition: MSPUBParser.h:147
std::vector< unsigned > m_unknownChunkIndices
Definition: MSPUBParser.h:155
unsigned seqNum
Definition: MSPUBParser.h:34
bool parseShape(librevenge::RVNGInputStream *input, const ContentChunkReference &chunk)
Definition: MSPUBParser.cpp:634
Definition: MSPUBParser.h:43