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> 70 virtual unsigned getColorIndexByQuillEntry(
unsigned entry);
93 virtual bool parseContents(librevenge::RVNGInputStream *input);
94 bool parseMetaData(librevenge::RVNGInputStream *input);
95 bool parseQuill(librevenge::RVNGInputStream *input);
96 bool parseEscher(librevenge::RVNGInputStream *input);
97 bool parseEscherDelay(librevenge::RVNGInputStream *input);
99 MSPUBBlockInfo parseBlock(librevenge::RVNGInputStream *input,
bool skipHierarchicalData =
false);
102 bool parseContentChunkReference(librevenge::RVNGInputStream *input,
MSPUBBlockInfo block);
107 bool parsePageShapeList(librevenge::RVNGInputStream *input,
MSPUBBlockInfo block,
unsigned pageSeqNum);
109 bool parseBorderArtChunk(librevenge::RVNGInputStream *input,
111 bool parseFontChunk(librevenge::RVNGInputStream *input,
113 void parsePaletteEntry(librevenge::RVNGInputStream *input,
MSPUBBlockInfo block);
116 void parseDefaultStyle(librevenge::RVNGInputStream *input,
const QuillChunkReference &chunk);
118 void skipBlock(librevenge::RVNGInputStream *input,
MSPUBBlockInfo block);
122 std::map<unsigned short, unsigned> extractEscherValues(librevenge::RVNGInputStream *input,
const EscherContainerInfo &record);
123 FOPTValues extractFOPTValues(librevenge::RVNGInputStream *input,
125 std::vector<TextSpanReference> parseCharacterStyles(librevenge::RVNGInputStream *input,
const QuillChunkReference &chunk);
126 std::vector<TextParagraphReference> parseParagraphStyles(librevenge::RVNGInputStream *input,
const QuillChunkReference &chunk);
127 std::vector<Calculation> parseGuides(
const std::vector<unsigned char>
129 std::vector<Vertex> parseVertices(
const std::vector<unsigned char>
131 std::vector<unsigned> parseTableCellDefinitions(librevenge::RVNGInputStream *input,
133 std::vector<unsigned short> parseSegments(
134 const std::vector<unsigned char> &segmentData);
136 const std::vector<unsigned char> &vertexData,
137 const std::vector<unsigned char> &segmentData,
138 const std::vector<unsigned char> &guideData,
139 unsigned geoWidth,
unsigned geoHeight);
140 int getColorIndex(librevenge::RVNGInputStream *input,
const MSPUBBlockInfo &info);
141 unsigned getFontIndex(librevenge::RVNGInputStream *input,
const MSPUBBlockInfo &info);
142 CharacterStyle getCharacterStyle(librevenge::RVNGInputStream *input);
143 ParagraphStyle getParagraphStyle(librevenge::RVNGInputStream *input);
144 boost::shared_ptr<Fill> getNewFill(
const std::map<unsigned short, unsigned> &foptValues,
bool &skipIfNotBg, std::map<
unsigned short, std::vector<unsigned char> > &foptVal);
163 static short getBlockDataLength(
unsigned type);
164 static bool isBlockDataString(
unsigned type);
166 static unsigned getEscherElementTailLength(
unsigned short type);
167 static unsigned getEscherElementAdditionalHeaderLength(
unsigned short type);
168 static ImgType imgTypeByBlipType(
unsigned short type);
169 static int getStartOffset(
ImgType type,
unsigned short initial);
170 static bool lineExistsByFlagPointer(
unsigned *flags,
171 unsigned *geomFlags = NULL);
176 #endif // __MSPUBRAPHICS_H__ unsigned seqNum
Definition: MSPUBTypes.h:74
std::vector< int > m_escherDelayIndices
Definition: MSPUBParser.h:161
Definition: PolygonUtils.h:91
bool operator()(const libmspub::ContentChunkReference &ref)
Definition: MSPUBParser.h:48
std::vector< unsigned > m_borderArtChunkIndices
Definition: MSPUBParser.h:154
Definition: MSPUBTypes.h:54
FOPTValues()
Definition: MSPUBParser.h:58
unsigned short first
Definition: MSPUBParser.h:83
MSPUBCollector * m_collector
Definition: MSPUBParser.h:147
std::vector< unsigned > m_fontChunkIndices
Definition: MSPUBParser.h:155
std::vector< int > m_alternateShapeSeqNums
Definition: MSPUBParser.h:160
unsigned m_lastAddedImage
Definition: MSPUBParser.h:159
ParagraphStyle paraStyle
Definition: MSPUBParser.h:85
Definition: MSPUBTypes.h:66
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
CharacterStyle charStyle
Definition: MSPUBParser.h:77
Definition: Coordinate.h:15
std::vector< unsigned > m_shapeChunkIndices
Definition: MSPUBParser.h:152
unsigned parentSeqNum
Definition: MSPUBTypes.h:75
unsigned short last
Definition: MSPUBParser.h:76
PageType
Definition: MSPUBTypes.h:172
unsigned short first
Definition: MSPUBParser.h:75
ImgType
Definition: MSPUBTypes.h:179
Definition: MSPUBParser.h:32
FindBySeqNum(unsigned sn)
Definition: MSPUBParser.h:36
unsigned short last
Definition: MSPUBParser.h:84
Definition: MSPUBTypes.h:46
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
librevenge::RVNGInputStream * m_input
Definition: MSPUBParser.h:146
Definition: MSPUBParser.h:54
bool operator()(const libmspub::ContentChunkReference &ref)
Definition: MSPUBParser.h:37
Definition: MSPUBTypes.h:78
TextSpanReference(unsigned short f, unsigned short l, const CharacterStyle &cs)
Definition: MSPUBParser.h:74
FindByParentSeqNum(unsigned sn)
Definition: MSPUBParser.h:47
std::vector< unsigned > m_cellsChunkIndices
Definition: MSPUBParser.h:150
unsigned seqNum
Definition: MSPUBParser.h:45
Definition: MSPUBTypes.h:88
boost::optional< unsigned > m_documentChunkIndex
Definition: MSPUBParser.h:157
Definition: MSPUBCollector.h:46
Definition: MSPUBParser.h:63
std::vector< ContentChunkReference > m_contentChunks
Definition: MSPUBParser.h:149
std::vector< unsigned > m_pageChunkIndices
Definition: MSPUBParser.h:151
std::vector< unsigned > m_paletteChunkIndices
Definition: MSPUBParser.h:153
Definition: MSPUBParser.h:72
int m_lastSeenSeqNum
Definition: MSPUBParser.h:158
std::vector< MSPUBBlockInfo > m_blockInfo
Definition: MSPUBParser.h:148
std::vector< unsigned > m_unknownChunkIndices
Definition: MSPUBParser.h:156
unsigned seqNum
Definition: MSPUBParser.h:34
Definition: MSPUBParser.h:43