10 #ifndef INCLUDED_MSPUBPARSER_H 11 #define INCLUDED_MSPUBPARSER_H 19 #include <boost/optional.hpp> 21 #include <librevenge/librevenge.h> 72 virtual unsigned getColorIndexByQuillEntry(
unsigned entry);
95 virtual bool parseContents(librevenge::RVNGInputStream *input);
97 bool parseQuill(librevenge::RVNGInputStream *input);
98 bool parseEscher(librevenge::RVNGInputStream *input);
99 bool parseEscherDelay(librevenge::RVNGInputStream *input);
101 MSPUBBlockInfo parseBlock(librevenge::RVNGInputStream *input,
bool skipHierarchicalData =
false);
104 bool parseContentChunkReference(librevenge::RVNGInputStream *input,
MSPUBBlockInfo block);
109 bool parsePageShapeList(librevenge::RVNGInputStream *input,
MSPUBBlockInfo block,
unsigned pageSeqNum);
111 bool parseBorderArtChunk(librevenge::RVNGInputStream *input,
113 bool parseFontChunk(librevenge::RVNGInputStream *input,
115 void parsePaletteEntry(librevenge::RVNGInputStream *input,
MSPUBBlockInfo block);
118 void parseDefaultStyle(librevenge::RVNGInputStream *input,
const QuillChunkReference &chunk);
120 void skipBlock(librevenge::RVNGInputStream *input,
MSPUBBlockInfo block);
124 std::map<unsigned short, unsigned> extractEscherValues(librevenge::RVNGInputStream *input,
const EscherContainerInfo &record);
125 FOPTValues extractFOPTValues(librevenge::RVNGInputStream *input,
127 std::vector<TextSpanReference> parseCharacterStyles(librevenge::RVNGInputStream *input,
const QuillChunkReference &chunk);
128 std::vector<TextParagraphReference> parseParagraphStyles(librevenge::RVNGInputStream *input,
const QuillChunkReference &chunk);
129 std::vector<Calculation> parseGuides(
const std::vector<unsigned char>
131 std::vector<Vertex> parseVertices(
const std::vector<unsigned char>
133 std::vector<unsigned> parseTableCellDefinitions(librevenge::RVNGInputStream *input,
135 std::vector<unsigned short> parseSegments(
136 const std::vector<unsigned char> &segmentData);
138 const std::vector<unsigned char> &vertexData,
139 const std::vector<unsigned char> &segmentData,
140 const std::vector<unsigned char> &guideData,
141 unsigned geoWidth,
unsigned geoHeight);
142 int getColorIndex(librevenge::RVNGInputStream *input,
const MSPUBBlockInfo &info);
143 unsigned getFontIndex(librevenge::RVNGInputStream *input,
const MSPUBBlockInfo &info);
144 CharacterStyle getCharacterStyle(librevenge::RVNGInputStream *input);
145 ParagraphStyle getParagraphStyle(librevenge::RVNGInputStream *input);
146 std::shared_ptr<Fill> getNewFill(
const std::map<unsigned short, unsigned> &foptProperties,
bool &skipIfNotBg, std::map<
unsigned short, std::vector<unsigned char> > &foptValues);
166 static short getBlockDataLength(
unsigned type);
167 static bool isBlockDataString(
unsigned type);
169 static unsigned getEscherElementTailLength(
unsigned short type);
170 static unsigned getEscherElementAdditionalHeaderLength(
unsigned short type);
171 static ImgType imgTypeByBlipType(
unsigned short type);
172 static int getStartOffset(
ImgType type,
unsigned short initial);
173 static bool lineExistsByFlagPointer(
unsigned *flags,
174 unsigned *geomFlags =
nullptr);
179 #endif // INCLUDED_MSPUBRAPHICS_H unsigned seqNum
Definition: MSPUBTypes.h:98
std::vector< int > m_escherDelayIndices
Definition: MSPUBParser.h:164
Definition: PolygonUtils.h:92
bool operator()(const libmspub::ContentChunkReference &ref)
Definition: MSPUBParser.h:50
std::vector< unsigned > m_borderArtChunkIndices
Definition: MSPUBParser.h:157
Definition: MSPUBTypes.h:78
FOPTValues()
Definition: MSPUBParser.h:60
unsigned short first
Definition: MSPUBParser.h:85
MSPUBCollector * m_collector
Definition: MSPUBParser.h:150
std::vector< unsigned > m_fontChunkIndices
Definition: MSPUBParser.h:158
std::vector< int > m_alternateShapeSeqNums
Definition: MSPUBParser.h:163
unsigned m_lastAddedImage
Definition: MSPUBParser.h:162
ParagraphStyle paraStyle
Definition: MSPUBParser.h:87
Definition: MSPUBTypes.h:90
std::vector< ContentChunkReference >::const_iterator ccr_iterator_t
Definition: MSPUBParser.h:90
TextParagraphReference(unsigned short f, unsigned short l, const ParagraphStyle &ps)
Definition: MSPUBParser.h:84
CharacterStyle charStyle
Definition: MSPUBParser.h:79
Definition: Coordinate.h:17
std::vector< unsigned > m_shapeChunkIndices
Definition: MSPUBParser.h:155
unsigned parentSeqNum
Definition: MSPUBTypes.h:99
unsigned short last
Definition: MSPUBParser.h:78
PageType
Definition: MSPUBTypes.h:206
unsigned short first
Definition: MSPUBParser.h:77
ImgType
Definition: MSPUBTypes.h:213
Definition: MSPUBParser.h:34
FindBySeqNum(unsigned sn)
Definition: MSPUBParser.h:38
unsigned short last
Definition: MSPUBParser.h:86
unsigned m_length
Definition: MSPUBParser.h:149
Definition: MSPUBTypes.h:70
Definition: MSPUBParser.h:82
std::map< unsigned short, unsigned > m_scalarValues
Definition: MSPUBParser.h:58
std::map< unsigned short, std::vector< unsigned char > > m_complexValues
Definition: MSPUBParser.h:59
Definition: MSPUBTypes.h:163
librevenge::RVNGInputStream * m_input
Definition: MSPUBParser.h:148
Definition: MSPUBParser.h:56
bool operator()(const libmspub::ContentChunkReference &ref)
Definition: MSPUBParser.h:39
Definition: MSPUBTypes.h:102
TextSpanReference(unsigned short f, unsigned short l, const CharacterStyle &cs)
Definition: MSPUBParser.h:76
FindByParentSeqNum(unsigned sn)
Definition: MSPUBParser.h:49
std::vector< unsigned > m_cellsChunkIndices
Definition: MSPUBParser.h:153
unsigned seqNum
Definition: MSPUBParser.h:47
Definition: MSPUBTypes.h:112
boost::optional< unsigned > m_documentChunkIndex
Definition: MSPUBParser.h:160
Definition: MSPUBCollector.h:44
Definition: MSPUBParser.h:65
std::vector< ContentChunkReference > m_contentChunks
Definition: MSPUBParser.h:152
std::vector< unsigned > m_pageChunkIndices
Definition: MSPUBParser.h:154
std::vector< unsigned > m_paletteChunkIndices
Definition: MSPUBParser.h:156
Definition: MSPUBParser.h:74
int m_lastSeenSeqNum
Definition: MSPUBParser.h:161
std::vector< MSPUBBlockInfo > m_blockInfo
Definition: MSPUBParser.h:151
std::vector< unsigned > m_unknownChunkIndices
Definition: MSPUBParser.h:159
unsigned seqNum
Definition: MSPUBParser.h:36
Definition: MSPUBParser.h:45