10#ifndef ZMFTYPES_H_INCLUDED
11#define ZMFTYPES_H_INCLUDED
16#include <boost/optional.hpp>
17#include <boost/variant.hpp>
43bool operator==(
const Point &lhs,
const Point &rhs);
44bool operator!=(
const Point &lhs,
const Point &rhs);
50 const std::vector<Point> &
points()
const;
107 Color(uint8_t r, uint8_t g, uint8_t b)
111 librevenge::RVNGString
toString()
const;
207 librevenge::RVNGBinaryData
data;
213 Image(uint32_t w, uint32_t h, librevenge::RVNGBinaryData d)
230typedef boost::variant<Color, Gradient, ImageFill>
Fill;
Definition: BMIHeader.cpp:14
boost::variant< Color, Gradient, ImageFill > Fill
Definition: ZMFTypes.h:230
std::shared_ptr< Arrow > ArrowPtr
Definition: ZMFTypes.h:139
HorizontalAlignment
Definition: ZMFTypes.h:297
bool operator==(const BMIOffset &lhs, const BMIOffset &rhs)
Definition: BMITypes.cpp:15
bool operator!=(const BMIOffset &lhs, const BMIOffset &rhs)
Definition: BMITypes.cpp:20
CurveType
Definition: ZMFTypes.h:81
VerticalAlignment
Definition: ZMFTypes.h:306
LineJoinType
Definition: ZMFTypes.h:123
GradientType
Definition: ZMFTypes.h:182
LineCapType
Definition: ZMFTypes.h:115
Definition: ZMFTypes.h:130
std::vector< Curve > curves
Definition: ZMFTypes.h:131
double lineEndX
Definition: ZMFTypes.h:132
Arrow()
Definition: ZMFTypes.h:134
Definition: ZMFTypes.h:47
double m_height
Definition: ZMFTypes.h:71
double m_rotation
Definition: ZMFTypes.h:73
int m_p2Quadrant
Definition: ZMFTypes.h:75
int quadrant(const Point &p) const
Definition: ZMFTypes.cpp:158
bool m_mirrorVertical
Definition: ZMFTypes.h:77
bool m_mirrorHorizontal
Definition: ZMFTypes.h:76
Point center() const
Definition: ZMFTypes.cpp:123
double width() const
Definition: ZMFTypes.cpp:113
int m_p1Quadrant
Definition: ZMFTypes.h:74
bool mirrorVertical() const
Definition: ZMFTypes.cpp:153
bool mirrorHorizontal() const
Definition: ZMFTypes.cpp:148
double m_width
Definition: ZMFTypes.h:70
Point topLeft() const
Definition: ZMFTypes.cpp:128
Point m_center
Definition: ZMFTypes.h:72
BoundingBox(const std::vector< Point > &points)
Definition: ZMFTypes.cpp:45
int p2Quadrant() const
Definition: ZMFTypes.cpp:143
const std::vector< Point > & points() const
Definition: ZMFTypes.cpp:108
int p1Quadrant() const
Definition: ZMFTypes.cpp:138
double height() const
Definition: ZMFTypes.cpp:118
double rotation() const
Definition: ZMFTypes.cpp:133
const std::vector< Point > m_points
Definition: ZMFTypes.h:69
Definition: ZMFTypes.h:343
boost::optional< Fill > fill
Definition: ZMFTypes.h:345
boost::optional< Pen > topBorder
Definition: ZMFTypes.h:348
boost::optional< Pen > bottomBorder
Definition: ZMFTypes.h:349
Cell()
Definition: ZMFTypes.h:351
Text text
Definition: ZMFTypes.h:344
boost::optional< Pen > rightBorder
Definition: ZMFTypes.h:347
boost::optional< Pen > leftBorder
Definition: ZMFTypes.h:346
Definition: ZMFTypes.h:98
Color(uint8_t r, uint8_t g, uint8_t b)
Definition: ZMFTypes.h:107
librevenge::RVNGString toString() const
Definition: ZMFTypes.cpp:177
uint8_t red
Definition: ZMFTypes.h:99
Color()
Definition: ZMFTypes.h:103
uint8_t blue
Definition: ZMFTypes.h:101
uint8_t green
Definition: ZMFTypes.h:100
Definition: ZMFTypes.h:368
Column()
Definition: ZMFTypes.h:371
double width
Definition: ZMFTypes.h:369
Definition: ZMFTypes.h:87
Curve()
Definition: ZMFTypes.h:92
std::vector< CurveType > sectionTypes
Definition: ZMFTypes.h:89
bool closed
Definition: ZMFTypes.h:90
std::vector< Point > points
Definition: ZMFTypes.h:88
Definition: ZMFTypes.h:271
bool isItalic
Definition: ZMFTypes.h:275
bool isBold
Definition: ZMFTypes.h:274
boost::optional< Fill > fill
Definition: ZMFTypes.h:276
librevenge::RVNGString name
Definition: ZMFTypes.h:272
Font()
Definition: ZMFTypes.h:279
double size
Definition: ZMFTypes.h:273
boost::optional< Pen > outline
Definition: ZMFTypes.h:277
Definition: ZMFTypes.h:172
GradientStop()
Definition: ZMFTypes.h:176
Color color
Definition: ZMFTypes.h:173
double offset
Definition: ZMFTypes.h:174
Definition: ZMFTypes.h:192
GradientType type
Definition: ZMFTypes.h:193
Gradient()
Definition: ZMFTypes.h:198
std::vector< GradientStop > stops
Definition: ZMFTypes.h:194
Point center
Definition: ZMFTypes.h:196
double angle
Definition: ZMFTypes.h:195
Definition: ZMFTypes.h:219
bool tile
Definition: ZMFTypes.h:221
Image image
Definition: ZMFTypes.h:220
double tileWidth
Definition: ZMFTypes.h:222
double tileHeight
Definition: ZMFTypes.h:223
ImageFill()
Definition: ZMFTypes.h:225
Definition: ZMFTypes.h:204
uint32_t height
Definition: ZMFTypes.h:206
Image(uint32_t w, uint32_t h, librevenge::RVNGBinaryData d)
Definition: ZMFTypes.h:213
librevenge::RVNGBinaryData data
Definition: ZMFTypes.h:207
uint32_t width
Definition: ZMFTypes.h:205
Image()
Definition: ZMFTypes.h:209
Definition: ZMFTypes.h:313
double lineSpacing
Definition: ZMFTypes.h:314
HorizontalAlignment alignment
Definition: ZMFTypes.h:315
ParagraphStyle()
Definition: ZMFTypes.h:318
Font font
Definition: ZMFTypes.h:316
Definition: ZMFTypes.h:324
std::vector< Span > spans
Definition: ZMFTypes.h:325
ParagraphStyle style
Definition: ZMFTypes.h:326
Paragraph()
Definition: ZMFTypes.h:328
Definition: ZMFTypes.h:142
Pen(Color c)
Definition: ZMFTypes.h:161
LineJoinType lineJoinType
Definition: ZMFTypes.h:146
std::vector< double > dashPattern
Definition: ZMFTypes.h:147
Color color
Definition: ZMFTypes.h:143
double width
Definition: ZMFTypes.h:144
Pen()
Definition: ZMFTypes.h:153
double dashDistance
Definition: ZMFTypes.h:148
bool isInvisible
Definition: ZMFTypes.h:151
ArrowPtr startArrow
Definition: ZMFTypes.h:149
LineCapType lineCapType
Definition: ZMFTypes.h:145
ArrowPtr endArrow
Definition: ZMFTypes.h:150
Definition: ZMFTypes.h:25
double distance(const Point &p2) const
Definition: ZMFTypes.cpp:39
Point rotate(double rotation, const Point ¢er) const
Definition: ZMFTypes.cpp:32
double x
Definition: ZMFTypes.h:26
Point(double xVal, double yVal)
Definition: ZMFTypes.h:33
Point()
Definition: ZMFTypes.h:29
Point move(double dx, double dy) const
Definition: ZMFTypes.cpp:27
double y
Definition: ZMFTypes.h:27
Definition: ZMFTypes.h:358
std::vector< Cell > cells
Definition: ZMFTypes.h:359
double height
Definition: ZMFTypes.h:360
Row()
Definition: ZMFTypes.h:362
Definition: ZMFTypes.h:247
Color color
Definition: ZMFTypes.h:251
Point offset
Definition: ZMFTypes.h:248
double opacity
Definition: ZMFTypes.h:250
Shadow()
Definition: ZMFTypes.h:253
double angle
Definition: ZMFTypes.h:249
Definition: ZMFTypes.h:286
Span()
Definition: ZMFTypes.h:291
librevenge::RVNGString text
Definition: ZMFTypes.h:287
uint32_t length
Definition: ZMFTypes.h:288
Font font
Definition: ZMFTypes.h:289
Definition: ZMFTypes.h:259
boost::optional< Fill > fill
Definition: ZMFTypes.h:261
Style()
Definition: ZMFTypes.h:265
boost::optional< Transparency > transparency
Definition: ZMFTypes.h:262
boost::optional< Pen > pen
Definition: ZMFTypes.h:260
boost::optional< Shadow > shadow
Definition: ZMFTypes.h:263
Definition: ZMFTypes.h:377
double height
Definition: ZMFTypes.h:381
double width
Definition: ZMFTypes.h:380
std::vector< Row > rows
Definition: ZMFTypes.h:378
std::vector< Column > columns
Definition: ZMFTypes.h:379
Point topLeftPoint
Definition: ZMFTypes.h:382
Table()
Definition: ZMFTypes.h:384
Definition: ZMFTypes.h:334
Text()
Definition: ZMFTypes.h:337
std::vector< Paragraph > paragraphs
Definition: ZMFTypes.h:335
Definition: ZMFTypes.h:233
double opacity() const
Definition: ZMFTypes.h:236
Transparency()
Definition: ZMFTypes.h:241
Color color
Definition: ZMFTypes.h:234
Definition: ZMFTypes.h:390
double width
Definition: ZMFTypes.h:391
double topOffset
Definition: ZMFTypes.h:394
double leftOffset
Definition: ZMFTypes.h:393
ZMFPageSettings()
Definition: ZMFTypes.h:397
double height
Definition: ZMFTypes.h:392
Color color
Definition: ZMFTypes.h:395
ZMFPageSettings(double w, double h, double left, double top, Color c=Color(255, 255, 255))
Definition: ZMFTypes.h:400