MSPUBParser.h Source File documentation

MSPUBParser.h
Go to the documentation of this file.
1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /*
3 * This file is part of the libmspub project.
4 *
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8 */
9
10 #ifndef INCLUDED_MSPUBPARSER_H
11 #define INCLUDED_MSPUBPARSER_H
12
13 #include <map>
14 #include <memory>
15 #include <memory>
16 #include <set>
17 #include <vector>
18
19 #include <boost/optional.hpp>
20
21 #include <librevenge/librevenge.h>
22
23 #include "MSPUBTypes.h"
24 #include "PolygonUtils.h"
25
26 namespace libmspub
27 {
28
29 class Fill;
30 class MSPUBCollector;
31
32 struct Coordinate;
33
34 class FindBySeqNum
35 {
36 unsigned seqNum;
37 public:
38 FindBySeqNum(unsigned sn) : seqNum(sn) { }
39 bool operator()(const libmspub::ContentChunkReference &ref)
40 {
41 return ref.seqNum == seqNum;
42 }
43 };
44
45 class FindByParentSeqNum
46 {
47 unsigned seqNum;
48 public:
49 FindByParentSeqNum(unsigned sn) : seqNum(sn) { }
50 bool operator()(const libmspub::ContentChunkReference &ref)
51 {
52 return ref.parentSeqNum == seqNum;
53 }
54 };
55
56 struct FOPTValues
57 {
58 std::map<unsigned short, unsigned> m_scalarValues;
59 std::map<unsigned short, std::vector<unsigned char> > m_complexValues;
60 FOPTValues() : m_scalarValues(), m_complexValues()
61 {
62 }
63 };
64
65 class MSPUBParser
66 {
67 public:
68 explicit MSPUBParser(librevenge::RVNGInputStream *input, MSPUBCollector *collector);
69 virtual ~MSPUBParser();
70 virtual bool parse();
71 protected:
72 virtual unsigned getColorIndexByQuillEntry(unsigned entry);
73
74 struct TextSpanReference
75 {
76 TextSpanReference(unsigned short f, unsigned short l, const CharacterStyle &cs) : first(f), last(l), charStyle(cs) { }
77 unsigned short first;
78 unsigned short last;
79 CharacterStyle charStyle;
80 };
81
82 struct TextParagraphReference
83 {
84 TextParagraphReference(unsigned short f, unsigned short l, const ParagraphStyle &ps) : first(f), last(l), paraStyle(ps) { }
85 unsigned short first;
86 unsigned short last;
87 ParagraphStyle paraStyle;
88 };
89
90 typedef std::vector<ContentChunkReference>::const_iterator ccr_iterator_t;
91
92 MSPUBParser();
93 MSPUBParser(const MSPUBParser &);
94 MSPUBParser &operator=(const MSPUBParser &);
95 virtual bool parseContents(librevenge::RVNGInputStream *input);
96 bool parseMetaData();
97 bool parseQuill(librevenge::RVNGInputStream *input);
98 bool parseEscher(librevenge::RVNGInputStream *input);
99 bool parseEscherDelay(librevenge::RVNGInputStream *input);
100
101 MSPUBBlockInfo parseBlock(librevenge::RVNGInputStream *input, bool skipHierarchicalData = false);
102 EscherContainerInfo parseEscherContainer(librevenge::RVNGInputStream *input);
103
104 bool parseContentChunkReference(librevenge::RVNGInputStream *input, MSPUBBlockInfo block);
105 QuillChunkReference parseQuillChunkReference(librevenge::RVNGInputStream *input);
106 bool parseDocumentChunk(librevenge::RVNGInputStream *input, const ContentChunkReference &chunk);
107 bool parsePageChunk(librevenge::RVNGInputStream *input, const ContentChunkReference &chunk);
108 bool parsePaletteChunk(librevenge::RVNGInputStream *input, const ContentChunkReference &chunk);
109 bool parsePageShapeList(librevenge::RVNGInputStream *input, MSPUBBlockInfo block, unsigned pageSeqNum);
110 bool parseShape(librevenge::RVNGInputStream *input, const ContentChunkReference &chunk);
111 bool parseBorderArtChunk(librevenge::RVNGInputStream *input,
112 const ContentChunkReference &chunk);
113 bool parseFontChunk(librevenge::RVNGInputStream *input,
114 const ContentChunkReference &chunk);
115 void parsePaletteEntry(librevenge::RVNGInputStream *input, MSPUBBlockInfo block);
116 void parseColors(librevenge::RVNGInputStream *input, const QuillChunkReference &chunk);
117 void parseFonts(librevenge::RVNGInputStream *input, const QuillChunkReference &chunk);
118 void parseDefaultStyle(librevenge::RVNGInputStream *input, const QuillChunkReference &chunk);
119 void parseShapeGroup(librevenge::RVNGInputStream *input, const EscherContainerInfo &spgr, Coordinate parentCoordinateSystem, Coordinate parentGroupAbsoluteCoord);
120 void skipBlock(librevenge::RVNGInputStream *input, MSPUBBlockInfo block);
121 void parseEscherShape(librevenge::RVNGInputStream *input, const EscherContainerInfo &sp, Coordinate &parentCoordinateSystem, Coordinate &parentGroupAbsoluteCoord);
122 bool findEscherContainer(librevenge::RVNGInputStream *input, const EscherContainerInfo &parent, EscherContainerInfo &out, unsigned short type);
123 bool findEscherContainerWithTypeInSet(librevenge::RVNGInputStream *input, const EscherContainerInfo &parent, EscherContainerInfo &out, std::set<unsigned short> types);
124 std::map<unsigned short, unsigned> extractEscherValues(librevenge::RVNGInputStream *input, const EscherContainerInfo &record);
125 FOPTValues extractFOPTValues(librevenge::RVNGInputStream *input,
126 const libmspub::EscherContainerInfo &record);
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>
130 &guideData);
131 std::vector<Vertex> parseVertices(const std::vector<unsigned char>
132 &vertexData);
133 std::vector<unsigned> parseTableCellDefinitions(librevenge::RVNGInputStream *input,
134 const QuillChunkReference &chunk);
135 std::vector<unsigned short> parseSegments(
136 const std::vector<unsigned char> &segmentData);
137 DynamicCustomShape getDynamicCustomShape(
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);
147
148 librevenge::RVNGInputStream *m_input;
149 unsigned m_length;
150 MSPUBCollector *m_collector;
151 std::vector<MSPUBBlockInfo> m_blockInfo;
152 std::vector<ContentChunkReference> m_contentChunks;
153 std::vector<unsigned> m_cellsChunkIndices;
154 std::vector<unsigned> m_pageChunkIndices;
155 std::vector<unsigned> m_shapeChunkIndices;
156 std::vector<unsigned> m_paletteChunkIndices;
157 std::vector<unsigned> m_borderArtChunkIndices;
158 std::vector<unsigned> m_fontChunkIndices;
159 std::vector<unsigned> m_unknownChunkIndices;
160 boost::optional<unsigned> m_documentChunkIndex;
161 int m_lastSeenSeqNum;
162 unsigned m_lastAddedImage;
163 std::vector<int> m_alternateShapeSeqNums;
164 std::vector<int> m_escherDelayIndices;
165
166 static short getBlockDataLength(unsigned type);
167 static bool isBlockDataString(unsigned type);
168 static PageType getPageTypeBySeqNum(unsigned seqNum);
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);
175 };
176
177 } // namespace libmspub
178
179 #endif // INCLUDED_MSPUBRAPHICS_H
180 /* vim:set shiftwidth=2 softtabstop=2 expandtab: */
libmspub::ArrowStyle
ArrowStyle
Definition: Arrow.h:15
libmspub::MSPUBCollector::setShapeLineBackColor
void setShapeLineBackColor(unsigned seqNum, ColorReference backColor)
Definition: MSPUBCollector.cpp:1309
FIELDID_YE
#define FIELDID_YE
Definition: EscherFieldIds.h:16
libmspub::CharacterStyle::emboss
bool emboss
Definition: MSPUBTypes.h:138
libmspub::BACKGROUND
Definition: FillType.h:29
libmspub::MSPUBBlockInfo::dataOffset
unsigned long dataOffset
Definition: MSPUBTypes.h:84
libmspub::SHADOW_ID
Definition: MSPUBBlockID.h:39
libmspub::toFixedPoint
double toFixedPoint(int fp)
Definition: libmspub_utils.cpp:125
libmspub::ParagraphStyle::m_rightIndentEmu
boost::optional< unsigned > m_rightIndentEmu
Definition: MSPUBTypes.h:172
libmspub::RECT_DOT
Definition: Dash.h:21
libmspub::readU32
uint32_t readU32(librevenge::RVNGInputStream *input)
Definition: libmspub_utils.cpp:292
libmspub::SHAPE_WIDTH
Definition: MSPUBBlockID.h:27
libmspub::MSPUBParser::parseQuill
bool parseQuill(librevenge::RVNGInputStream *input)
Definition: MSPUBParser.cpp:976
FIELDID_FILL_OPACITY
#define FIELDID_FILL_OPACITY
Definition: EscherFieldIds.h:21
libmspub::CharacterStyle::smallCaps
bool smallCaps
Definition: MSPUBTypes.h:136
FIELDID_NUM_COLUMNS
#define FIELDID_NUM_COLUMNS
Definition: EscherFieldIds.h:69
MSPUBConstants.h
libmspub::Alignment
Alignment
Definition: MSPUBTypes.h:62
libmspub::TableInfo::m_rowHeightsInEmu
std::vector< unsigned > m_rowHeightsInEmu
Definition: TableInfo.h:36
libmspub::MSPUBCollector::setShapeClipPath
void setShapeClipPath(unsigned seqNum, const std::vector< libmspub::Vertex > &clip)
Definition: MSPUBCollector.cpp:540
FIELDID_GEOM_BOOL_PROPS
#define FIELDID_GEOM_BOOL_PROPS
Definition: EscherFieldIds.h:27
libmspub::MSPUBParser::m_collector
MSPUBCollector * m_collector
Definition: MSPUBParser.h:150
libmspub::MSPUBParser::parseDefaultStyle
void parseDefaultStyle(librevenge::RVNGInputStream *input, const QuillChunkReference &chunk)
Definition: MSPUBParser.cpp:1171
libmspub::MSPUBMetaData::parseTimes
bool parseTimes(librevenge::RVNGInputStream *input)
Definition: MSPUBMetaData.cpp:276
OFFICE_ART_SPGR_CONTAINER
#define OFFICE_ART_SPGR_CONTAINER
Definition: EscherContainerType.h:16
Dash.h
libmspub::CharacterStyle::allCaps
bool allCaps
Definition: MSPUBTypes.h:137
MSPUBBlockID.h
libmspub::MSPUBParser::extractEscherValues
std::map< unsigned short, unsigned > extractEscherValues(librevenge::RVNGInputStream *input, const EscherContainerInfo &record)
Definition: MSPUBParser.cpp:2371
libmspub::DOCUMENT_WIDTH
Definition: MSPUBBlockID.h:18
libmspub::MSPUBBlockInfo::dataLength
unsigned long dataLength
Definition: MSPUBTypes.h:85
FIELDID_DY_TEXT_BOTTOM
#define FIELDID_DY_TEXT_BOTTOM
Definition: EscherFieldIds.h:44
libmspub::BITMAP
Definition: FillType.h:20
libmspub::MSPUBParser::parseContents
virtual bool parseContents(librevenge::RVNGInputStream *input)
Definition: MSPUBParser.cpp:373
FillType.h
libmspub::MSPUBParser::getParagraphStyle
ParagraphStyle getParagraphStyle(librevenge::RVNGInputStream *input)
Definition: MSPUBParser.cpp:1273
FIELDID_DY_TEXT_RIGHT
#define FIELDID_DY_TEXT_RIGHT
Definition: EscherFieldIds.h:43
libmspub::ParagraphStyle::m_spaceBeforeEmu
boost::optional< unsigned > m_spaceBeforeEmu
Definition: MSPUBTypes.h:168
libmspub::MSPUBParser::parseFontChunk
bool parseFontChunk(librevenge::RVNGInputStream *input, const ContentChunkReference &chunk)
Definition: MSPUBParser.cpp:520
libmspub::TextParagraph
Definition: MSPUBTypes.h:192
libmspub::FindBySeqNum::operator()
bool operator()(const libmspub::ContentChunkReference &ref)
Definition: MSPUBParser.h:39
libmspub::getIfExists
MapT::mapped_type * getIfExists(MapT &map, const typename MapT::key_type &key)
Definition: libmspub_utils.h:87
libmspub::MSPUBParser::TextSpanReference
Definition: MSPUBParser.h:74
libmspub::CharacterStyle::engrave
bool engrave
Definition: MSPUBTypes.h:139
FIELDID_LINE_TOP_COLOR
#define FIELDID_LINE_TOP_COLOR
Definition: EscherFieldIds.h:46
libmspub::BORDER_ART
Definition: MSPUBContentChunkType.h:23
libmspub::JPEG
Definition: MSPUBTypes.h:217
FIELDID_FILL_BACK_OPACITY
#define FIELDID_FILL_BACK_OPACITY
Definition: EscherFieldIds.h:23
MSPUB_DEBUG_MSG
#define MSPUB_DEBUG_MSG(M)
Definition: libmspub_utils.h:55
libmspub::MSPUBCollector::addDefaultParagraphStyle
void addDefaultParagraphStyle(const ParagraphStyle &style)
Definition: MSPUBCollector.cpp:1487
FIELDID_LINE_LEFT_COLOR
#define FIELDID_LINE_LEFT_COLOR
Definition: EscherFieldIds.h:55
libmspub::MSPUBParser::getColorIndexByQuillEntry
virtual unsigned getColorIndexByQuillEntry(unsigned entry)
Definition: MSPUBParser.cpp:131
libmspub::QuillChunkReference::id
unsigned short id
Definition: MSPUBTypes.h:107
libmspub::TRAILER_DIRECTORY
Definition: MSPUBBlockType.h:17
libmspub::MSPUBCollector::setShapeShadow
void setShapeShadow(unsigned seqNum, const Shadow &shadow)
Definition: MSPUBCollector.cpp:515
libmspub::stillReading
bool stillReading(librevenge::RVNGInputStream *input, unsigned long until)
Definition: libmspub_utils.cpp:416
OFFICE_ART_BLIP_JPEGCMYK
#define OFFICE_ART_BLIP_JPEGCMYK
Definition: EscherContainerType.h:22
libmspub::readU8
uint8_t readU8(librevenge::RVNGInputStream *input)
Definition: libmspub_utils.cpp:266
libmspub::TableInfo
Definition: TableInfo.h:34
libmspub::MSPUBCollector::setAdjustValue
void setAdjustValue(unsigned seqNum, unsigned index, int adjust)
Definition: MSPUBCollector.cpp:1477
libmspub::MSPUBParser::getCharacterStyle
CharacterStyle getCharacterStyle(librevenge::RVNGInputStream *input)
Definition: MSPUBParser.cpp:1403
libmspub::MSPUBParser::parseVertices
std::vector< Vertex > parseVertices(const std::vector< unsigned char > &vertexData)
Definition: MSPUBParser.cpp:2216
libmspub::MSPUBParser::parseCharacterStyles
std::vector< TextSpanReference > parseCharacterStyles(librevenge::RVNGInputStream *input, const QuillChunkReference &chunk)
Definition: MSPUBParser.cpp:1246
libmspub::CharacterStyle::textScale
boost::optional< double > textScale
Definition: MSPUBTypes.h:140
libmspub::MSPUBCollector::setShapeNumColumns
void setShapeNumColumns(unsigned seqNum, unsigned numColumns)
Definition: MSPUBCollector.cpp:403
libmspub::MSPUBParser::parseSegments
std::vector< unsigned short > parseSegments(const std::vector< unsigned char > &segmentData)
Definition: MSPUBParser.cpp:2183
libmspub
Definition: Arrow.h:13
libmspub::SHAPE_CROP
Definition: MSPUBBlockID.h:26
libmspub::Underline::Thick
libmspub::MSPUBParser::m_escherDelayIndices
std::vector< int > m_escherDelayIndices
Definition: MSPUBParser.h:164
FIELDID_P_GUIDES
#define FIELDID_P_GUIDES
Definition: EscherFieldIds.h:65
libmspub::MSPUBCollector::setPageBgShape
void setPageBgShape(unsigned pageSeqNum, unsigned seqNum)
Definition: MSPUBCollector.cpp:585
libmspub::MSPUBParser::getColorIndex
int getColorIndex(librevenge::RVNGInputStream *input, const MSPUBBlockInfo &info)
Definition: MSPUBParser.cpp:1519
libmspub::PARAGRAPH_DROP_CAP_LINES
Definition: MSPUBBlockID.h:60
libmspub::PNG
Definition: MSPUBTypes.h:216
FIELDID_LINE_BOTTOM_BOOL_PROPS
#define FIELDID_LINE_BOTTOM_BOOL_PROPS
Definition: EscherFieldIds.h:54
MSPUBMetaData.h
libmspub::ImgFill
Definition: Fill.h:35
libmspub::ParagraphStyle::m_spaceAfterEmu
boost::optional< unsigned > m_spaceAfterEmu
Definition: MSPUBTypes.h:169
libmspub::PARAGRAPH_FIRST_LINE_INDENT
Definition: MSPUBBlockID.h:57
libmspub::THIS_MASTER_NAME
Definition: MSPUBBlockID.h:63
libmspub::MSPUBParser::parseGuides
std::vector< Calculation > parseGuides(const std::vector< unsigned char > &guideData)
Definition: MSPUBParser.cpp:2206
libmspub::getDash
Dash getDash(MSPUBDashStyle style, unsigned shapeLineWidthEmu, DotStyle dotStyle)
Definition: Dash.cpp:45
libmspub::MSPUBCollector::setShapeMargins
void setShapeMargins(unsigned seqNum, unsigned left, unsigned top, unsigned right, unsigned bottom)
Definition: MSPUBCollector.cpp:580
libmspub::CharacterStyle::bold
bool bold
Definition: MSPUBTypes.h:129
libmspub::UNDERLINE_ID
Definition: MSPUBBlockID.h:37
libmspub::CharacterStyle::textSizeInPt
boost::optional< double > textSizeInPt
Definition: MSPUBTypes.h:130
FLAG_USE_LEFT_INSET_PEN_OK
#define FLAG_USE_LEFT_INSET_PEN_OK
Definition: EscherFieldIds.h:95
libmspub::NumberingType
NumberingType
Definition: NumberingType.h:15
libmspub::Underline::None
libmspub::readNBytes
void readNBytes(librevenge::RVNGInputStream *input, unsigned long length, std::vector< unsigned char > &out)
Definition: libmspub_utils.cpp:329
libmspub::MSPUBParser::~MSPUBParser
virtual ~MSPUBParser()
Definition: MSPUBParser.cpp:117
libmspub::TextSpan
Definition: MSPUBTypes.h:185
FIELDID_DY_TEXT_TOP
#define FIELDID_DY_TEXT_TOP
Definition: EscherFieldIds.h:42
FIELDID_SHADOW_OPACITY
#define FIELDID_SHADOW_OPACITY
Definition: EscherFieldIds.h:83
libmspub::Line
Definition: Line.h:20
FLAG_LEFT_INSET_PEN_OK
#define FLAG_LEFT_INSET_PEN_OK
Definition: EscherFieldIds.h:97
libmspub::STANDARD_WESTERN
Definition: NumberingType.h:17
libmspub::EscherContainerInfo::initial
unsigned short initial
Definition: MSPUBTypes.h:72
libmspub::readU16
uint16_t readU16(librevenge::RVNGInputStream *input)
Definition: libmspub_utils.cpp:285
libmspub::STRING_CONTAINER
Definition: MSPUBBlockType.h:19
FIELDID_BG_PXID
#define FIELDID_BG_PXID
Definition: EscherFieldIds.h:18
libmspub::FindByParentSeqNum
Definition: MSPUBParser.h:45
libmspub::NO_DELIMITER
Definition: NumberingDelimiter.h:17
libmspub::CellInfo::m_endRow
unsigned m_endRow
Definition: TableInfo.h:29
libmspub::BOLD_1_ID
Definition: MSPUBBlockID.h:33
libmspub::DOCUMENT
Definition: MSPUBContentChunkType.h:20
libmspub::MSPUBParser::parseColors
void parseColors(librevenge::RVNGInputStream *input, const QuillChunkReference &chunk)
Definition: MSPUBParser.cpp:1199
libmspub::MSPUBCollector
Definition: MSPUBCollector.h:44
libmspub::MSPUBCollector::setShapeFill
void setShapeFill(unsigned seqNum, std::shared_ptr< Fill > fill, bool skipIfNotBg)
Definition: MSPUBCollector.cpp:1519
EscherContainerType.h
libmspub::MSPUBParser::parseQuillChunkReference
QuillChunkReference parseQuillChunkReference(librevenge::RVNGInputStream *input)
Definition: MSPUBParser.cpp:933
FIELDID_LINE_RIGHT_COLOR
#define FIELDID_LINE_RIGHT_COLOR
Definition: EscherFieldIds.h:49
libmspub::Underline::Dotted
libmspub::SUPER_SUB_TYPE_ID
Definition: MSPUBBlockID.h:32
libmspub::Coordinate::m_xe
int m_xe
Definition: Coordinate.h:21
libmspub::CellInfo::m_endColumn
unsigned m_endColumn
Definition: TableInfo.h:31
FIELDID_LINE_COLOR
#define FIELDID_LINE_COLOR
Definition: EscherFieldIds.h:24
TableInfo.h
libmspub::Coordinate::m_xs
int m_xs
Definition: Coordinate.h:21
libmspub::MSPUBBlockInfo
Definition: MSPUBTypes.h:78
libmspub::CHUNK_PARENT_SEQNUM
Definition: MSPUBBlockID.h:25
libmspub::TABLE_NUM_COLS
Definition: MSPUBBlockID.h:81
OFFICE_ART_TERTIARY_FOPT
#define OFFICE_ART_TERTIARY_FOPT
Definition: EscherContainerType.h:29
libmspub_utils.h
libmspub::ROUND_DOT
Definition: Dash.h:22
FIELDID_SHADOW_SECOND_OFFSET_X
#define FIELDID_SHADOW_SECOND_OFFSET_X
Definition: EscherFieldIds.h:86
libmspub::Coordinate::m_ys
int m_ys
Definition: Coordinate.h:21
FIELDID_P_WRAPPOLYGONVERTICES
#define FIELDID_P_WRAPPOLYGONVERTICES
Definition: EscherFieldIds.h:62
libmspub::ParagraphStyle::m_lineSpacing
boost::optional< LineSpacingInfo > m_lineSpacing
Definition: MSPUBTypes.h:167
libmspub::MSPUBParser::m_shapeChunkIndices
std::vector< unsigned > m_shapeChunkIndices
Definition: MSPUBParser.h:155
libmspub::BA_OFFSET_CONTAINER
Definition: MSPUBBlockID.h:69
FIELDID_FILL_TO_LEFT
#define FIELDID_FILL_TO_LEFT
Definition: EscherFieldIds.h:31
OFFICE_ART_CLIENT_DATA
#define OFFICE_ART_CLIENT_DATA
Definition: EscherContainerType.h:18
libmspub::MSPUBParser::parseEscherContainer
EscherContainerInfo parseEscherContainer(librevenge::RVNGInputStream *input)
Definition: MSPUBParser.cpp:2491
libmspub::PARAGRAPH_RIGHT_INDENT
Definition: MSPUBBlockID.h:59
libmspub::MSPUBParser::lineExistsByFlagPointer
static bool lineExistsByFlagPointer(unsigned *flags, unsigned *geomFlags=nullptr)
Definition: MSPUBParser.cpp:121
MSPUBBlockType.h
FIELDID_SHADOW_ORIGIN_X
#define FIELDID_SHADOW_ORIGIN_X
Definition: EscherFieldIds.h:88
libmspub::MSPUBCollector::setShapeRotation
void setShapeRotation(unsigned seqNum, double rotation)
Definition: MSPUBCollector.cpp:1461
ColorReference.h
MSPUBTypes.h
libmspub::MSPUBParser::TextSpanReference::charStyle
CharacterStyle charStyle
Definition: MSPUBParser.h:79
libmspub::CHUNK_OFFSET
Definition: MSPUBBlockID.h:24
OFFICE_ART_BLIP_DIB
#define OFFICE_ART_BLIP_DIB
Definition: EscherContainerType.h:23
libmspub::MSPUBCollector::designateMasterPage
void designateMasterPage(unsigned seqNum)
Definition: MSPUBCollector.cpp:1979
libmspub::PALETTE
Definition: MSPUBContentChunkType.h:22
libmspub::Underline::LongDash
libmspub::MSPUBCollector::setShapeColumnSpacing
void setShapeColumnSpacing(unsigned seqNum, unsigned spacing)
Definition: MSPUBCollector.cpp:409
libmspub::MSPUBMetaData::parse
bool parse(librevenge::RVNGInputStream *input)
Definition: MSPUBMetaData.cpp:83
libmspub::MSPUBParser::parseBorderArtChunk
bool parseBorderArtChunk(librevenge::RVNGInputStream *input, const ContentChunkReference &chunk)
Definition: MSPUBParser.cpp:585
libmspub::getIfExists_const
const MapT::mapped_type * getIfExists_const(MapT &map, const typename MapT::key_type &key)
Definition: libmspub_utils.h:93
libmspub::RECTANGLE
Definition: ShapeType.h:19
libmspub::FindBySeqNum::seqNum
unsigned seqNum
Definition: MSPUBParser.h:36
libmspub::MSPUBCollector::addTextShape
void addTextShape(unsigned stringId, unsigned seqNum)
Definition: MSPUBCollector.cpp:1503
libmspub::MSPUBCollector::setShapeStretchBorderArt
void setShapeStretchBorderArt(unsigned seqNum)
Definition: MSPUBCollector.cpp:415
libmspub::QuillChunkReference::length
unsigned long length
Definition: MSPUBTypes.h:105
OFFICE_ART_BLIP_PICT
#define OFFICE_ART_BLIP_PICT
Definition: EscherContainerType.h:26
libmspub::GROUP
Definition: MSPUBContentChunkType.h:24
libmspub::MSPUBCollector::addBorderImage
librevenge::RVNGBinaryData * addBorderImage(ImgType type, unsigned borderArtIndex)
Definition: MSPUBCollector.cpp:1932
FIELDID_DY_TEXT_LEFT
#define FIELDID_DY_TEXT_LEFT
Definition: EscherFieldIds.h:41
libmspub::PARAGRAPH_ALIGNMENT
Definition: MSPUBBlockID.h:52
libmspub::ParagraphStyle::m_align
boost::optional< Alignment > m_align
Definition: MSPUBTypes.h:165
libmspub::ALTSHAPE
Definition: MSPUBContentChunkType.h:19
libmspub::MSPUBCollector::setShapeEndArrow
void setShapeEndArrow(unsigned seqNum, const Arrow &arrow)
Definition: MSPUBCollector.cpp:391
libmspub::PARAGRAPH_SPACE_AFTER
Definition: MSPUBBlockID.h:56
libmspub::MSPUBCollector::addDefaultCharacterStyle
void addDefaultCharacterStyle(const CharacterStyle &style)
Definition: MSPUBCollector.cpp:1482
libmspub::MSPUBParser::m_input
librevenge::RVNGInputStream * m_input
Definition: MSPUBParser.h:148
libmspub::MSPUBBlockInfo::type
unsigned type
Definition: MSPUBTypes.h:82
libmspub::MSPUBCollector::setTextStringOffset
void setTextStringOffset(unsigned textId, unsigned offset)
Definition: MSPUBCollector.cpp:498
libmspub::ParagraphStyle::m_leftIndentEmu
boost::optional< unsigned > m_leftIndentEmu
Definition: MSPUBTypes.h:171
FIELDID_LINE_TOP_BOOL_PROPS
#define FIELDID_LINE_TOP_BOOL_PROPS
Definition: EscherFieldIds.h:48
libmspub::SolidFill
Definition: Fill.h:63
libmspub::PARAGRAPH_LIST_NUMBER_RESTART
Definition: MSPUBBlockID.h:71
libmspub::MSPUBParser::getPageTypeBySeqNum
static PageType getPageTypeBySeqNum(unsigned seqNum)
Definition: MSPUBParser.cpp:2553
FIELDID_ADJUST_VALUE_2
#define FIELDID_ADJUST_VALUE_2
Definition: EscherFieldIds.h:38
libmspub::BA_OFFSET_ENTRY
Definition: MSPUBBlockID.h:70
FIELDID_ADJUST_VALUE_1
#define FIELDID_ADJUST_VALUE_1
Definition: EscherFieldIds.h:37
FIELDID_LINE_DASHING
#define FIELDID_LINE_DASHING
Definition: EscherFieldIds.h:67
libmspub::MSPUBParser::parsePaletteChunk
bool parsePaletteChunk(librevenge::RVNGInputStream *input, const ContentChunkReference &chunk)
Definition: MSPUBParser.cpp:2567
libmspub::BA_IMAGE
Definition: MSPUBBlockID.h:68
libmspub::FONT_INDEX_CONTAINER_ID
Definition: MSPUBBlockID.h:50
libmspub::MSPUBParser::parseEscherShape
void parseEscherShape(librevenge::RVNGInputStream *input, const EscherContainerInfo &sp, Coordinate &parentCoordinateSystem, Coordinate &parentGroupAbsoluteCoord)
Definition: MSPUBParser.cpp:1605
libmspub::CHUNK_TYPE
Definition: MSPUBBlockID.h:23
libmspub::LineSpacingInfo
Definition: MSPUBTypes.h:150
libmspub::PARAGRAPH_LIST_INFO
Definition: MSPUBBlockID.h:72
libmspub::FOPTValues::FOPTValues
FOPTValues()
Definition: MSPUBParser.h:60
libmspub::MSPUBCollector::setMasterPage
void setMasterPage(unsigned pageSeqNum, unsigned masterSeqNum)
Definition: MSPUBCollector.cpp:1984
libmspub::TABLE_ROWCOL_SIZE
Definition: MSPUBBlockID.h:84
OFFICE_ART_FSP
#define OFFICE_ART_FSP
Definition: EscherContainerType.h:30
MSPUBCollector.h
libmspub::MSPUBParser::TextParagraphReference::paraStyle
ParagraphStyle paraStyle
Definition: MSPUBParser.h:87
EscherFieldIds.h
libmspub::PARAGRAPH_LIST_NUMBERING_TYPE
Definition: MSPUBBlockID.h:74
libmspub::APPLIED_MASTER_NAME
Definition: MSPUBBlockID.h:64
libmspub::ImgType
ImgType
Definition: MSPUBTypes.h:213
libmspub::JPEGCMYK
Definition: MSPUBTypes.h:223
FIELDID_END_ARROW_HEIGHT
#define FIELDID_END_ARROW_HEIGHT
Definition: EscherFieldIds.h:76
OFFICE_ART_DG_CONTAINER
#define OFFICE_ART_DG_CONTAINER
Definition: EscherContainerType.h:15
OFFICE_ART_CLIENT_ANCHOR
#define OFFICE_ART_CLIENT_ANCHOR
Definition: EscherContainerType.h:19
libmspub::MSPUBParser::m_blockInfo
std::vector< MSPUBBlockInfo > m_blockInfo
Definition: MSPUBParser.h:151
libmspub::FindBySeqNum
Definition: MSPUBParser.h:34
OFFICE_ART_BLIP_EMF
#define OFFICE_ART_BLIP_EMF
Definition: EscherContainerType.h:24
libmspub::CELLS
Definition: MSPUBContentChunkType.h:27
libmspub::MSPUBParser::extractFOPTValues
FOPTValues extractFOPTValues(librevenge::RVNGInputStream *input, const libmspub::EscherContainerInfo &record)
Definition: MSPUBParser.cpp:2326
libmspub::Vertex
Definition: PolygonUtils.h:39
libmspub::PageType
PageType
Definition: MSPUBTypes.h:206
libmspub::MSPUBParser::imgTypeByBlipType
static ImgType imgTypeByBlipType(unsigned short type)
Definition: MSPUBParser.cpp:228
libmspub::Underline::ThickWave
libmspub::ParagraphStyle::m_listInfo
boost::optional< ListInfo > m_listInfo
Definition: MSPUBTypes.h:173
libmspub::PAGE_BG_SHAPE
Definition: MSPUBBlockID.h:21
libmspub::MSPUBParser::parseEscherDelay
bool parseEscherDelay(librevenge::RVNGInputStream *input)
Definition: MSPUBParser.cpp:293
libmspub::LINE_SPACING_SP
Definition: MSPUBTypes.h:146
libmspub::MSPUBParser::getEscherElementTailLength
static unsigned getEscherElementTailLength(unsigned short type)
Definition: MSPUBParser.cpp:2272
Coordinate.h
libmspub::MSPUBCollector::setShapeCropType
void setShapeCropType(unsigned seqNum, ShapeType cropType)
Definition: MSPUBCollector.cpp:1989
ListInfo.h
libmspub::MSPUBCollector::addEOTFont
void addEOTFont(const librevenge::RVNGString &name, const librevenge::RVNGBinaryData &data)
Definition: MSPUBCollector.cpp:356
libmspub::MSPUBParser::parseDocumentChunk
bool parseDocumentChunk(librevenge::RVNGInputStream *input, const ContentChunkReference &chunk)
Definition: MSPUBParser.cpp:476
libmspub::MSPUBParser::parseShapeGroup
void parseShapeGroup(librevenge::RVNGInputStream *input, const EscherContainerInfo &spgr, Coordinate parentCoordinateSystem, Coordinate parentGroupAbsoluteCoord)
Definition: MSPUBParser.cpp:1582
FIELDID_GEO_RIGHT
#define FIELDID_GEO_RIGHT
Definition: EscherFieldIds.h:58
libmspub::EMBEDDED_EOT
Definition: MSPUBBlockID.h:86
libmspub::Underline::DotDotDash
libmspub::Underline::WordsOnly
libmspub::BA_ARRAY
Definition: MSPUBBlockID.h:65
libmspub::MSPUBParser::m_unknownChunkIndices
std::vector< unsigned > m_unknownChunkIndices
Definition: MSPUBParser.h:159
libmspub::MSPUBParser::MSPUBParser
MSPUBParser()
libmspub::MSPUBParser::parseMetaData
bool parseMetaData()
Definition: MSPUBParser.cpp:2606
libmspub::NORMAL
Definition: MSPUBTypes.h:209
libmspub::ContentChunkReference::offset
unsigned long offset
Definition: MSPUBTypes.h:96
libmspub::ParagraphStyle::m_dropCapLetters
boost::optional< unsigned > m_dropCapLetters
Definition: MSPUBTypes.h:176
libmspub::MSPUBParser::ccr_iterator_t
std::vector< ContentChunkReference >::const_iterator ccr_iterator_t
Definition: MSPUBParser.h:90
libmspub::MSPUBCollector::addPage
bool addPage(unsigned seqNum)
Definition: MSPUBCollector.cpp:1492
libmspub::MSPUBParser::getStartOffset
static int getStartOffset(ImgType type, unsigned short initial)
Definition: MSPUBParser.cpp:252
libmspub::UNKNOWN_CHUNK
Definition: MSPUBContentChunkType.h:17
libmspub::TEXT_SIZE_1_ID
Definition: MSPUBBlockID.h:46
Line.h
libmspub::TABLE_NUM_ROWS
Definition: MSPUBBlockID.h:80
libmspub::EMBOSS_ID
Definition: MSPUBBlockID.h:43
libmspub::BARE_COLOR_INDEX_ID
Definition: MSPUBBlockID.h:49
libmspub::CharacterStyle::colorIndex
int colorIndex
Definition: MSPUBTypes.h:131
libmspub::MSPUBParser::m_alternateShapeSeqNums
std::vector< int > m_alternateShapeSeqNums
Definition: MSPUBParser.h:163
libmspub::CharacterStyle::outline
bool outline
Definition: MSPUBTypes.h:134
libmspub::ParagraphStyle::m_firstLineIndentEmu
boost::optional< int > m_firstLineIndentEmu
Definition: MSPUBTypes.h:170
libmspub::MSPUBCollector::addTextString
bool addTextString(const std::vector< TextParagraph > &str, unsigned id)
Definition: MSPUBCollector.cpp:1876
libmspub::SHADE_SCALE
Definition: FillType.h:24
libmspub::MSPUBParser::getEscherElementAdditionalHeaderLength
static unsigned getEscherElementAdditionalHeaderLength(unsigned short type)
Definition: MSPUBParser.cpp:2284
libmspub::MSPUBParser::parseFonts
void parseFonts(librevenge::RVNGInputStream *input, const QuillChunkReference &chunk)
Definition: MSPUBParser.cpp:1153
libmspub::FOPTValues::m_scalarValues
std::map< unsigned short, unsigned > m_scalarValues
Definition: MSPUBParser.h:58
libmspub::EscherContainerInfo::type
unsigned short type
Definition: MSPUBTypes.h:73
libmspub::QuillChunkReference
Definition: MSPUBTypes.h:102
libmspub::MSPUBParser::m_paletteChunkIndices
std::vector< unsigned > m_paletteChunkIndices
Definition: MSPUBParser.h:156
libmspub::MSPUBCollector::setShapePictureBrightness
void setShapePictureBrightness(unsigned seqNum, int brightness)
Definition: MSPUBCollector.cpp:367
libmspub::MSPUBCollector::setShapePictureContrast
void setShapePictureContrast(unsigned seqNum, int contrast)
Definition: MSPUBCollector.cpp:373
libmspub::MSPUBParser::skipBlock
void skipBlock(librevenge::RVNGInputStream *input, MSPUBBlockInfo block)
Definition: MSPUBParser.cpp:2486
FIELDID_LINE_BOTTOM_WIDTH
#define FIELDID_LINE_BOTTOM_WIDTH
Definition: EscherFieldIds.h:53
libmspub::PARAGRAPH_SPACE_BEFORE
Definition: MSPUBBlockID.h:55
FIELDID_XE
#define FIELDID_XE
Definition: EscherFieldIds.h:15
libmspub::MSPUBParser::parsePaletteEntry
void parsePaletteEntry(librevenge::RVNGInputStream *input, MSPUBBlockInfo block)
Definition: MSPUBParser.cpp:2594
libmspub::MSPUBCollector::setCurrentGroupSeqNum
bool setCurrentGroupSeqNum(unsigned seqNum)
Definition: MSPUBCollector.cpp:590
FIELDID_LINE_LEFT_WIDTH
#define FIELDID_LINE_LEFT_WIDTH
Definition: EscherFieldIds.h:56
FIELDID_FILL_BACK_COLOR
#define FIELDID_FILL_BACK_COLOR
Definition: EscherFieldIds.h:22
libmspub::ContentChunkReference::end
unsigned long end
Definition: MSPUBTypes.h:97
libmspub::Shadow
Definition: Shadow.h:26
FIELDID_SHADOW_HIGHLIGHT
#define FIELDID_SHADOW_HIGHLIGHT
Definition: EscherFieldIds.h:82
libmspub::MSPUBParser::parsePageChunk
bool parsePageChunk(librevenge::RVNGInputStream *input, const ContentChunkReference &chunk)
Definition: MSPUBParser.cpp:649
FIELDID_FIELD_STYLE_BOOL_PROPS
#define FIELDID_FIELD_STYLE_BOOL_PROPS
Definition: EscherFieldIds.h:36
libmspub::TableInfo::m_cells
std::vector< CellInfo > m_cells
Definition: TableInfo.h:40
libmspub::MSPUBCollector::addTextColor
void addTextColor(ColorReference c)
Definition: MSPUBCollector.cpp:1974
libmspub::CharacterStyle::underline
boost::optional< Underline > underline
Definition: MSPUBTypes.h:127
libmspub::MSPUBCollector::setShapeCustomPath
void setShapeCustomPath(unsigned seqNum, const DynamicCustomShape &shape)
Definition: MSPUBCollector.cpp:534
libmspub::CharacterStyle::lcid
boost::optional< unsigned > lcid
Definition: MSPUBTypes.h:141
libmspub::LOGO
Definition: MSPUBContentChunkType.h:25
libmspub::Underline::Dash
Shadow.h
libmspub::ParagraphStyle::m_defaultCharStyleIndex
boost::optional< unsigned > m_defaultCharStyleIndex
Definition: MSPUBTypes.h:166
FLAG_USE_LINE
#define FLAG_USE_LINE
Definition: EscherFieldIds.h:92
PolygonUtils.h
libmspub::SHAPE_HEIGHT
Definition: MSPUBBlockID.h:28
FIELDID_FILL_FOCUS
#define FIELDID_FILL_FOCUS
Definition: EscherFieldIds.h:30
FIELDID_FILL_ANGLE
#define FIELDID_FILL_ANGLE
Definition: EscherFieldIds.h:29
libmspub::TEXT_SIZE_2_ID
Definition: MSPUBBlockID.h:47
FLAG_GEOM_USE_LINE_OK
#define FLAG_GEOM_USE_LINE_OK
Definition: EscherFieldIds.h:98
FIELDID_FILL_TO_TOP
#define FIELDID_FILL_TO_TOP
Definition: EscherFieldIds.h:32
SF_FLIP_V
#define SF_FLIP_V
Definition: ShapeFlags.h:39
libmspub::DOCUMENT_PAGE_LIST
Definition: MSPUBBlockID.h:20
libmspub::FillType
FillType
Definition: FillType.h:15
MSPUB_FALLTHROUGH
#define MSPUB_FALLTHROUGH
Definition: libmspub_utils.h:43
libmspub::ArrowSize
ArrowSize
Definition: Arrow.h:24
libmspub::NO_ARROW
Definition: Arrow.h:17
libmspub::MSPUBCollector::setShapeCoordinatesInEmu
void setShapeCoordinatesInEmu(unsigned seqNum, int xs, int ys, int xe, int ye)
Definition: MSPUBCollector.cpp:1528
FIELDID_PICTURE_BRIGHTNESS
#define FIELDID_PICTURE_BRIGHTNESS
Definition: EscherFieldIds.h:78
Arrow.h
libmspub::MSPUBParser::getBlockDataLength
static short getBlockDataLength(unsigned type)
Definition: MSPUBParser.cpp:136
FIELDID_BEGIN_ARROW_STYLE
#define FIELDID_BEGIN_ARROW_STYLE
Definition: EscherFieldIds.h:71
libmspub::PARAGRAPH_LEFT_INDENT
Definition: MSPUBBlockID.h:58
libmspub::MSPUBCollector::collectMetaData
void collectMetaData(const librevenge::RVNGPropertyList &metaData)
Definition: MSPUBCollector.cpp:351
FIELDID_BEGIN_ARROW_HEIGHT
#define FIELDID_BEGIN_ARROW_HEIGHT
Definition: EscherFieldIds.h:73
libmspub::MSPUBParser
Definition: MSPUBParser.h:65
libmspub::SCALING_ID
Definition: MSPUBBlockID.h:45
FIELDID_LINE_LEFT_BOOL_PROPS
#define FIELDID_LINE_LEFT_BOOL_PROPS
Definition: EscherFieldIds.h:57
FIELDID_FILL_SHADE_COMPLEX
#define FIELDID_FILL_SHADE_COMPLEX
Definition: EscherFieldIds.h:35
libmspub::WMF
Definition: MSPUBTypes.h:218
libmspub::MSPUBParser::parseParagraphStyles
std::vector< TextParagraphReference > parseParagraphStyles(librevenge::RVNGInputStream *input, const QuillChunkReference &chunk)
Definition: MSPUBParser.cpp:1218
libmspub::MSPUBCollector::addFont
void addFont(std::vector< unsigned char > name)
Definition: MSPUBCollector.cpp:1533
FIELDID_SHADOW_OFFSET_Y
#define FIELDID_SHADOW_OFFSET_Y
Definition: EscherFieldIds.h:85
libmspub::SHAPE_BORDER_IMAGE_ID
Definition: MSPUBBlockID.h:31
FLAG_USE_SHADOW
#define FLAG_USE_SHADOW
Definition: EscherFieldIds.h:101
libmspub::OUTLINE_ID
Definition: MSPUBBlockID.h:38
FIELDID_P_SEGMENTS
#define FIELDID_P_SEGMENTS
Definition: EscherFieldIds.h:61
FIELDID_SHAPE_ID
#define FIELDID_SHAPE_ID
Definition: EscherFieldIds.h:19
libmspub::TEXTURE
Definition: FillType.h:19
libmspub::MSPUBCollector::setShapeImgIndex
void setShapeImgIndex(unsigned seqNum, unsigned index)
Definition: MSPUBCollector.cpp:1508
FIELDID_YS
#define FIELDID_YS
Definition: EscherFieldIds.h:14
libmspub::TAB_ARRAY
Definition: MSPUBBlockID.h:89
libmspub::MSPUBBlockInfo::id
unsigned id
Definition: MSPUBTypes.h:81
FIELDID_LINE_TOP_WIDTH
#define FIELDID_LINE_TOP_WIDTH
Definition: EscherFieldIds.h:47
libmspub::DynamicCustomShape::m_elements
std::vector< unsigned short > m_elements
Definition: PolygonUtils.h:95
OFFICE_ART_B_STORE_CONTAINER
#define OFFICE_ART_B_STORE_CONTAINER
Definition: EscherContainerType.h:14
libmspub::SHADE
Definition: FillType.h:21
FLAG_USE_FSHADOW
#define FLAG_USE_FSHADOW
Definition: EscherFieldIds.h:100
libmspub::ParagraphStyle
Definition: MSPUBTypes.h:163
FIELDID_END_ARROW_WIDTH
#define FIELDID_END_ARROW_WIDTH
Definition: EscherFieldIds.h:75
libmspub::DotStyle
DotStyle
Definition: Dash.h:19
libmspub::SHAPE
Definition: MSPUBContentChunkType.h:18
FIELDID_ROTATION
#define FIELDID_ROTATION
Definition: EscherFieldIds.h:40
OFFICE_ART_BLIP_PNG
#define OFFICE_ART_BLIP_PNG
Definition: EscherContainerType.h:20
libmspub::MSPUBParser::TextParagraphReference::last
unsigned short last
Definition: MSPUBParser.h:86
libmspub::MSPUBCollector::setShapePage
void setShapePage(unsigned seqNum, unsigned pageSeqNum)
Definition: MSPUBCollector.cpp:1968
FIELDID_SHADOW_TYPE
#define FIELDID_SHADOW_TYPE
Definition: EscherFieldIds.h:80
libmspub::TIFF
Definition: MSPUBTypes.h:220
libmspub::LOCALE_ID
Definition: MSPUBBlockID.h:40
OFFICE_ART_SP_CONTAINER
#define OFFICE_ART_SP_CONTAINER
Definition: EscherContainerType.h:17
libmspub::DOCUMENT_SIZE
Definition: MSPUBBlockID.h:17
libmspub::QuillChunkReference::name2
std::string name2
Definition: MSPUBTypes.h:109
libmspub::PatternFill
Definition: Fill.h:51
libmspub::DynamicCustomShape
Definition: PolygonUtils.h:92
libmspub::TABLE
Definition: MSPUBContentChunkType.h:26
libmspub::MSPUBCollector::setShapeDash
void setShapeDash(unsigned seqNum, const Dash &dash)
Definition: MSPUBCollector.cpp:1514
FLAG_LEFT_INSET_PEN
#define FLAG_LEFT_INSET_PEN
Definition: EscherFieldIds.h:96
libmspub::MSPUBCollector::go
bool go()
Definition: MSPUBCollector.cpp:1832
OFFICE_ART_FSPGR
#define OFFICE_ART_FSPGR
Definition: EscherContainerType.h:31
FIELDID_GEO_BOTTOM
#define FIELDID_GEO_BOTTOM
Definition: EscherFieldIds.h:59
OFFICE_ART_BLIP_TIFF
#define OFFICE_ART_BLIP_TIFF
Definition: EscherContainerType.h:27
libmspub::ALL_CAPS_ID
Definition: MSPUBBlockID.h:42
libmspub::MSPUBParser::parseContentChunkReference
bool parseContentChunkReference(librevenge::RVNGInputStream *input, MSPUBBlockInfo block)
Definition: MSPUBParser.cpp:2391
libmspub::FindBySeqNum::FindBySeqNum
FindBySeqNum(unsigned sn)
Definition: MSPUBParser.h:38
libmspub::EMF
Definition: MSPUBTypes.h:219
libmspub::FONT_CONTAINER_ARRAY
Definition: MSPUBBlockID.h:85
libmspub::TableInfo::m_columnWidthsInEmu
std::vector< unsigned > m_columnWidthsInEmu
Definition: TableInfo.h:37
FIELDID_SHADOW_ORIGIN_Y
#define FIELDID_SHADOW_ORIGIN_Y
Definition: EscherFieldIds.h:89
libmspub::MSPUBParser::parse
virtual bool parse()
Definition: MSPUBParser.cpp:179
libmspub::PARAGRAPH_DROP_CAP_LETTERS
Definition: MSPUBBlockID.h:62
FIELDID_PXID
#define FIELDID_PXID
Definition: EscherFieldIds.h:17
libmspub::INSIDE_SHAPE
Definition: MSPUBTypes.h:28
libmspub::MSPUBParser::parseTableCellDefinitions
std::vector< unsigned > parseTableCellDefinitions(librevenge::RVNGInputStream *input, const QuillChunkReference &chunk)
Definition: MSPUBParser.cpp:958
libmspub::GENERAL_CONTAINER
Definition: MSPUBBlockType.h:18
libmspub::MSPUBParser::findEscherContainer
bool findEscherContainer(librevenge::RVNGInputStream *input, const EscherContainerInfo &parent, EscherContainerInfo &out, unsigned short type)
Definition: MSPUBParser.cpp:2310
FIELDID_PICTURE_RECOLOR
#define FIELDID_PICTURE_RECOLOR
Definition: EscherFieldIds.h:79
libmspub::MSPUBParser::findEscherContainerWithTypeInSet
bool findEscherContainerWithTypeInSet(librevenge::RVNGInputStream *input, const EscherContainerInfo &parent, EscherContainerInfo &out, std::set< unsigned short > types)
Definition: MSPUBParser.cpp:2295
libmspub::LINE_SPACING_PT
Definition: MSPUBTypes.h:147
ShapeFlags.h
libmspub::MSPUBParser::m_documentChunkIndex
boost::optional< unsigned > m_documentChunkIndex
Definition: MSPUBParser.h:160
libmspub::PATTERN
Definition: FillType.h:18
libmspub::MSPUBParser::operator=
MSPUBParser & operator=(const MSPUBParser &)
FIELDID_ADJUST_VALUE_3
#define FIELDID_ADJUST_VALUE_3
Definition: EscherFieldIds.h:39
libmspub::SMALL_CAPS_ID
Definition: MSPUBBlockID.h:41
libmspub::BA_IMAGE_CONTAINER
Definition: MSPUBBlockID.h:67
FIELDID_SHADOW_OFFSET_X
#define FIELDID_SHADOW_OFFSET_X
Definition: EscherFieldIds.h:84
libmspub::Arrow
Definition: Arrow.h:30
libmspub::Underline::Single
libmspub::MSPUBParser::parseBlock
MSPUBBlockInfo parseBlock(librevenge::RVNGInputStream *input, bool skipHierarchicalData=false)
Definition: MSPUBParser.cpp:2502
libmspub::CharacterStyle::fontIndex
boost::optional< unsigned > fontIndex
Definition: MSPUBTypes.h:132
SF_GROUP
#define SF_GROUP
Definition: ShapeFlags.h:32
libmspub::PARAGRAPH_LINE_SPACING
Definition: MSPUBBlockID.h:54
libmspub::HALF_INSIDE_SHAPE
Definition: MSPUBTypes.h:29
libmspub::MSPUBCollector::setShapeBorderPosition
void setShapeBorderPosition(unsigned seqNum, BorderPosition pos)
Definition: MSPUBCollector.cpp:570
libmspub::COLOR_INDEX_CONTAINER_ID
Definition: MSPUBBlockID.h:48
libmspub::ITALIC_2_ID
Definition: MSPUBBlockID.h:36
libmspub::SHADE_CENTER
Definition: FillType.h:22
VerticalAlign.h
Fill.h
libmspub::ContentChunkReference::seqNum
unsigned seqNum
Definition: MSPUBTypes.h:98
libmspub::MSPUBCollector::setShapePictureRecolor
void setShapePictureRecolor(unsigned seqNum, const ColorReference &recolor)
Definition: MSPUBCollector.cpp:361
libmspub::MSPUBParser::getFontIndex
unsigned getFontIndex(librevenge::RVNGInputStream *input, const MSPUBBlockInfo &info)
Definition: MSPUBParser.cpp:1498
libmspub::CharacterStyle::shadow
bool shadow
Definition: MSPUBTypes.h:135
libmspub::FindByParentSeqNum::seqNum
unsigned seqNum
Definition: MSPUBParser.h:47
libmspub::MSPUBParser::parsePageShapeList
bool parsePageShapeList(librevenge::RVNGInputStream *input, MSPUBBlockInfo block, unsigned pageSeqNum)
Definition: MSPUBParser.cpp:691
libmspub::MSPUBMetaData
Definition: MSPUBMetaData.h:24
libmspub::SHAPE_VALIGN
Definition: MSPUBBlockID.h:76
libmspub::BOLD_2_ID
Definition: MSPUBBlockID.h:34
libmspub::Underline::ThickLongDash
libmspub::MSPUBCollector::setShapeTableInfo
void setShapeTableInfo(unsigned seqNum, const TableInfo &ti)
Definition: MSPUBCollector.cpp:397
libmspub::EscherContainerInfo::contentsOffset
unsigned long contentsOffset
Definition: MSPUBTypes.h:75
libmspub::MSPUBCollector::beginGroup
void beginGroup()
Definition: MSPUBCollector.cpp:545
libmspub::CharacterStyle
Definition: MSPUBTypes.h:112
libmspub::MSPUBParser::m_pageChunkIndices
std::vector< unsigned > m_pageChunkIndices
Definition: MSPUBParser.h:154
libmspub::ENGRAVE_ID
Definition: MSPUBBlockID.h:44
libmspub::FONT
Definition: MSPUBContentChunkType.h:28
libmspub::CellInfo::m_startColumn
unsigned m_startColumn
Definition: TableInfo.h:30
libmspub::ListInfo
Definition: ListInfo.h:25
libmspub::DIB
Definition: MSPUBTypes.h:221
libmspub::CharacterStyle::italic
bool italic
Definition: MSPUBTypes.h:128
libmspub::MSPUBParser::m_length
unsigned m_length
Definition: MSPUBParser.h:149
FLAG_LINE
#define FLAG_LINE
Definition: EscherFieldIds.h:93
libmspub::PAGE_SHAPES
Definition: MSPUBBlockID.h:22
libmspub::MSPUBMetaData::getMetaData
const librevenge::RVNGPropertyList & getMetaData()
Definition: MSPUBMetaData.cpp:328
libmspub::MSPUBParser::TextParagraphReference::TextParagraphReference
TextParagraphReference(unsigned short f, unsigned short l, const ParagraphStyle &ps)
Definition: MSPUBParser.h:84
libmspub::DUMMY
Definition: MSPUBBlockType.h:20
libmspub::FindByParentSeqNum::FindByParentSeqNum
FindByParentSeqNum(unsigned sn)
Definition: MSPUBParser.h:49
libmspub::ShapeType
ShapeType
Definition: ShapeType.h:15
libmspub::ParagraphStyle::m_tabStopsInEmu
std::vector< unsigned > m_tabStopsInEmu
Definition: MSPUBTypes.h:174
FIELDID_COLUMN_SPACING
#define FIELDID_COLUMN_SPACING
Definition: EscherFieldIds.h:70
libmspub::DUMMY_PAGE
Definition: MSPUBTypes.h:210
libmspub::ParagraphStyle::m_dropCapLines
boost::optional< unsigned > m_dropCapLines
Definition: MSPUBTypes.h:175
libmspub::Color
Definition: MSPUBTypes.h:199
libmspub::doubleModulo
double doubleModulo(double x, double y)
Definition: libmspub_utils.cpp:108
libmspub::COLOR_INDEX_ID
Definition: MSPUBBlockID.h:51
libmspub::getLength
unsigned long getLength(librevenge::RVNGInputStream *const input)
Definition: libmspub_utils.cpp:349
libmspub::MSPUBBlockInfo::data
unsigned data
Definition: MSPUBTypes.h:86
libmspub::ColorReference
Definition: ColorReference.h:19
MSPUBParser.h
libmspub::MSPUBCollector::setShapeOrder
void setShapeOrder(unsigned seqNum)
Definition: MSPUBCollector.cpp:601
FIELDID_PICTURE_CONTRAST
#define FIELDID_PICTURE_CONTRAST
Definition: EscherFieldIds.h:77
FIELDID_END_ARROW_STYLE
#define FIELDID_END_ARROW_STYLE
Definition: EscherFieldIds.h:74
libmspub::MSPUBParser::TextSpanReference::last
unsigned short last
Definition: MSPUBParser.h:78
libmspub::GradientFill
Definition: Fill.h:75
libmspub::MSPUBParser::getNewFill
std::shared_ptr< Fill > getNewFill(const std::map< unsigned short, unsigned > &foptProperties, bool &skipIfNotBg, std::map< unsigned short, std::vector< unsigned char > > &foptValues)
Definition: MSPUBParser.cpp:2001
libmspub::MSPUBParser::TextSpanReference::first
unsigned short first
Definition: MSPUBParser.h:77
libmspub::BA_IMAGE_ARRAY
Definition: MSPUBBlockID.h:66
POINTS_IN_INCH
#define POINTS_IN_INCH
Definition: MSPUBConstants.h:14
libmspub::MSPUBCollector::addPaletteColor
void addPaletteColor(Color)
Definition: MSPUBCollector.cpp:610
libmspub::MSPUBParser::m_cellsChunkIndices
std::vector< unsigned > m_cellsChunkIndices
Definition: MSPUBParser.h:153
libmspub::SHAPE_SEQNUM
Definition: MSPUBBlockType.h:21
libmspub::MSPUBParser::TextSpanReference::TextSpanReference
TextSpanReference(unsigned short f, unsigned short l, const CharacterStyle &cs)
Definition: MSPUBParser.h:76
libmspub::FOPTValues::m_complexValues
std::map< unsigned short, std::vector< unsigned char > > m_complexValues
Definition: MSPUBParser.h:59
libmspub::TAB_AMOUNT
Definition: MSPUBBlockID.h:91
libmspub::Underline::ThickDot
OFFICE_ART_BLIP_WMF
#define OFFICE_ART_BLIP_WMF
Definition: EscherContainerType.h:25
libmspub::Underline::Wave
libmspub::CellInfo
Definition: TableInfo.h:18
libmspub::Underline::Double
libmspub::MSPUBCollector::setShapeType
void setShapeType(unsigned seqNum, ShapeType type)
Definition: MSPUBCollector.cpp:1472
libmspub::MSPUBCollector::endGroup
bool endGroup()
Definition: MSPUBCollector.cpp:555
libmspub::DynamicCustomShape::m_vertices
std::vector< Vertex > m_vertices
Definition: PolygonUtils.h:94
libmspub::Coordinate
Definition: Coordinate.h:17
libmspub::EMBEDDED_FONT_NAME
Definition: MSPUBBlockID.h:87
libmspub::SHADE_SHAPE
Definition: FillType.h:23
libmspub::MSPUBBlockInfo::stringData
std::vector< unsigned char > stringData
Definition: MSPUBTypes.h:87
libmspub::EscherContainerInfo
Definition: MSPUBTypes.h:70
libmspub::MSPUBCollector::setShapeVerticalTextAlign
void setShapeVerticalTextAlign(unsigned seqNum, VerticalAlign va)
Definition: MSPUBCollector.cpp:385
libmspub::MSPUBParser::TextParagraphReference::first
unsigned short first
Definition: MSPUBParser.h:85
libmspub::MSPUBParser::m_lastAddedImage
unsigned m_lastAddedImage
Definition: MSPUBParser.h:162
libmspub::Underline::DoubleWave
libmspub::QuillChunkReference::name
std::string name
Definition: MSPUBTypes.h:108
FIELDID_LINE_STYLE_BOOL_PROPS
#define FIELDID_LINE_STYLE_BOOL_PROPS
Definition: EscherFieldIds.h:26
libmspub::FindByParentSeqNum::operator()
bool operator()(const libmspub::ContentChunkReference &ref)
Definition: MSPUBParser.h:50
libmspub::Underline
Underline
Definition: MSPUBTypes.h:40
libmspub::FOPTValues
Definition: MSPUBParser.h:56
FIELDID_LINE_BACK_COLOR
#define FIELDID_LINE_BACK_COLOR
Definition: EscherFieldIds.h:25
libmspub::MSPUBParser::parseShape
bool parseShape(librevenge::RVNGInputStream *input, const ContentChunkReference &chunk)
Definition: MSPUBParser.cpp:705
libmspub::MSPUBCollector::addShapeLine
void addShapeLine(unsigned seqNum, Line line)
Definition: MSPUBCollector.cpp:565
libmspub::NumberingDelimiter
NumberingDelimiter
Definition: NumberingDelimiter.h:15
DEFAULT_MARGIN
#define DEFAULT_MARGIN
Definition: MSPUBConstants.h:15
libmspub::MSPUBParser::TextParagraphReference
Definition: MSPUBParser.h:82
libmspub::MSPUBParser::m_fontChunkIndices
std::vector< unsigned > m_fontChunkIndices
Definition: MSPUBParser.h:158
OFFICE_ART_CHILD_ANCHOR
#define OFFICE_ART_CHILD_ANCHOR
Definition: EscherContainerType.h:32
libmspub::Underline::ThickDotDash
FIELDID_XS
#define FIELDID_XS
Definition: EscherFieldIds.h:13
OFFICE_ART_BLIP_JPEG
#define OFFICE_ART_BLIP_JPEG
Definition: EscherContainerType.h:21
libmspub::PICT
Definition: MSPUBTypes.h:222
libmspub::CharacterStyle::superSubType
SuperSubType superSubType
Definition: MSPUBTypes.h:133
libmspub::MSPUBCollector::addImage
bool addImage(unsigned index, ImgType type, librevenge::RVNGBinaryData img)
Definition: MSPUBCollector.cpp:1914
FIELDID_FILL_TO_BOTTOM
#define FIELDID_FILL_TO_BOTTOM
Definition: EscherFieldIds.h:34
libmspub::inflateData
librevenge::RVNGBinaryData inflateData(librevenge::RVNGBinaryData deflated)
Definition: libmspub_utils.cpp:167
libmspub::SHAPE_TEXT_ID
Definition: MSPUBBlockID.h:30
FIELDID_LINE_BOTTOM_COLOR
#define FIELDID_LINE_BOTTOM_COLOR
Definition: EscherFieldIds.h:52
FLAG_GEOM_LINE_OK
#define FLAG_GEOM_LINE_OK
Definition: EscherFieldIds.h:99
OFFICE_ART_FOPT
#define OFFICE_ART_FOPT
Definition: EscherContainerType.h:28
libmspub::MSPUBCollector::setShapeBeginArrow
void setShapeBeginArrow(unsigned seqNum, const Arrow &arrow)
Definition: MSPUBCollector.cpp:379
libmspub::ContentChunkReference::type
unsigned type
Definition: MSPUBTypes.h:95
libmspub::Underline::ThickDotDotDash
libmspub::PARAGRAPH_LIST_BULLET_CHAR
Definition: MSPUBBlockID.h:73
libmspub::ITALIC_1_ID
Definition: MSPUBBlockID.h:35
MSPUBContentChunkType.h
OFFICE_ART_DGG_CONTAINER
#define OFFICE_ART_DGG_CONTAINER
Definition: EscherContainerType.h:13
FIELDID_FILL_COLOR
#define FIELDID_FILL_COLOR
Definition: EscherFieldIds.h:20
libmspub::MSPUBCollector::setShapeBorderImageId
void setShapeBorderImageId(unsigned seqNum, unsigned borderImageId)
Definition: MSPUBCollector.cpp:529
libmspub::QuillChunkReference::offset
unsigned long offset
Definition: MSPUBTypes.h:106
libmspub::Coordinate::m_ye
int m_ye
Definition: Coordinate.h:21
FLAG_USE_LEFT_INSET_PEN
#define FLAG_USE_LEFT_INSET_PEN
Definition: EscherFieldIds.h:94
libmspub::MSPUBParser::m_contentChunks
std::vector< ContentChunkReference > m_contentChunks
Definition: MSPUBParser.h:152
FIELDID_P_VERTICES
#define FIELDID_P_VERTICES
Definition: EscherFieldIds.h:60
FIELDID_LINE_RIGHT_WIDTH
#define FIELDID_LINE_RIGHT_WIDTH
Definition: EscherFieldIds.h:50
libmspub::ContentChunkReference::parentSeqNum
unsigned parentSeqNum
Definition: MSPUBTypes.h:99
SF_FLIP_H
#define SF_FLIP_H
Definition: ShapeFlags.h:38
libmspub::SHAPE_DONT_STRETCH_BA
Definition: MSPUBBlockID.h:29
libmspub::ContentChunkReference
Definition: MSPUBTypes.h:90
FIELDID_SHADOW_SECOND_OFFSET_Y
#define FIELDID_SHADOW_SECOND_OFFSET_Y
Definition: EscherFieldIds.h:87
libmspub::MSPUBParser::parseEscher
bool parseEscher(librevenge::RVNGInputStream *input)
Definition: MSPUBParser.cpp:1536
FIELDID_LINE_ENDCAP_STYLE
#define FIELDID_LINE_ENDCAP_STYLE
Definition: EscherFieldIds.h:68
FIELDID_SHADOW_BOOL_PROPS
#define FIELDID_SHADOW_BOOL_PROPS
Definition: EscherFieldIds.h:90
FIELDID_BEGIN_ARROW_WIDTH
#define FIELDID_BEGIN_ARROW_WIDTH
Definition: EscherFieldIds.h:72
libmspub::MSPUBBlockInfo::startPosition
unsigned long startPosition
Definition: MSPUBTypes.h:83
libmspub::SOLID
Definition: FillType.h:17
libmspub::MSPUBCollector::setTableCellTextEnds
void setTableCellTextEnds(unsigned textId, const std::vector< unsigned > &ends)
Definition: MSPUBCollector.cpp:504
libmspub::DynamicCustomShape::m_calculations
std::vector< Calculation > m_calculations
Definition: PolygonUtils.h:96
libmspub::TABLE_ROWCOL_ARRAY
Definition: MSPUBBlockID.h:82
libmspub::MSPUBParser::isBlockDataString
static bool isBlockDataString(unsigned type)
Definition: MSPUBParser.cpp:2482
libmspub::PARAGRAPH_TABS
Definition: MSPUBBlockID.h:88
libmspub::MSPUBCollector::setBorderImageOffset
void setBorderImageOffset(unsigned index, unsigned offset)
Definition: MSPUBCollector.cpp:1943
libmspub::MSPUBParser::m_borderArtChunkIndices
std::vector< unsigned > m_borderArtChunkIndices
Definition: MSPUBParser.h:157
FIELDID_SHADOW_COLOR
#define FIELDID_SHADOW_COLOR
Definition: EscherFieldIds.h:81
ShapeType.h
FIELDID_LINE_WIDTH
#define FIELDID_LINE_WIDTH
Definition: EscherFieldIds.h:45
libmspub::TABLE_CELLS_SEQNUM
Definition: MSPUBBlockID.h:79
libmspub::Underline::DotDash
libmspub::Underline::ThickDash
libmspub::MSPUBParser::getDynamicCustomShape
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:2171
FIELDID_FILL_TO_RIGHT
#define FIELDID_FILL_TO_RIGHT
Definition: EscherFieldIds.h:33
FIELDID_LINE_RIGHT_BOOL_PROPS
#define FIELDID_LINE_RIGHT_BOOL_PROPS
Definition: EscherFieldIds.h:51
libmspub::CellInfo::m_startRow
unsigned m_startRow
Definition: TableInfo.h:28
libmspub::PARAGRAPH_DEFAULT_CHAR_STYLE
Definition: MSPUBBlockID.h:53
libmspub::MEDIUM
Definition: Arrow.h:27
libmspub::EscherContainerInfo::contentsLength
unsigned long contentsLength
Definition: MSPUBTypes.h:74
libmspub::appendCharacters
void appendCharacters(librevenge::RVNGString &text, const std::vector< unsigned char > &characters, const char *encoding)
Definition: libmspub_utils.cpp:383
FIELDID_FILL_TYPE
#define FIELDID_FILL_TYPE
Definition: EscherFieldIds.h:28
libmspub::UNKNOWN
Definition: MSPUBTypes.h:215
EMUS_IN_INCH
#define EMUS_IN_INCH
Definition: MSPUBConstants.h:13
libmspub::DOCUMENT_HEIGHT
Definition: MSPUBBlockID.h:19
libmspub::MSPUBCollector::setShapeFlip
void setShapeFlip(unsigned, bool, bool)
Definition: MSPUBCollector.cpp:1467
libmspub::PAGE
Definition: MSPUBContentChunkType.h:21
libmspub::MSPUBParser::m_lastSeenSeqNum
int m_lastSeenSeqNum
Definition: MSPUBParser.h:161