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:271
void endDocument()
Definition: ZMFCollector.cpp:339
const std::vector< Point > & points() const
Definition: ZMFTypes.cpp:108
const BMIHeader & header() const
Definition: BMIParser.cpp:432
void readLayer(const ObjectHeader &layerStartObjHeader)
Definition: ZMF4Parser.cpp:594
double dashDistance
Definition: ZMFTypes.h:148
Color color
Definition: ZMFTypes.h:251
librevenge::RVNGString name
Definition: ZMFTypes.h:272
void readPolygon()
Definition: ZMF4Parser.cpp:1280
boost::optional< Transparency > transparency
Definition: ZMFTypes.h:262
void endGroup()
Definition: ZMFCollector.cpp:414
ZMF4Parser & operator=(const ZMF4Parser &other)=delete
Image image
Definition: ZMFTypes.h:220
boost::optional< Shadow > shadow
Definition: ZMFTypes.h:263
void readParagraphStyle()
Definition: ZMF4Parser.cpp:1061
Definition: ZMFTypes.h:334
unsigned long getLength(const RVNGInputStreamPtr &input)
Definition: libzmf_utils.cpp:198
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:175
const RVNGInputStreamPtr m_input
Definition: ZMF4Parser.h:151
Definition: ZMFTypes.h:87
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:379
void collectTextObject(const Text &text, const Point &topLeft, double width, double height, VerticalAlignment align, double rotation)
Definition: ZMFCollector.cpp:599
Definition: ZMFTypes.h:47
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:72
void readPage()
Definition: ZMF4Parser.cpp:533
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
ZMFPageSettings m_pageSettings
Definition: ZMF4Parser.h:158
Definition: BMIParser.h:24
void startLayer()
Definition: ZMFCollector.cpp:385
std::shared_ptr< Arrow > ArrowPtr
Definition: ZMFTypes.h:139
void readPen()
Definition: ZMF4Parser.cpp:772
Definition: ZMF4Parser.h:27
boost::optional< Fill > getFillByRefId(uint32_t id)
Definition: ZMF4Parser.cpp:237
Definition: ZMFTypes.h:192
bool tile
Definition: ZMFTypes.h:221
int32_t readS32(const RVNGInputStreamPtr &input, bool bigEndian)
Definition: libzmf_utils.cpp:149
void endPage()
Definition: ZMFCollector.cpp:375
ObjectType
Definition: ZMF4Parser.h:38
uint16_t readU16(const RVNGInputStreamPtr &input, bool bigEndian)
Definition: libzmf_utils.cpp:101
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:80
ObjectHeader m_currentObjectHeader
Definition: ZMF4Parser.h:162
Definition: ZMFTypes.h:247
Point readPoint()
Definition: ZMF4Parser.cpp:313
Definition: ZMFCollector.h:22
Definition: ZMFTypes.h:25
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:130
ZMFCollector m_collector
Definition: ZMF4Parser.h:154
uint32_t readU32(const RVNGInputStreamPtr &input, bool bigEndian)
Definition: libzmf_utils.cpp:117
boost::optional< Shadow > getShadowByRefId(uint32_t id)
Definition: ZMF4Parser.cpp:247
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:14
double angle
Definition: ZMFTypes.h:195
boost::optional< Text > getTextByRefId(uint32_t id)
Definition: ZMF4Parser.cpp:267
void readImage()
Definition: ZMF4Parser.cpp:997
Definition: ZMFTypes.h:390
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:89
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:257
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:162
void readTextFrame()
Definition: ZMF4Parser.cpp:1196
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:1323
Font font
Definition: ZMFTypes.h:316
bool isInvisible
Definition: ZMFTypes.h:151
HorizontalAlignment alignment
Definition: ZMFTypes.h:315
std::vector< double > dashPattern
Definition: ZMFTypes.h:147
void readDocumentSettings()
Definition: ZMF4Parser.cpp:507
void appendCharacters(librevenge::RVNGString &text, const unsigned char *characters, uint32_t size, const char *encoding)
Definition: libzmf_utils.cpp:219
void readFill()
Definition: ZMF4Parser.cpp:678
double um2in(T micrometers)
Definition: libzmf_utils.h:134
ArrowPtr startArrow
Definition: ZMFTypes.h:149
Definition: ZMFTypes.h:219
float readFloat(const RVNGInputStreamPtr &input, bool bigEndian)
Definition: libzmf_utils.cpp:154
void endLayer()
Definition: ZMFCollector.cpp:397
#define NO_ID
Definition: ZMF4Parser.cpp:16
void seek(const RVNGInputStreamPtr &input, const unsigned long pos)
Definition: libzmf_utils.cpp:182
ArrowPtr getArrowByRefId(uint32_t id)
Definition: ZMF4Parser.cpp:277
void readShadow()
Definition: ZMF4Parser.cpp:888
void readCurve()
Definition: ZMF4Parser.cpp:1233
ZMF4Parser(const ZMF4Parser &other)=delete
std::map< uint32_t, Font > m_fonts
Definition: ZMF4Parser.h:172
boost::optional< Fill > fill
Definition: ZMFTypes.h:261
Definition: ZMFTypes.h:233
Definition: ZMFTypes.h:142
Color color
Definition: ZMFTypes.h:173
ObjectHeader readObjectHeader()
Definition: ZMF4Parser.cpp:164
Definition: ZMFTypes.h:98
Definition: ZMFTypes.h:172
bool isBold
Definition: ZMFTypes.h:274
boost::optional< Transparency > getTransparencyByRefId(uint32_t id)
Definition: ZMF4Parser.cpp:252
Color color
Definition: ZMFTypes.h:234
double width
Definition: ZMFTypes.h:144
void readText()
Definition: ZMF4Parser.cpp:1123
Point readUnscaledPoint()
Definition: ZMF4Parser.cpp:320
void readTransparency()
Definition: ZMF4Parser.cpp:749
Definition: ZMFTypes.h:377
double opacity
Definition: ZMFTypes.h:250
Point offset
Definition: ZMFTypes.h:248
boost::optional< ParagraphStyle > getParagraphStyleByRefId(uint32_t id)
Definition: ZMF4Parser.cpp:262
Definition: ZMFTypes.h:313
Point center
Definition: ZMFTypes.h:196
void readEllipse()
Definition: ZMF4Parser.cpp:1256
double size
Definition: ZMFTypes.h:273
Gradient readGradient(uint32_t type)
Definition: ZMF4Parser.cpp:432
Definition: ZMF4Parser.h:87
std::vector< Paragraph > paragraphs
Definition: ZMFTypes.h:335
static ObjectType parseObjectType(uint8_t type)
Definition: ZMF4Parser.cpp:104
std::vector< Column > columns
Definition: ZMFTypes.h:379
void readCurveSectionTypes(std::vector< CurveType > §ionTypes)
Definition: ZMF4Parser.cpp:356
std::vector< Curve > readCurveComponents(std::function< Point()> readPointFunc)
Definition: ZMF4Parser.cpp:379
Style readStyle()
Definition: ZMF4Parser.cpp:283
void readPreviewBitmap()
Definition: ZMF4Parser.cpp:498
boost::optional< Image > getImageByRefId(uint32_t id)
Definition: ZMF4Parser.cpp:272
ArrowPtr endArrow
Definition: ZMFTypes.h:150
void readFont()
Definition: ZMF4Parser.cpp:1028
std::vector< GradientStop > stops
Definition: ZMFTypes.h:194
Color readColor()
Definition: ZMF4Parser.cpp:423
void readBitmap()
Definition: ZMF4Parser.cpp:961
double tileHeight
Definition: ZMFTypes.h:223
Definition: ZMFTypes.h:259
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:242
void readRectangle()
Definition: ZMF4Parser.cpp:1244
#define ZMF_DEBUG_MSG(M)
Definition: libzmf_utils.h:57
Definition: libzmf_utils.h:149
void readArrow()
Definition: ZMF4Parser.cpp:940
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:327
Generated for libzmf by
doxygen 1.8.20