30 #ifndef __MSPUBPARSER_H__
31 #define __MSPUBPARSER_H__
38 #include <boost/shared_ptr.hpp>
39 #include <boost/optional.hpp>
41 #include <libwpd/libwpd.h>
42 #include <libwpg/libwpg.h>
148 std::vector<Calculation>
parseGuides(
const std::vector<unsigned char>
150 std::vector<Vertex>
parseVertices(
const std::vector<unsigned char>
155 const std::vector<unsigned char> &segmentData);
157 const std::vector<unsigned char> &vertexData,
158 const std::vector<unsigned char> &segmentData,
159 const std::vector<unsigned char> &guideData,
160 unsigned geoWidth,
unsigned geoHeight);
165 boost::shared_ptr<Fill>
getNewFill(
const std::map<unsigned short, unsigned> &foptValues,
bool &skipIfNotBg, std::map<
unsigned short, std::vector<unsigned char> > &foptVal);
192 unsigned *geomFlags = NULL);
197 #endif // __MSPUBRAPHICS_H__
virtual unsigned getColorIndexByQuillEntry(unsigned entry)
Definition: MSPUBParser.cpp:81
static int getStartOffset(ImgType type, unsigned short initial)
Definition: MSPUBParser.cpp:207
bool findEscherContainer(WPXInputStream *input, const EscherContainerInfo &parent, EscherContainerInfo &out, unsigned short type)
Definition: MSPUBParser.cpp:2162
std::vector< Vertex > parseVertices(const std::vector< unsigned char > &vertexData)
Definition: MSPUBParser.cpp:2068
void parseEscherShape(WPXInputStream *input, const EscherContainerInfo &sp, Coordinate &parentCoordinateSystem, Coordinate &parentGroupAbsoluteCoord)
Definition: MSPUBParser.cpp:1460
unsigned seqNum
Definition: MSPUBTypes.h:94
std::vector< int > m_escherDelayIndices
Definition: MSPUBParser.h:182
static bool isBlockDataString(unsigned type)
Definition: MSPUBParser.cpp:2329
bool parseEscher(WPXInputStream *input)
Definition: MSPUBParser.cpp:1391
unsigned getFontIndex(WPXInputStream *input, const MSPUBBlockInfo &info)
Definition: MSPUBParser.cpp:1353
void parsePaletteEntry(WPXInputStream *input, MSPUBBlockInfo block)
Definition: MSPUBParser.cpp:2440
Definition: PolygonUtils.h:110
bool operator()(const libmspub::ContentChunkReference &ref)
Definition: MSPUBParser.h:70
std::vector< unsigned > m_borderArtChunkIndices
Definition: MSPUBParser.h:175
ParagraphStyle getParagraphStyle(WPXInputStream *input)
Definition: MSPUBParser.cpp:1163
Definition: MSPUBTypes.h:74
EscherContainerInfo parseEscherContainer(WPXInputStream *input)
Definition: MSPUBParser.cpp:2338
void parseFonts(WPXInputStream *input, const QuillChunkReference &chunk)
Definition: MSPUBParser.cpp:1043
FOPTValues()
Definition: MSPUBParser.h:80
std::vector< unsigned short > parseSegments(const std::vector< unsigned char > &segmentData)
Definition: MSPUBParser.cpp:2035
unsigned short first
Definition: MSPUBParser.h:105
MSPUBCollector * m_collector
Definition: MSPUBParser.h:168
QuillChunkReference parseQuillChunkReference(WPXInputStream *input)
Definition: MSPUBParser.cpp:833
bool parseContentChunkReference(WPXInputStream *input, MSPUBBlockInfo block)
Definition: MSPUBParser.cpp:2238
std::vector< unsigned > m_fontChunkIndices
Definition: MSPUBParser.h:176
std::vector< int > m_alternateShapeSeqNums
Definition: MSPUBParser.h:181
bool parseEscherDelay(WPXInputStream *input)
Definition: MSPUBParser.cpp:248
void parseShapeGroup(WPXInputStream *input, const EscherContainerInfo &spgr, Coordinate parentCoordinateSystem, Coordinate parentGroupAbsoluteCoord)
Definition: MSPUBParser.cpp:1437
unsigned m_lastAddedImage
Definition: MSPUBParser.h:180
ParagraphStyle paraStyle
Definition: MSPUBParser.h:107
Definition: MSPUBTypes.h:86
std::vector< ContentChunkReference >::const_iterator ccr_iterator_t
Definition: MSPUBParser.h:110
TextParagraphReference(unsigned short f, unsigned short l, const ParagraphStyle &ps)
Definition: MSPUBParser.h:104
static unsigned getEscherElementAdditionalHeaderLength(unsigned short type)
Definition: MSPUBParser.cpp:2136
CharacterStyle charStyle
Definition: MSPUBParser.h:99
Definition: Coordinate.h:34
std::vector< unsigned > m_shapeChunkIndices
Definition: MSPUBParser.h:173
static PageType getPageTypeBySeqNum(unsigned seqNum)
Definition: MSPUBParser.cpp:2399
void skipBlock(WPXInputStream *input, MSPUBBlockInfo block)
Definition: MSPUBParser.cpp:2333
bool parseFontChunk(WPXInputStream *input, const ContentChunkReference &chunk)
Definition: MSPUBParser.cpp:477
static bool lineExistsByFlagPointer(unsigned *flags, unsigned *geomFlags=NULL)
Definition: MSPUBParser.cpp:71
unsigned parentSeqNum
Definition: MSPUBTypes.h:95
CharacterStyle getCharacterStyle(WPXInputStream *input)
Definition: MSPUBParser.cpp:1293
virtual bool parse()
Definition: MSPUBParser.cpp:129
unsigned short last
Definition: MSPUBParser.h:98
PageType
Definition: MSPUBTypes.h:192
static short getBlockDataLength(unsigned type)
Definition: MSPUBParser.cpp:86
unsigned short first
Definition: MSPUBParser.h:97
ImgType
Definition: MSPUBTypes.h:199
Definition: MSPUBParser.h:54
WPXInputStream * m_input
Definition: MSPUBParser.h:167
bool parseShape(WPXInputStream *input, const ContentChunkReference &chunk)
Definition: MSPUBParser.cpp:650
void parseColors(WPXInputStream *input, const QuillChunkReference &chunk)
Definition: MSPUBParser.cpp:1089
FindBySeqNum(unsigned sn)
Definition: MSPUBParser.h:58
static unsigned getEscherElementTailLength(unsigned short type)
Definition: MSPUBParser.cpp:2124
unsigned short last
Definition: MSPUBParser.h:106
Definition: MSPUBTypes.h:66
bool findEscherContainerWithTypeInSet(WPXInputStream *input, const EscherContainerInfo &parent, EscherContainerInfo &out, std::set< unsigned short > types)
Definition: MSPUBParser.cpp:2147
std::vector< TextSpanReference > parseCharacterStyles(WPXInputStream *input, const QuillChunkReference &chunk)
Definition: MSPUBParser.cpp:1136
Definition: MSPUBParser.h:102
std::map< unsigned short, unsigned > m_scalarValues
Definition: MSPUBParser.h:78
std::vector< TextParagraphReference > parseParagraphStyles(WPXInputStream *input, const QuillChunkReference &chunk)
Definition: MSPUBParser.cpp:1108
std::map< unsigned short, std::vector< unsigned char > > m_complexValues
Definition: MSPUBParser.h:79
Definition: MSPUBTypes.h:149
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:2023
bool parsePaletteChunk(WPXInputStream *input, const ContentChunkReference &chunk)
Definition: MSPUBParser.cpp:2413
bool parseQuill(WPXInputStream *input)
Definition: MSPUBParser.cpp:876
Definition: MSPUBParser.h:76
bool operator()(const libmspub::ContentChunkReference &ref)
Definition: MSPUBParser.h:59
Definition: MSPUBTypes.h:98
bool parseDocumentChunk(WPXInputStream *input, const ContentChunkReference &chunk)
Definition: MSPUBParser.cpp:433
TextSpanReference(unsigned short f, unsigned short l, const CharacterStyle &cs)
Definition: MSPUBParser.h:96
std::map< unsigned short, unsigned > extractEscherValues(WPXInputStream *input, const EscherContainerInfo &record)
Definition: MSPUBParser.cpp:2224
FindByParentSeqNum(unsigned sn)
Definition: MSPUBParser.h:69
std::vector< unsigned > m_cellsChunkIndices
Definition: MSPUBParser.h:171
unsigned seqNum
Definition: MSPUBParser.h:67
Definition: MSPUBTypes.h:108
std::vector< unsigned > parseTableCellDefinitions(WPXInputStream *input, const QuillChunkReference &chunk)
Definition: MSPUBParser.cpp:858
MSPUBBlockInfo parseBlock(WPXInputStream *input, bool skipHierarchicalData=false)
Definition: MSPUBParser.cpp:2349
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:1854
bool parsePageChunk(WPXInputStream *input, const ContentChunkReference &chunk)
Definition: MSPUBParser.cpp:594
boost::optional< unsigned > m_documentChunkIndex
Definition: MSPUBParser.h:178
virtual bool parseContents(WPXInputStream *input)
Definition: MSPUBParser.cpp:327
bool parseBorderArtChunk(WPXInputStream *input, const ContentChunkReference &chunk)
Definition: MSPUBParser.cpp:530
Definition: MSPUBCollector.h:66
Definition: MSPUBParser.h:85
std::vector< ContentChunkReference > m_contentChunks
Definition: MSPUBParser.h:170
static ImgType imgTypeByBlipType(unsigned short type)
Definition: MSPUBParser.cpp:183
std::vector< unsigned > m_pageChunkIndices
Definition: MSPUBParser.h:172
std::vector< unsigned > m_paletteChunkIndices
Definition: MSPUBParser.h:174
void parseDefaultStyle(WPXInputStream *input, const QuillChunkReference &chunk)
Definition: MSPUBParser.cpp:1061
bool parsePageShapeList(WPXInputStream *input, MSPUBBlockInfo block, unsigned pageSeqNum)
Definition: MSPUBParser.cpp:636
virtual ~MSPUBParser()
Definition: MSPUBParser.cpp:67
Definition: MSPUBParser.h:94
int m_lastSeenSeqNum
Definition: MSPUBParser.h:179
int getColorIndex(WPXInputStream *input, const MSPUBBlockInfo &info)
Definition: MSPUBParser.cpp:1374
MSPUBParser & operator=(const MSPUBParser &)
std::vector< MSPUBBlockInfo > m_blockInfo
Definition: MSPUBParser.h:169
std::vector< unsigned > m_unknownChunkIndices
Definition: MSPUBParser.h:177
std::vector< Calculation > parseGuides(const std::vector< unsigned char > &guideData)
Definition: MSPUBParser.cpp:2058
FOPTValues extractFOPTValues(WPXInputStream *input, const libmspub::EscherContainerInfo &record)
Definition: MSPUBParser.cpp:2178
unsigned seqNum
Definition: MSPUBParser.h:56
Definition: MSPUBParser.h:65