Go to the documentation of this file.
10 #ifndef INCLUDED_MSPUBPARSER2K_H
11 #define INCLUDED_MSPUBPARSER2K_H
34 boost::optional<unsigned> pageSeqNum = boost::optional<unsigned>(),
35 bool topLevelCall =
true);
36 void parseShapeLine(librevenge::RVNGInputStream *input,
bool isRectangle,
unsigned offset,
unsigned seqNum);
38 unsigned seqNum,
unsigned chunkOffset,
39 bool &isGroup,
bool &isLine,
bool &isImage,
bool &isRectangle,
40 unsigned &flagsOffset);
41 void parseShapeRotation(librevenge::RVNGInputStream *input,
bool isGroup,
bool isLine,
unsigned seqNum,
42 unsigned chunkOffset);
43 void parseShapeFlips(librevenge::RVNGInputStream *input,
unsigned flagsOffset,
unsigned seqNum,
44 unsigned chunkOffset);
45 void parseShapeCoordinates(librevenge::RVNGInputStream *input,
unsigned seqNum,
unsigned chunkOffset);
46 bool parseGroup(librevenge::RVNGInputStream *input,
unsigned seqNum,
unsigned page);
48 void parseShapeFill(librevenge::RVNGInputStream *input,
unsigned seqNum,
unsigned chunkOffset);
49 bool parseContents(librevenge::RVNGInputStream *input)
override;
50 virtual bool parseDocument(librevenge::RVNGInputStream *input);
66 bool parse()
override;
72 #endif // INCLUDED_MSPUBPARSER2K_H
void parseShapeFill(librevenge::RVNGInputStream *input, unsigned seqNum, unsigned chunkOffset)
Definition: MSPUBParser2k.cpp:582
uint32_t readU32(librevenge::RVNGInputStream *input)
Definition: libmspub_utils.cpp:292
bool parseQuill(librevenge::RVNGInputStream *input)
Definition: MSPUBParser.cpp:976
unsigned char r
Definition: MSPUBTypes.h:203
@ SEAL_24
Definition: ShapeType.h:82
static Color getColorBy2kIndex(unsigned char index)
Definition: MSPUBParser2k.cpp:109
static unsigned translate2kColorReference(unsigned ref2k)
Definition: MSPUBParser2k.cpp:231
MSPUBCollector * m_collector
Definition: MSPUBParser.h:150
int32_t readS32(librevenge::RVNGInputStream *input)
Definition: libmspub_utils.cpp:311
#define MSPUB_DEBUG_MSG(M)
Definition: libmspub_utils.h:55
bool stillReading(librevenge::RVNGInputStream *input, unsigned long until)
Definition: libmspub_utils.cpp:416
uint8_t readU8(librevenge::RVNGInputStream *input)
Definition: libmspub_utils.cpp:266
unsigned char g
Definition: MSPUBTypes.h:203
virtual unsigned getShapeFillTypeOffset() const
Definition: MSPUBParser2k.cpp:572
@ U_TURN_ARROW
Definition: ShapeType.h:91
~MSPUBParser2k() override
Definition: MSPUBParser2k.cpp:73
virtual unsigned short getTextMarker() const
Definition: MSPUBParser2k.cpp:720
@ ELLIPSE
Definition: ShapeType.h:21
uint16_t readU16(librevenge::RVNGInputStream *input)
Definition: libmspub_utils.cpp:285
void parseShapeCoordinates(librevenge::RVNGInputStream *input, unsigned seqNum, unsigned chunkOffset)
Definition: MSPUBParser2k.cpp:634
bool parse2kShapeChunk(const ContentChunkReference &chunk, librevenge::RVNGInputStream *input, boost::optional< unsigned > pageSeqNum=boost::optional< unsigned >(), bool topLevelCall=true)
Definition: MSPUBParser2k.cpp:506
@ DOCUMENT
Definition: MSPUBContentChunkType.h:20
Definition: MSPUBCollector.h:45
void setShapeFill(unsigned seqNum, std::shared_ptr< Fill > fill, bool skipIfNotBg)
Definition: MSPUBCollector.cpp:1519
void assignShapeImgIndex(unsigned seqNum)
Definition: MSPUBParser2k.cpp:617
void parseShapeFlips(librevenge::RVNGInputStream *input, unsigned flagsOffset, unsigned seqNum, unsigned chunkOffset)
Definition: MSPUBParser2k.cpp:650
@ PARALLELOGRAM
Definition: ShapeType.h:25
@ IMAGE_2K_DATA
Definition: MSPUBContentChunkType.h:30
@ SEAL_16
Definition: ShapeType.h:59
MSPUBParser2k(librevenge::RVNGInputStream *input, MSPUBCollector *collector)
Definition: MSPUBParser2k.cpp:51
std::vector< unsigned > m_shapeChunkIndices
Definition: MSPUBParser.h:155
void setShapeRotation(unsigned seqNum, double rotation)
Definition: MSPUBCollector.cpp:1461
static ShapeType getShapeType(unsigned char shapeSpecifier)
Definition: MSPUBParser2k.cpp:247
@ PALETTE
Definition: MSPUBContentChunkType.h:22
@ RECTANGLE
Definition: ShapeType.h:19
void addTextShape(unsigned stringId, unsigned seqNum)
Definition: MSPUBCollector.cpp:1503
@ GROUP
Definition: MSPUBContentChunkType.h:24
@ TRAPEZOID
Definition: ShapeType.h:26
librevenge::RVNGInputStream * m_input
Definition: MSPUBParser.h:148
@ IRREGULAR_SEAL_1
Definition: ShapeType.h:68
@ UP_DOWN_ARROW
Definition: ShapeType.h:67
virtual unsigned getTextIdOffset() const
Definition: MSPUBParser2k.cpp:715
@ PLUS
Definition: ShapeType.h:29
@ MASTER
Definition: MSPUBTypes.h:208
@ HEART
Definition: ShapeType.h:71
bool parseGroup(librevenge::RVNGInputStream *input, unsigned seqNum, unsigned page)
Definition: MSPUBParser2k.cpp:595
unsigned short translateLineWidth(unsigned char lineWidth)
Definition: MSPUBParser2k.cpp:78
PageType
Definition: MSPUBTypes.h:207
@ UNKNOWN_SHAPE
Definition: ShapeType.h:17
@ BENT_ARROW
Definition: ShapeType.h:81
void parseShapeLine(librevenge::RVNGInputStream *input, bool isRectangle, unsigned offset, unsigned seqNum)
Definition: MSPUBParser2k.cpp:735
@ PENTAGON
Definition: ShapeType.h:56
std::vector< unsigned > m_unknownChunkIndices
Definition: MSPUBParser.h:159
@ NORMAL
Definition: MSPUBTypes.h:209
unsigned long offset
Definition: MSPUBTypes.h:96
virtual unsigned getFirstLineOffset() const
Definition: MSPUBParser2k.cpp:725
bool addPage(unsigned seqNum)
Definition: MSPUBCollector.cpp:1492
@ UNKNOWN_CHUNK
Definition: MSPUBContentChunkType.h:17
std::map< unsigned, std::vector< unsigned > > m_chunkChildIndicesById
Definition: MSPUBParser2k.h:28
std::vector< unsigned > m_paletteChunkIndices
Definition: MSPUBParser.h:156
static PageType getPageTypeBySeqNum(unsigned seqNum)
Definition: MSPUBParser2k.cpp:800
bool setCurrentGroupSeqNum(unsigned seqNum)
Definition: MSPUBCollector.cpp:590
bool hasPage(unsigned seqNum) const
Definition: MSPUBCollector.cpp:575
void addTextColor(ColorReference c)
Definition: MSPUBCollector.cpp:1974
virtual unsigned getSecondLineOffset() const
Definition: MSPUBParser2k.cpp:730
void parseShapeRotation(librevenge::RVNGInputStream *input, bool isGroup, bool isLine, unsigned seqNum, unsigned chunkOffset)
Definition: MSPUBParser2k.cpp:490
bool parse() override
Definition: MSPUBParser2k.cpp:773
void setShapeCoordinatesInEmu(unsigned seqNum, int xs, int ys, int xe, int ye)
Definition: MSPUBCollector.cpp:1528
std::vector< unsigned > m_imageDataChunkIndices
Definition: MSPUBParser2k.h:26
Definition: MSPUBParser.h:66
@ DIAMOND
Definition: ShapeType.h:22
@ WMF
Definition: MSPUBTypes.h:218
std::deque< unsigned > m_chunksBeingRead
Definition: MSPUBParser2k.h:29
std::vector< unsigned > m_quillColorEntries
Definition: MSPUBParser2k.h:27
void setShapeImgIndex(unsigned seqNum, unsigned index)
Definition: MSPUBCollector.cpp:1508
@ BLOCK_ARC
Definition: ShapeType.h:85
@ SHAPE
Definition: MSPUBContentChunkType.h:18
void setShapePage(unsigned seqNum, unsigned pageSeqNum)
Definition: MSPUBCollector.cpp:1968
@ IRREGULAR_SEAL_2
Definition: ShapeType.h:69
virtual unsigned getShapeFillColorOffset() const
Definition: MSPUBParser2k.cpp:577
bool go()
Definition: MSPUBCollector.cpp:1832
Definition: MSPUBParser2k.h:24
@ LINE
Definition: ShapeType.h:36
@ INSIDE_SHAPE
Definition: MSPUBTypes.h:28
unsigned getColorIndexByQuillEntry(unsigned entry) override
Definition: MSPUBParser2k.cpp:60
boost::optional< unsigned > m_documentChunkIndex
Definition: MSPUBParser.h:160
void setShapeBorderPosition(unsigned seqNum, BorderPosition pos)
Definition: MSPUBCollector.cpp:570
unsigned seqNum
Definition: MSPUBTypes.h:98
@ IMAGE_2K
Definition: MSPUBContentChunkType.h:29
@ HEXAGON
Definition: ShapeType.h:27
@ LIGHTNING_BOLT
Definition: ShapeType.h:70
void beginGroup()
Definition: MSPUBCollector.cpp:545
std::vector< unsigned > m_pageChunkIndices
Definition: MSPUBParser.h:154
virtual int translateCoordinateIfNecessary(int coordinate) const
Definition: MSPUBParser2k.cpp:645
ShapeType
Definition: ShapeType.h:16
bool parseContents(librevenge::RVNGInputStream *input) override
Definition: MSPUBParser2k.cpp:347
@ DUMMY_PAGE
Definition: MSPUBTypes.h:210
Definition: MSPUBTypes.h:200
Definition: ColorReference.h:20
void setShapeOrder(unsigned seqNum)
Definition: MSPUBCollector.cpp:601
#define POINTS_IN_INCH
Definition: MSPUBConstants.h:14
static Color getColorBy2kHex(unsigned hex)
Definition: MSPUBParser2k.cpp:94
void addPaletteColor(Color)
Definition: MSPUBCollector.cpp:610
@ CUBE
Definition: ShapeType.h:33
std::deque< unsigned > & m_chunks
Definition: MSPUBParser2k.cpp:46
void setShapeType(unsigned seqNum, ShapeType type)
Definition: MSPUBCollector.cpp:1472
bool endGroup()
Definition: MSPUBCollector.cpp:555
@ WAVE
Definition: ShapeType.h:61
virtual bool parseDocument(librevenge::RVNGInputStream *input)
Definition: MSPUBParser2k.cpp:475
@ RIGHT_TRIANGLE
Definition: ShapeType.h:24
virtual void parseContentsTextIfNecessary(librevenge::RVNGInputStream *input)
Definition: MSPUBParser2k.cpp:343
unsigned m_lastAddedImage
Definition: MSPUBParser.h:162
void addShapeLine(unsigned seqNum, Line line)
Definition: MSPUBCollector.cpp:565
@ UP_ARROW
Definition: ShapeType.h:65
unsigned char b
Definition: MSPUBTypes.h:203
bool addImage(unsigned index, ImgType type, librevenge::RVNGBinaryData img)
Definition: MSPUBCollector.cpp:1914
void setWidthInEmu(unsigned long)
Definition: MSPUBCollector.cpp:1900
unsigned type
Definition: MSPUBTypes.h:95
@ ISOCELES_TRIANGLE
Definition: ShapeType.h:23
@ STAR
Definition: ShapeType.h:30
void setHeightInEmu(unsigned long)
Definition: MSPUBCollector.cpp:1907
std::vector< ContentChunkReference > m_contentChunks
Definition: MSPUBParser.h:152
@ CHEVRON
Definition: ShapeType.h:55
unsigned parentSeqNum
Definition: MSPUBTypes.h:99
Definition: MSPUBTypes.h:91
void parseShapeType(librevenge::RVNGInputStream *input, unsigned seqNum, unsigned chunkOffset, bool &isGroup, bool &isLine, bool &isImage, bool &isRectangle, unsigned &flagsOffset)
Definition: MSPUBParser2k.cpp:663
@ HOME_PLATE
Definition: ShapeType.h:32
#define EMUS_IN_INCH
Definition: MSPUBConstants.h:13
@ OCTAGON
Definition: ShapeType.h:28
void setShapeFlip(unsigned, bool, bool)
Definition: MSPUBCollector.cpp:1467
@ PAGE
Definition: MSPUBContentChunkType.h:21
Generated for libmspub by
doxygen 1.8.18