CDRTypes.h Source File documentation

CDRTypes.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 libcdr 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 __CDRTYPES_H__
11 #define __CDRTYPES_H__
12
13 #include <vector>
14 #include <math.h>
15 #include <librevenge/librevenge.h>
16 #include "CDRTransforms.h"
17 #include "CDRPath.h"
18 #include "libcdr_utils.h"
19
20 namespace libcdr
21 {
22
23 struct CDRBox
24 {
25 double m_x;
26 double m_y;
27 double m_w;
28 double m_h;
29 CDRBox()
30 : m_x(0.0), m_y(0.0), m_w(0.0), m_h(0.0) {}
31 CDRBox(double x0, double y0, double x1, double y1)
32 : m_x(x0 < x1 ? x0 : x1), m_y(y0 < y1 ? y0 : y1), m_w(fabs(x1-x0)), m_h(fabs(y1-y0)) {}
33 double getWidth() const
34 {
35 return m_w;
36 }
37 double getHeight() const
38 {
39 return m_h;
40 }
41 double getMinX() const
42 {
43 return m_x;
44 }
45 double getMinY() const
46 {
47 return m_y;
48 }
49
50 };
51
52 struct CDRColor
53 {
54 unsigned short m_colorModel;
55 unsigned m_colorValue;
56 CDRColor() : m_colorModel(0), m_colorValue(0) {}
57 CDRColor(unsigned short colorModel, unsigned colorValue)
58 : m_colorModel(colorModel), m_colorValue(colorValue) {}
59 };
60
61 struct CDRGradientStop
62 {
63 CDRColor m_color;
64 double m_offset;
65 CDRGradientStop() : m_color(), m_offset(0.0) {}
66 CDRGradientStop(const CDRColor &color, double offset)
67 : m_color(color), m_offset(offset) {}
68 };
69
70 struct CDRGradient
71 {
72 unsigned char m_type;
73 unsigned char m_mode;
74 double m_angle;
75 double m_midPoint;
76 int m_edgeOffset;
77 int m_centerXOffset;
78 int m_centerYOffset;
79 std::vector<CDRGradientStop> m_stops;
80 CDRGradient()
81 : m_type(0), m_mode(0), m_angle(0.0), m_midPoint(0.0), m_edgeOffset(0), m_centerXOffset(0), m_centerYOffset(0), m_stops() {}
82 };
83
84 struct CDRImageFill
85 {
86 unsigned id;
87 double width;
88 double height;
89 bool isRelative;
90 double xOffset;
91 double yOffset;
92 double rcpOffset;
93 unsigned char flags;
94 CDRImageFill() : id(0), width(0.0), height(0.0), isRelative(false), xOffset(0.0), yOffset(0.0), rcpOffset(0.0), flags(0)
95 {}
96 CDRImageFill(unsigned i, double w, double h, bool r, double x, double y, double o, unsigned char f)
97 : id(i), width(w), height(h), isRelative(r), xOffset(x), yOffset(y), rcpOffset(o), flags(f) {}
98 };
99
100 struct CDRFillStyle
101 {
102 unsigned short fillType;
103 CDRColor color1, color2;
104 CDRGradient gradient;
105 CDRImageFill imageFill;
106 CDRFillStyle()
107 : fillType((unsigned short)-1), color1(), color2(), gradient(), imageFill() {}
108 CDRFillStyle(unsigned short ft, CDRColor c1, CDRColor c2, const CDRGradient &gr, const CDRImageFill &img)
109 : fillType(ft), color1(c1), color2(c2), gradient(gr), imageFill(img) {}
110 };
111
112 struct CDRLineStyle
113 {
114 unsigned short lineType;
115 unsigned short capsType;
116 unsigned short joinType;
117 double lineWidth;
118 double stretch;
119 double angle;
120 CDRColor color;
121 std::vector<unsigned> dashArray;
122 CDRPath startMarker;
123 CDRPath endMarker;
124 CDRLineStyle()
125 : lineType((unsigned short)-1), capsType(0), joinType(0), lineWidth(0.0),
126 stretch(0.0), angle(0.0), color(), dashArray(),
127 startMarker(), endMarker() {}
128 CDRLineStyle(unsigned short lt, unsigned short ct, unsigned short jt,
129 double lw, double st, double a, const CDRColor &c, const std::vector<unsigned> &da,
130 const CDRPath &sm, const CDRPath &em)
131 : lineType(lt), capsType(ct), joinType(jt), lineWidth(lw),
132 stretch(st), angle(a), color(c), dashArray(da),
133 startMarker(sm), endMarker(em) {}
134 };
135
136 struct CDRStyle
137 {
138 unsigned short m_charSet;
139 librevenge::RVNGString m_fontName;
140 double m_fontSize;
141 unsigned m_align;
142 double m_leftIndent, m_firstIndent, m_rightIndent;
143 CDRLineStyle m_lineStyle;
144 CDRFillStyle m_fillStyle;
145 unsigned m_parentId;
146 CDRStyle()
147 : m_charSet((unsigned short)-1), m_fontName(),
148 m_fontSize(0.0), m_align(0), m_leftIndent(0.0), m_firstIndent(0.0),
149 m_rightIndent(0.0), m_lineStyle(), m_fillStyle(), m_parentId(0)
150 {
151 m_fontName.clear();
152 }
153 void overrideStyle(const CDRStyle &override)
154 {
155 if (override.m_charSet != (unsigned short)-1 || override.m_fontName.len())
156 {
157 m_charSet = override.m_charSet;
158 m_fontName = override.m_fontName;
159 }
160 if (!CDR_ALMOST_ZERO(override.m_fontSize))
161 m_fontSize = override.m_fontSize;
162 if (override.m_align)
163 m_align = override.m_align;
164 if (override.m_leftIndent != 0.0 && override.m_firstIndent != 0.0 && override.m_rightIndent != 0.0)
165 {
166 m_leftIndent = override.m_leftIndent;
167 m_firstIndent = override.m_firstIndent;
168 m_rightIndent = override.m_rightIndent;
169 }
170 if (override.m_lineStyle.lineType != (unsigned short)-1)
171 m_lineStyle = override.m_lineStyle;
172 if (override.m_fillStyle.fillType != (unsigned short)-1)
173 m_fillStyle = override.m_fillStyle;
174 }
175 };
176
177 struct CDRPolygon
178 {
179 unsigned m_numAngles;
180 unsigned m_nextPoint;
181 double m_rx;
182 double m_ry;
183 double m_cx;
184 double m_cy;
185 CDRPolygon() : m_numAngles(0), m_nextPoint(0), m_rx(0.0), m_ry(0.0), m_cx(0.0), m_cy(0.0) {}
186 CDRPolygon(unsigned numAngles, unsigned nextPoint, double rx, double ry, double cx, double cy)
187 : m_numAngles(numAngles), m_nextPoint(nextPoint), m_rx(rx), m_ry(ry), m_cx(cx), m_cy(cy) {}
188 void create(CDRPath &path) const;
189 };
190
191 struct CDRImage
192 {
193 librevenge::RVNGBinaryData m_image;
194 double m_x1;
195 double m_x2;
196 double m_y1;
197 double m_y2;
198 CDRImage() : m_image(), m_x1(0.0), m_x2(0.0), m_y1(0.0), m_y2(0.0) {}
199 CDRImage(const librevenge::RVNGBinaryData &image, double x1, double x2, double y1, double y2)
200 : m_image(image), m_x1(x1), m_x2(x2), m_y1(y1), m_y2(y2) {}
201 double getMiddleX() const
202 {
203 return (m_x1 + m_x2) / 2.0;
204 }
205 double getMiddleY() const
206 {
207 return (m_y1 + m_y2) / 2.0;
208 }
209 const librevenge::RVNGBinaryData &getImage() const
210 {
211 return m_image;
212 }
213 };
214
215 struct CDRPattern
216 {
217 unsigned width;
218 unsigned height;
219 std::vector<unsigned char> pattern;
220 CDRPattern() : width(0), height(0), pattern() {}
221 CDRPattern(unsigned w, unsigned h, const std::vector<unsigned char> &p)
222 : width(w), height(h), pattern(p) {}
223 };
224
225 struct CDRBitmap
226 {
227 unsigned colorModel;
228 unsigned width;
229 unsigned height;
230 unsigned bpp;
231 std::vector<unsigned> palette;
232 std::vector<unsigned char> bitmap;
233 CDRBitmap() : colorModel(0), width(0), height(0), bpp(0), palette(), bitmap() {}
234 CDRBitmap(unsigned cm, unsigned w, unsigned h, unsigned b, const std::vector<unsigned> &p, const std::vector<unsigned char> &bmp)
235 : colorModel(cm), width(w), height(h), bpp(b), palette(p), bitmap(bmp) {}
236 };
237
238 struct CDRPage
239 {
240 double width;
241 double height;
242 double offsetX;
243 double offsetY;
244 CDRPage() : width(0.0), height(0.0), offsetX(0.0), offsetY(0.0) {}
245 CDRPage(double w, double h, double ox, double oy)
246 : width(w), height(h), offsetX(ox), offsetY(oy) {}
247 };
248
249 struct CDRSplineData
250 {
251 std::vector<std::pair<double, double> > points;
252 std::vector<unsigned> knotVector;
253 CDRSplineData() : points(), knotVector() {}
254 CDRSplineData(const std::vector<std::pair<double, double> > &ps, const std::vector<unsigned> &kntv)
255 : points(ps), knotVector(kntv) {}
256 void clear()
257 {
258 points.clear();
259 knotVector.clear();
260 }
261 bool empty()
262 {
263 return (points.empty() || knotVector.empty());
264 }
265 void create(CDRPath &path) const;
266 };
267
268 struct WaldoRecordInfo
269 {
270 WaldoRecordInfo(unsigned char t, unsigned i, unsigned o)
271 : type(t), id(i), offset(o) {}
272 WaldoRecordInfo() : type(0), id(0), offset(0) {}
273 unsigned char type;
274 unsigned id;
275 unsigned offset;
276 };
277
278 struct WaldoRecordType1
279 {
280 WaldoRecordType1(unsigned id, unsigned short next, unsigned short previous,
281 unsigned short child, unsigned short parent, unsigned short flags,
282 double x0, double y0, double x1, double y1, const CDRTransform &trafo)
283 : m_id(id), m_next(next), m_previous(previous), m_child(child), m_parent(parent),
284 m_flags(flags), m_x0(x0), m_y0(y0), m_x1(x1), m_y1(y1), m_trafo(trafo) {}
285 WaldoRecordType1()
286 : m_id(0), m_next(0), m_previous(0), m_child(0), m_parent(0), m_flags(0),
287 m_x0(0.0), m_y0(0.0), m_x1(0.0), m_y1(0.0), m_trafo() {}
288 unsigned m_id;
289 unsigned short m_next;
290 unsigned short m_previous;
291 unsigned short m_child;
292 unsigned short m_parent;
293 unsigned short m_flags;
294 double m_x0;
295 double m_y0;
296 double m_x1;
297 double m_y1;
298 CDRTransform m_trafo;
299 };
300
301 struct CDRCMYKColor
302 {
303 CDRCMYKColor(double cyan, double magenta, double yellow, double black)
304 : c(cyan), m(magenta), y(yellow), k(black) {}
305 ~CDRCMYKColor() {}
306 double c;
307 double m;
308 double y;
309 double k;
310 };
311
312 struct CDRRGBColor
313 {
314 CDRRGBColor(double red, double green, double blue)
315 : r(red), g(green), b(blue) {}
316 ~CDRRGBColor() {}
317 double r;
318 double g;
319 double b;
320 };
321
322 struct CDRLab2Color
323 {
324 CDRLab2Color(double l, double A, double B)
325 : L(l), a(A), b(B) {}
326 ~CDRLab2Color() {}
327 double L;
328 double a;
329 double b;
330 };
331
332 struct CDRLab4Color
333 {
334 CDRLab4Color(double l, double A, double B)
335 : L(l), a(A), b(B) {}
336 ~CDRLab4Color() {}
337 double L;
338 double a;
339 double b;
340 };
341
342 struct CDRText
343 {
344 CDRText() : m_text(), m_style() {}
345 CDRText(const librevenge::RVNGString &text, const CDRStyle &style)
346 : m_text(text), m_style(style) {}
347 librevenge::RVNGString m_text;
348 CDRStyle m_style;
349 };
350
351 struct CDRTextLine
352 {
353 CDRTextLine() : m_line() {}
354 CDRTextLine(const CDRTextLine &line) : m_line(line.m_line) {}
355 void append(const CDRText &text)
356 {
357 m_line.push_back(text);
358 }
359 void clear()
360 {
361 m_line.clear();
362 }
363 std::vector<CDRText> m_line;
364 };
365
366 struct CDRFont
367 {
368 CDRFont() : m_name(), m_encoding(0) {}
369 CDRFont(const librevenge::RVNGString &name, unsigned short encoding)
370 : m_name(name), m_encoding(encoding) {}
371 CDRFont(const CDRFont &font)
372 : m_name(font.m_name), m_encoding(font.m_encoding) {}
373 librevenge::RVNGString m_name;
374 unsigned short m_encoding;
375 };
376
377 } // namespace libcdr
378
379 #endif /* __CDRTYPES_H__ */
380 /* vim:set shiftwidth=2 softtabstop=2 expandtab: */
libcdr::CDRGradient::m_centerYOffset
int m_centerYOffset
Definition: CDRTypes.h:78
libcdr::CDRBitmap::CDRBitmap
CDRBitmap()
Definition: CDRTypes.h:233
libcdr::CDRStyle::m_rightIndent
double m_rightIndent
Definition: CDRTypes.h:142
libcdr::CDRTextLine::append
void append(const CDRText &text)
Definition: CDRTypes.h:355
libcdr::CDRTextLine::CDRTextLine
CDRTextLine(const CDRTextLine &line)
Definition: CDRTypes.h:354
libcdr::CDRImage::CDRImage
CDRImage()
Definition: CDRTypes.h:198
libcdr::CDRFont
Definition: CDRTypes.h:366
libcdr::CDRPolygon::m_nextPoint
unsigned m_nextPoint
Definition: CDRTypes.h:180
libcdr::CDRBox::m_x
double m_x
Definition: CDRTypes.h:25
libcdr::CDRText::m_text
librevenge::RVNGString m_text
Definition: CDRTypes.h:347
libcdr::WaldoRecordInfo::type
unsigned char type
Definition: CDRTypes.h:273
libcdr::WaldoRecordInfo::id
unsigned id
Definition: CDRTypes.h:274
libcdr::CDRLab2Color::CDRLab2Color
CDRLab2Color(double l, double A, double B)
Definition: CDRTypes.h:324
libcdr::CDRLab2Color::a
double a
Definition: CDRTypes.h:328
libcdr::CDRImage::m_x1
double m_x1
Definition: CDRTypes.h:194
libcdr::CDRCMYKColor
Definition: CDRTypes.h:301
libcdr::CDRRGBColor::r
double r
Definition: CDRTypes.h:317
libcdr::CDRImageFill::yOffset
double yOffset
Definition: CDRTypes.h:91
libcdr::CDRLab2Color::~CDRLab2Color
~CDRLab2Color()
Definition: CDRTypes.h:326
libcdr::CDRImage::getMiddleY
double getMiddleY() const
Definition: CDRTypes.h:205
libcdr::CDRRGBColor::~CDRRGBColor
~CDRRGBColor()
Definition: CDRTypes.h:316
libcdr::CDRPattern::width
unsigned width
Definition: CDRTypes.h:217
libcdr::CDRLineStyle::color
CDRColor color
Definition: CDRTypes.h:120
libcdr::CDRPattern::CDRPattern
CDRPattern()
Definition: CDRTypes.h:220
libcdr::CDRBox
Definition: CDRTypes.h:23
libcdr::CDRFont::CDRFont
CDRFont(const librevenge::RVNGString &name, unsigned short encoding)
Definition: CDRTypes.h:369
libcdr::WaldoRecordType1::m_parent
unsigned short m_parent
Definition: CDRTypes.h:292
libcdr::WaldoRecordType1::WaldoRecordType1
WaldoRecordType1()
Definition: CDRTypes.h:285
libcdr::CDRImageFill::width
double width
Definition: CDRTypes.h:87
libcdr::WaldoRecordType1::m_previous
unsigned short m_previous
Definition: CDRTypes.h:290
libcdr::CDRFillStyle::color2
CDRColor color2
Definition: CDRTypes.h:103
libcdr::CDRPath
Definition: CDRPath.h:34
libcdr::CDRLineStyle::endMarker
CDRPath endMarker
Definition: CDRTypes.h:123
libcdr::CDRLineStyle::angle
double angle
Definition: CDRTypes.h:119
libcdr::CDRRGBColor::CDRRGBColor
CDRRGBColor(double red, double green, double blue)
Definition: CDRTypes.h:314
libcdr::CDRText
Definition: CDRTypes.h:342
libcdr::CDRBox::getHeight
double getHeight() const
Definition: CDRTypes.h:37
libcdr::CDRCMYKColor::y
double y
Definition: CDRTypes.h:308
libcdr::CDRBitmap::colorModel
unsigned colorModel
Definition: CDRTypes.h:227
libcdr::CDRBitmap::bitmap
std::vector< unsigned char > bitmap
Definition: CDRTypes.h:232
libcdr::CDRPage
Definition: CDRTypes.h:238
libcdr::WaldoRecordType1::m_y0
double m_y0
Definition: CDRTypes.h:295
libcdr::CDRImage::m_x2
double m_x2
Definition: CDRTypes.h:195
libcdr::WaldoRecordInfo::WaldoRecordInfo
WaldoRecordInfo(unsigned char t, unsigned i, unsigned o)
Definition: CDRTypes.h:270
libcdr::WaldoRecordType1::m_next
unsigned short m_next
Definition: CDRTypes.h:289
libcdr::CDRSplineData::CDRSplineData
CDRSplineData()
Definition: CDRTypes.h:253
libcdr::CDRImageFill
Definition: CDRTypes.h:84
libcdr::CDRPolygon::m_cy
double m_cy
Definition: CDRTypes.h:184
libcdr::CDRCMYKColor::m
double m
Definition: CDRTypes.h:307
libcdr::CDRRGBColor
Definition: CDRTypes.h:312
libcdr::CDRImageFill::isRelative
bool isRelative
Definition: CDRTypes.h:89
CDRTransforms.h
libcdr::CDRTransform
Definition: CDRTransforms.h:21
libcdr::CDRTextLine::clear
void clear()
Definition: CDRTypes.h:359
libcdr::CDRTextLine
Definition: CDRTypes.h:351
libcdr::CDRFont::CDRFont
CDRFont()
Definition: CDRTypes.h:368
libcdr::CDRImageFill::CDRImageFill
CDRImageFill()
Definition: CDRTypes.h:94
libcdr::WaldoRecordType1::m_flags
unsigned short m_flags
Definition: CDRTypes.h:293
libcdr::CDRPage::width
double width
Definition: CDRTypes.h:240
libcdr::WaldoRecordType1::m_id
unsigned m_id
Definition: CDRTypes.h:288
libcdr::CDRSplineData
Definition: CDRTypes.h:249
libcdr::CDRStyle::m_fontSize
double m_fontSize
Definition: CDRTypes.h:140
libcdr::CDRLab2Color
Definition: CDRTypes.h:322
libcdr::CDRGradientStop::m_color
CDRColor m_color
Definition: CDRTypes.h:63
libcdr::CDRFont::CDRFont
CDRFont(const CDRFont &font)
Definition: CDRTypes.h:371
libcdr::CDRLineStyle::capsType
unsigned short capsType
Definition: CDRTypes.h:115
libcdr::CDRStyle::m_fontName
librevenge::RVNGString m_fontName
Definition: CDRTypes.h:139
libcdr::CDRImageFill::CDRImageFill
CDRImageFill(unsigned i, double w, double h, bool r, double x, double y, double o, unsigned char f)
Definition: CDRTypes.h:96
libcdr::CDRPage::offsetX
double offsetX
Definition: CDRTypes.h:242
libcdr::CDRCMYKColor::~CDRCMYKColor
~CDRCMYKColor()
Definition: CDRTypes.h:305
libcdr::CDRFillStyle
Definition: CDRTypes.h:100
libcdr::CDRImageFill::height
double height
Definition: CDRTypes.h:88
libcdr::CDRPage::CDRPage
CDRPage()
Definition: CDRTypes.h:244
libcdr::CDRImage::getImage
const librevenge::RVNGBinaryData & getImage() const
Definition: CDRTypes.h:209
libcdr::CDRPolygon::CDRPolygon
CDRPolygon(unsigned numAngles, unsigned nextPoint, double rx, double ry, double cx, double cy)
Definition: CDRTypes.h:186
libcdr::CDRLineStyle::CDRLineStyle
CDRLineStyle()
Definition: CDRTypes.h:124
libcdr::CDRPolygon
Definition: CDRTypes.h:177
libcdr::CDRLineStyle::joinType
unsigned short joinType
Definition: CDRTypes.h:116
libcdr::CDRImageFill::rcpOffset
double rcpOffset
Definition: CDRTypes.h:92
libcdr::CDRStyle::m_lineStyle
CDRLineStyle m_lineStyle
Definition: CDRTypes.h:143
libcdr::CDRFillStyle::gradient
CDRGradient gradient
Definition: CDRTypes.h:104
libcdr::CDRFillStyle::CDRFillStyle
CDRFillStyle(unsigned short ft, CDRColor c1, CDRColor c2, const CDRGradient &gr, const CDRImageFill &img)
Definition: CDRTypes.h:108
libcdr::CDRText::CDRText
CDRText()
Definition: CDRTypes.h:344
libcdr::CDRImageFill::xOffset
double xOffset
Definition: CDRTypes.h:90
libcdr::CDRPolygon::m_cx
double m_cx
Definition: CDRTypes.h:183
libcdr::CDRBox::getMinY
double getMinY() const
Definition: CDRTypes.h:45
libcdr::CDRGradient::m_mode
unsigned char m_mode
Definition: CDRTypes.h:73
libcdr::WaldoRecordType1::m_x0
double m_x0
Definition: CDRTypes.h:294
libcdr::CDRImage::getMiddleX
double getMiddleX() const
Definition: CDRTypes.h:201
libcdr_utils.h
libcdr::CDRColor::CDRColor
CDRColor()
Definition: CDRTypes.h:56
libcdr::CDRFillStyle::CDRFillStyle
CDRFillStyle()
Definition: CDRTypes.h:106
libcdr::CDRFont::m_name
librevenge::RVNGString m_name
Definition: CDRTypes.h:373
libcdr::CDRPage::CDRPage
CDRPage(double w, double h, double ox, double oy)
Definition: CDRTypes.h:245
libcdr::CDRBitmap::bpp
unsigned bpp
Definition: CDRTypes.h:230
libcdr::CDRGradientStop::CDRGradientStop
CDRGradientStop(const CDRColor &color, double offset)
Definition: CDRTypes.h:66
libcdr::CDRLineStyle::dashArray
std::vector< unsigned > dashArray
Definition: CDRTypes.h:121
libcdr::WaldoRecordType1
Definition: CDRTypes.h:278
libcdr
Definition: CDRCollector.h:29
libcdr::CDRBox::m_h
double m_h
Definition: CDRTypes.h:28
libcdr::CDRLab2Color::L
double L
Definition: CDRTypes.h:327
libcdr::CDRColor::m_colorModel
unsigned short m_colorModel
Definition: CDRTypes.h:54
libcdr::CDRLab2Color::b
double b
Definition: CDRTypes.h:329
libcdr::CDRGradient::m_edgeOffset
int m_edgeOffset
Definition: CDRTypes.h:76
libcdr::WaldoRecordType1::m_y1
double m_y1
Definition: CDRTypes.h:297
libcdr::CDRImage::m_image
librevenge::RVNGBinaryData m_image
Definition: CDRTypes.h:193
libcdr::WaldoRecordInfo::offset
unsigned offset
Definition: CDRTypes.h:275
libcdr::CDRTextLine::CDRTextLine
CDRTextLine()
Definition: CDRTypes.h:353
libcdr::CDRLab4Color
Definition: CDRTypes.h:332
libcdr::WaldoRecordInfo
Definition: CDRTypes.h:268
libcdr::CDRPolygon::m_ry
double m_ry
Definition: CDRTypes.h:182
libcdr::CDRLineStyle::lineType
unsigned short lineType
Definition: CDRTypes.h:114
libcdr::CDRBox::getMinX
double getMinX() const
Definition: CDRTypes.h:41
libcdr::CDRSplineData::empty
bool empty()
Definition: CDRTypes.h:261
libcdr::CDRText::CDRText
CDRText(const librevenge::RVNGString &text, const CDRStyle &style)
Definition: CDRTypes.h:345
libcdr::CDRGradientStop::CDRGradientStop
CDRGradientStop()
Definition: CDRTypes.h:65
libcdr::CDRSplineData::clear
void clear()
Definition: CDRTypes.h:256
libcdr::CDRBox::getWidth
double getWidth() const
Definition: CDRTypes.h:33
libcdr::CDRStyle::CDRStyle
CDRStyle()
Definition: CDRTypes.h:146
libcdr::CDRGradient::m_stops
std::vector< CDRGradientStop > m_stops
Definition: CDRTypes.h:79
libcdr::WaldoRecordInfo::WaldoRecordInfo
WaldoRecordInfo()
Definition: CDRTypes.h:272
libcdr::CDRGradient::m_type
unsigned char m_type
Definition: CDRTypes.h:72
libcdr::CDRBitmap::CDRBitmap
CDRBitmap(unsigned cm, unsigned w, unsigned h, unsigned b, const std::vector< unsigned > &p, const std::vector< unsigned char > &bmp)
Definition: CDRTypes.h:234
libcdr::CDRImageFill::id
unsigned id
Definition: CDRTypes.h:86
libcdr::CDRImage::m_y1
double m_y1
Definition: CDRTypes.h:196
libcdr::CDRStyle::m_align
unsigned m_align
Definition: CDRTypes.h:141
libcdr::CDRPolygon::m_rx
double m_rx
Definition: CDRTypes.h:181
libcdr::CDRLineStyle::startMarker
CDRPath startMarker
Definition: CDRTypes.h:122
libcdr::CDRGradient::m_midPoint
double m_midPoint
Definition: CDRTypes.h:75
libcdr::CDRLab4Color::CDRLab4Color
CDRLab4Color(double l, double A, double B)
Definition: CDRTypes.h:334
libcdr::CDRFillStyle::fillType
unsigned short fillType
Definition: CDRTypes.h:102
libcdr::CDRGradient::CDRGradient
CDRGradient()
Definition: CDRTypes.h:80
CDR_ALMOST_ZERO
#define CDR_ALMOST_ZERO(m)
Definition: libcdr_utils.h:25
libcdr::CDRLab4Color::L
double L
Definition: CDRTypes.h:337
libcdr::CDRFillStyle::imageFill
CDRImageFill imageFill
Definition: CDRTypes.h:105
libcdr::CDRPattern::height
unsigned height
Definition: CDRTypes.h:218
libcdr::WaldoRecordType1::m_trafo
CDRTransform m_trafo
Definition: CDRTypes.h:298
libcdr::CDRLineStyle::stretch
double stretch
Definition: CDRTypes.h:118
libcdr::WaldoRecordType1::WaldoRecordType1
WaldoRecordType1(unsigned id, unsigned short next, unsigned short previous, unsigned short child, unsigned short parent, unsigned short flags, double x0, double y0, double x1, double y1, const CDRTransform &trafo)
Definition: CDRTypes.h:280
libcdr::CDRFont::m_encoding
unsigned short m_encoding
Definition: CDRTypes.h:374
libcdr::CDRTextLine::m_line
std::vector< CDRText > m_line
Definition: CDRTypes.h:363
libcdr::CDRRGBColor::b
double b
Definition: CDRTypes.h:319
libcdr::CDRBitmap::width
unsigned width
Definition: CDRTypes.h:228
libcdr::CDRPattern::pattern
std::vector< unsigned char > pattern
Definition: CDRTypes.h:219
libcdr::CDRCMYKColor::CDRCMYKColor
CDRCMYKColor(double cyan, double magenta, double yellow, double black)
Definition: CDRTypes.h:303
libcdr::CDRImage::m_y2
double m_y2
Definition: CDRTypes.h:197
libcdr::CDRLab4Color::b
double b
Definition: CDRTypes.h:339
libcdr::CDRBox::CDRBox
CDRBox()
Definition: CDRTypes.h:29
libcdr::CDRRGBColor::g
double g
Definition: CDRTypes.h:318
libcdr::CDRColor::m_colorValue
unsigned m_colorValue
Definition: CDRTypes.h:55
libcdr::CDRStyle::m_fillStyle
CDRFillStyle m_fillStyle
Definition: CDRTypes.h:144
libcdr::WaldoRecordType1::m_x1
double m_x1
Definition: CDRTypes.h:296
libcdr::CDRImage::CDRImage
CDRImage(const librevenge::RVNGBinaryData &image, double x1, double x2, double y1, double y2)
Definition: CDRTypes.h:199
libcdr::CDRLab4Color::a
double a
Definition: CDRTypes.h:338
libcdr::CDRLineStyle
Definition: CDRTypes.h:112
libcdr::CDRGradient::m_centerXOffset
int m_centerXOffset
Definition: CDRTypes.h:77
libcdr::CDRPolygon::m_numAngles
unsigned m_numAngles
Definition: CDRTypes.h:179
libcdr::CDRBox::m_y
double m_y
Definition: CDRTypes.h:26
libcdr::CDRBitmap::height
unsigned height
Definition: CDRTypes.h:229
libcdr::CDRLineStyle::CDRLineStyle
CDRLineStyle(unsigned short lt, unsigned short ct, unsigned short jt, double lw, double st, double a, const CDRColor &c, const std::vector< unsigned > &da, const CDRPath &sm, const CDRPath &em)
Definition: CDRTypes.h:128
libcdr::CDRStyle::m_charSet
unsigned short m_charSet
Definition: CDRTypes.h:138
libcdr::CDRImageFill::flags
unsigned char flags
Definition: CDRTypes.h:93
libcdr::CDRCMYKColor::k
double k
Definition: CDRTypes.h:309
libcdr::CDRBitmap
Definition: CDRTypes.h:225
libcdr::CDRColor
Definition: CDRTypes.h:52
libcdr::CDRCMYKColor::c
double c
Definition: CDRTypes.h:306
libcdr::CDRText::m_style
CDRStyle m_style
Definition: CDRTypes.h:348
libcdr::CDRPolygon::CDRPolygon
CDRPolygon()
Definition: CDRTypes.h:185
libcdr::CDRPattern
Definition: CDRTypes.h:215
libcdr::CDRBox::m_w
double m_w
Definition: CDRTypes.h:27
libcdr::CDRSplineData::knotVector
std::vector< unsigned > knotVector
Definition: CDRTypes.h:252
libcdr::CDRPattern::CDRPattern
CDRPattern(unsigned w, unsigned h, const std::vector< unsigned char > &p)
Definition: CDRTypes.h:221
libcdr::CDRPage::height
double height
Definition: CDRTypes.h:241
libcdr::CDRGradient
Definition: CDRTypes.h:70
libcdr::CDRStyle::overrideStyle
void overrideStyle(const CDRStyle &override)
Definition: CDRTypes.h:153
libcdr::CDRBox::CDRBox
CDRBox(double x0, double y0, double x1, double y1)
Definition: CDRTypes.h:31
libcdr::CDRImage
Definition: CDRTypes.h:191
libcdr::CDRGradientStop::m_offset
double m_offset
Definition: CDRTypes.h:64
libcdr::CDRBitmap::palette
std::vector< unsigned > palette
Definition: CDRTypes.h:231
libcdr::CDRLineStyle::lineWidth
double lineWidth
Definition: CDRTypes.h:117
libcdr::CDRGradientStop
Definition: CDRTypes.h:61
libcdr::CDRGradient::m_angle
double m_angle
Definition: CDRTypes.h:74
CDRPath.h
libcdr::CDRStyle::m_parentId
unsigned m_parentId
Definition: CDRTypes.h:145
libcdr::CDRSplineData::CDRSplineData
CDRSplineData(const std::vector< std::pair< double, double > > &ps, const std::vector< unsigned > &kntv)
Definition: CDRTypes.h:254
libcdr::CDRPage::offsetY
double offsetY
Definition: CDRTypes.h:243
libcdr::CDRLab4Color::~CDRLab4Color
~CDRLab4Color()
Definition: CDRTypes.h:336
libcdr::CDRColor::CDRColor
CDRColor(unsigned short colorModel, unsigned colorValue)
Definition: CDRTypes.h:57
libcdr::CDRStyle
Definition: CDRTypes.h:136
libcdr::CDRSplineData::points
std::vector< std::pair< double, double > > points
Definition: CDRTypes.h:251
libcdr::WaldoRecordType1::m_child
unsigned short m_child
Definition: CDRTypes.h:291