Go to the documentation of this file.
10 #ifndef ZMF4PARSER_H_INCLUDED
11 #define ZMF4PARSER_H_INCLUDED
13 #include <librevenge/librevenge.h>
21 #include <boost/optional.hpp>
72 boost::optional<uint32_t>
id;
179 #endif // ZMF4PARSER_H_INCLUDED
Definition: ZMFTypes.h:270
void endDocument()
Definition: ZMFCollector.cpp:339
const std::vector< Point > & points() const
Definition: ZMFTypes.cpp:108
const BMIHeader & header() const
Definition: BMIParser.cpp:365
void readLayer(const ObjectHeader &layerStartObjHeader)
Definition: ZMF4Parser.cpp:585
double dashDistance
Definition: ZMFTypes.h:148
Color color
Definition: ZMFTypes.h:251
librevenge::RVNGString name
Definition: ZMFTypes.h:272
void readPolygon()
Definition: ZMF4Parser.cpp:1270
boost::optional< Transparency > transparency
Definition: ZMFTypes.h:262
void endGroup()
Definition: ZMFCollector.cpp:414
Image image
Definition: ZMFTypes.h:220
boost::optional< Shadow > shadow
Definition: ZMFTypes.h:263
void readParagraphStyle()
Definition: ZMF4Parser.cpp:1052
Definition: ZMFTypes.h:333
unsigned long getLength(const RVNGInputStreamPtr &input)
Definition: libzmf_utils.cpp:197
double angle
Definition: ZMFTypes.h:249
boost::optional< Fill > fill
Definition: ZMFTypes.h:276
void skip(const RVNGInputStreamPtr &input, unsigned long numBytes)
Definition: libzmf_utils.cpp:174
const RVNGInputStreamPtr m_input
Definition: ZMF4Parser.h:151
Definition: ZMFTypes.h:86
void collectImage(const librevenge::RVNGBinaryData &image, const Point &topLeft, double width, double height, double rotation, bool mirrorHorizontal, bool mirrorVertical)
Definition: ZMFCollector.cpp:800
void startPage(const ZMFPageSettings &pageSettings)
Definition: ZMFCollector.cpp:352
std::map< uint32_t, Pen > m_pens
Definition: ZMF4Parser.h:164
Image readImage()
Parse the bitmap and convert it to PNG.
Definition: BMIParser.cpp:328
void collectTextObject(const Text &text, const Point &topLeft, double width, double height, VerticalAlignment align, double rotation)
Definition: ZMFCollector.cpp:599
Definition: ZMFTypes.h:46
double offset
Definition: ZMFTypes.h:174
void startGroup()
Definition: ZMFCollector.cpp:407
void collectEllipse(const Point &c, double rx, double ry, double rotation)
Definition: ZMFCollector.cpp:448
bool parse()
Definition: ZMF4Parser.cpp:71
void readPage()
Definition: ZMF4Parser.cpp:524
uint32_t m_inputLength
Definition: ZMF4Parser.h:152
uint32_t tag
Definition: ZMF4Parser.h:89
double width
Definition: ZMFTypes.h:380
boost::optional< Pen > pen
Definition: ZMFTypes.h:260
double lineSpacing
Definition: ZMFTypes.h:314
ZMF4Header m_header
Definition: ZMF4Parser.h:156
ZMF4Parser(const ZMF4Parser &other)
ZMFPageSettings m_pageSettings
Definition: ZMF4Parser.h:158
Definition: BMIParser.h:23
void startLayer()
Definition: ZMFCollector.cpp:385
std::shared_ptr< Arrow > ArrowPtr
Definition: ZMFTypes.h:139
void readPen()
Definition: ZMF4Parser.cpp:763
Definition: ZMF4Parser.h:26
boost::optional< Fill > getFillByRefId(uint32_t id)
Definition: ZMF4Parser.cpp:229
Definition: ZMFTypes.h:191
bool tile
Definition: ZMFTypes.h:221
int32_t readS32(const RVNGInputStreamPtr &input, bool bigEndian)
Definition: libzmf_utils.cpp:148
void endPage()
Definition: ZMFCollector.cpp:375
ObjectType
Definition: ZMF4Parser.h:37
uint16_t readU16(const RVNGInputStreamPtr &input, bool bigEndian)
Definition: libzmf_utils.cpp:100
void collectPath(const std::vector< Curve > &curves)
Definition: ZMFCollector.cpp:424
std::map< uint32_t, Shadow > m_shadows
Definition: ZMF4Parser.h:167
LineCapType lineCapType
Definition: ZMFTypes.h:145
std::map< uint32_t, Image > m_images
Definition: ZMF4Parser.h:170
std::shared_ptr< librevenge::RVNGInputStream > RVNGInputStreamPtr
Definition: libzmf_utils.h:72
ObjectHeader m_currentObjectHeader
Definition: ZMF4Parser.h:162
Definition: ZMFTypes.h:246
Point readPoint()
Definition: ZMF4Parser.cpp:305
Definition: ZMFCollector.h:21
Definition: ZMFTypes.h:24
bool isItalic
Definition: ZMFTypes.h:275
int m_pageNumber
Definition: ZMF4Parser.h:160
std::map< uint32_t, Fill > m_fills
Definition: ZMF4Parser.h:165
double x
Definition: ZMFTypes.h:26
double y
Definition: ZMFTypes.h:27
uint8_t blue
Definition: ZMFTypes.h:101
std::vector< CurveType > sectionTypes
Definition: ZMFTypes.h:89
Definition: ZMFTypes.h:129
ZMFCollector m_collector
Definition: ZMF4Parser.h:154
uint32_t readU32(const RVNGInputStreamPtr &input, bool bigEndian)
Definition: libzmf_utils.cpp:116
boost::optional< Shadow > getShadowByRefId(uint32_t id)
Definition: ZMF4Parser.cpp:239
uint8_t red
Definition: ZMFTypes.h:99
Color color
Definition: ZMFTypes.h:143
void collectPolygon(const Point &c, double rx, double ry, uint32_t peaksCount, const Curve &peak, double rotation, bool mirrorHorizontal, bool mirrorVertical)
Definition: ZMFCollector.cpp:535
double tileWidth
Definition: ZMFTypes.h:222
uint8_t green
Definition: ZMFTypes.h:100
void collectTable(const Table &table)
Definition: ZMFCollector.cpp:730
uint32_t id
Definition: ZMF4Parser.h:88
Definition: BMIHeader.cpp:13
double angle
Definition: ZMFTypes.h:195
boost::optional< Text > getTextByRefId(uint32_t id)
Definition: ZMF4Parser.cpp:259
void readImage()
Definition: ZMF4Parser.cpp:989
Definition: ZMFTypes.h:389
std::map< uint32_t, ParagraphStyle > m_paragraphStyles
Definition: ZMF4Parser.h:173
void setStyle(const Style &style)
Definition: ZMFCollector.cpp:419
uint8_t readU8(const RVNGInputStreamPtr &input, bool)
Definition: libzmf_utils.cpp:88
std::vector< Point > points
Definition: ZMFTypes.h:88
void startDocument()
Definition: ZMFCollector.cpp:327
LineJoinType lineJoinType
Definition: ZMFTypes.h:146
boost::optional< Font > getFontByRefId(uint32_t id)
Definition: ZMF4Parser.cpp:249
Point topLeftPoint
Definition: ZMFTypes.h:382
std::map< uint32_t, Transparency > m_transparencies
Definition: ZMF4Parser.h:166
double height
Definition: ZMFTypes.h:381
const unsigned char * readNBytes(const RVNGInputStreamPtr &input, const unsigned long numBytes)
Definition: libzmf_utils.cpp:161
void readTextFrame()
Definition: ZMF4Parser.cpp:1186
boost::optional< Pen > outline
Definition: ZMFTypes.h:277
GradientType type
Definition: ZMFTypes.h:193
bool closed
Definition: ZMFTypes.h:90
std::vector< ObjectRef > readObjectRefs()
Definition: ZMF4Parser.cpp:201
#define ZMF_ALMOST_ZERO(m)
Definition: libzmf_utils.h:33
std::map< uint32_t, ArrowPtr > m_arrows
Definition: ZMF4Parser.h:168
void readTable()
Definition: ZMF4Parser.cpp:1311
Font font
Definition: ZMFTypes.h:316
bool isInvisible
Definition: ZMFTypes.h:151
HorizontalAlignment alignment
Definition: ZMFTypes.h:315
ZMF4Parser & operator=(const ZMF4Parser &other)
std::vector< double > dashPattern
Definition: ZMFTypes.h:147
void readDocumentSettings()
Definition: ZMF4Parser.cpp:498
void appendCharacters(librevenge::RVNGString &text, const unsigned char *characters, uint32_t size, const char *encoding)
Definition: libzmf_utils.cpp:221
void readFill()
Definition: ZMF4Parser.cpp:669
double um2in(T micrometers)
Definition: libzmf_utils.h:126
ArrowPtr startArrow
Definition: ZMFTypes.h:149
Definition: ZMFTypes.h:218
float readFloat(const RVNGInputStreamPtr &input, bool bigEndian)
Definition: libzmf_utils.cpp:153
void endLayer()
Definition: ZMFCollector.cpp:397
#define NO_ID
Definition: ZMF4Parser.cpp:15
void seek(const RVNGInputStreamPtr &input, const unsigned long pos)
Definition: libzmf_utils.cpp:181
ArrowPtr getArrowByRefId(uint32_t id)
Definition: ZMF4Parser.cpp:269
void readShadow()
Definition: ZMF4Parser.cpp:880
void readCurve()
Definition: ZMF4Parser.cpp:1223
std::map< uint32_t, Font > m_fonts
Definition: ZMF4Parser.h:172
boost::optional< Fill > fill
Definition: ZMFTypes.h:261
Definition: ZMFTypes.h:232
Definition: ZMFTypes.h:141
Color color
Definition: ZMFTypes.h:173
ObjectHeader readObjectHeader()
Definition: ZMF4Parser.cpp:163
Definition: ZMFTypes.h:97
Definition: ZMFTypes.h:171
bool isBold
Definition: ZMFTypes.h:274
boost::optional< Transparency > getTransparencyByRefId(uint32_t id)
Definition: ZMF4Parser.cpp:244
Color color
Definition: ZMFTypes.h:234
double width
Definition: ZMFTypes.h:144
void readText()
Definition: ZMF4Parser.cpp:1113
Point readUnscaledPoint()
Definition: ZMF4Parser.cpp:312
void readTransparency()
Definition: ZMF4Parser.cpp:740
Definition: ZMFTypes.h:376
double opacity
Definition: ZMFTypes.h:250
Point offset
Definition: ZMFTypes.h:248
boost::optional< ParagraphStyle > getParagraphStyleByRefId(uint32_t id)
Definition: ZMF4Parser.cpp:254
Definition: ZMFTypes.h:312
Point center
Definition: ZMFTypes.h:196
void readEllipse()
Definition: ZMF4Parser.cpp:1246
double size
Definition: ZMFTypes.h:273
Gradient readGradient(uint32_t type)
Definition: ZMF4Parser.cpp:423
Definition: ZMF4Parser.h:86
std::vector< Paragraph > paragraphs
Definition: ZMFTypes.h:335
static ObjectType parseObjectType(uint8_t type)
Definition: ZMF4Parser.cpp:103
std::vector< Column > columns
Definition: ZMFTypes.h:379
void readCurveSectionTypes(std::vector< CurveType > §ionTypes)
Definition: ZMF4Parser.cpp:348
std::vector< Curve > readCurveComponents(std::function< Point()> readPointFunc)
Definition: ZMF4Parser.cpp:370
Style readStyle()
Definition: ZMF4Parser.cpp:275
void readPreviewBitmap()
Definition: ZMF4Parser.cpp:489
boost::optional< Image > getImageByRefId(uint32_t id)
Definition: ZMF4Parser.cpp:264
ArrowPtr endArrow
Definition: ZMFTypes.h:150
void readFont()
Definition: ZMF4Parser.cpp:1020
std::vector< GradientStop > stops
Definition: ZMFTypes.h:194
Color readColor()
Definition: ZMF4Parser.cpp:414
void readBitmap()
Definition: ZMF4Parser.cpp:953
double tileHeight
Definition: ZMFTypes.h:223
Definition: ZMFTypes.h:258
std::map< uint32_t, Text > m_texts
Definition: ZMF4Parser.h:174
std::vector< Row > rows
Definition: ZMFTypes.h:378
boost::optional< Pen > getPenByRefId(uint32_t id)
Definition: ZMF4Parser.cpp:234
void readRectangle()
Definition: ZMF4Parser.cpp:1234
#define ZMF_DEBUG_MSG(M)
Definition: libzmf_utils.h:49
Definition: libzmf_utils.h:140
void readArrow()
Definition: ZMF4Parser.cpp:932
void collectArc(const Point &c, double rx, double ry, double beginAngle, double endAngle, bool closed, double rotation)
Definition: ZMFCollector.cpp:468
BoundingBox readBoundingBox()
Definition: ZMF4Parser.cpp:319
Generated for libzmf by
doxygen 1.8.17