VSDStyles.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 libvisio 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 __VSDSTYLES_H__
11 #define __VSDSTYLES_H__
12
13 #include <map>
14 #include <vector>
15 #include <boost/optional.hpp>
16 #include "VSDTypes.h"
17
18 namespace libvisio
19 {
20
21 struct VSDOptionalThemeReference
22 {
23 VSDOptionalThemeReference() :
24 qsLineColour(), qsFillColour(), qsShadowColour(), qsFontColour() {}
25 VSDOptionalThemeReference(const boost::optional<long> &lineColour, const boost::optional<long> &fillColour,
26 const boost::optional<long> &shadowColour, const boost::optional<long> &fontColour) :
27 qsLineColour(lineColour), qsFillColour(fillColour), qsShadowColour(shadowColour), qsFontColour(fontColour) {}
28 VSDOptionalThemeReference(const VSDOptionalThemeReference &themeRef) :
29 qsLineColour(themeRef.qsLineColour), qsFillColour(themeRef.qsFillColour),
30 qsShadowColour(themeRef.qsShadowColour), qsFontColour(themeRef.qsFontColour) {}
31 ~VSDOptionalThemeReference() {}
32 void override(const VSDOptionalThemeReference &themeRef)
33 {
34 ASSIGN_OPTIONAL(themeRef.qsLineColour, qsLineColour);
35 ASSIGN_OPTIONAL(themeRef.qsFillColour, qsFillColour);
36 ASSIGN_OPTIONAL(themeRef.qsShadowColour, qsShadowColour);
37 ASSIGN_OPTIONAL(themeRef.qsFontColour, qsFontColour);
38 }
39
40 boost::optional<long> qsLineColour;
41 boost::optional<long> qsFillColour;
42 boost::optional<long> qsShadowColour;
43 boost::optional<long> qsFontColour;
44 };
45
46 struct VSDThemeReference
47 {
48 VSDThemeReference() :
49 qsLineColour(-1), qsFillColour(-1), qsShadowColour(-1), qsFontColour(-1) {}
50 VSDThemeReference(long lineColour, long fillColour, long shadowColour, long fontColour) :
51 qsLineColour(lineColour), qsFillColour(fillColour), qsShadowColour(shadowColour), qsFontColour(fontColour) {}
52 VSDThemeReference(const VSDThemeReference &themeRef) :
53 qsLineColour(themeRef.qsLineColour), qsFillColour(themeRef.qsFillColour),
54 qsShadowColour(themeRef.qsShadowColour), qsFontColour(themeRef.qsFontColour) {}
55 ~VSDThemeReference() {}
56 void override(const VSDOptionalThemeReference &themeRef)
57 {
58 ASSIGN_OPTIONAL(themeRef.qsLineColour, qsLineColour);
59 ASSIGN_OPTIONAL(themeRef.qsFillColour, qsFillColour);
60 ASSIGN_OPTIONAL(themeRef.qsShadowColour, qsShadowColour);
61 ASSIGN_OPTIONAL(themeRef.qsFontColour, qsFontColour);
62 }
63
64 long qsLineColour;
65 long qsFillColour;
66 long qsShadowColour;
67 long qsFontColour;
68 };
69
70 struct VSDOptionalLineStyle
71 {
72 VSDOptionalLineStyle() :
73 width(), colour(), pattern(), startMarker(), endMarker(), cap(), rounding() {}
74 VSDOptionalLineStyle(const boost::optional<double> &w, const boost::optional<Colour> &col,
75 const boost::optional<unsigned char> &p, const boost::optional<unsigned char> &sm,
76 const boost::optional<unsigned char> &em, const boost::optional<unsigned char> &c,
77 const boost::optional<double> &r) :
78 width(w), colour(col), pattern(p), startMarker(sm), endMarker(em), cap(c), rounding(r) {}
79 VSDOptionalLineStyle(const VSDOptionalLineStyle &style) :
80 width(style.width), colour(style.colour), pattern(style.pattern), startMarker(style.startMarker),
81 endMarker(style.endMarker), cap(style.cap), rounding(style.rounding) {}
82 ~VSDOptionalLineStyle() {}
83 void override(const VSDOptionalLineStyle &style)
84 {
85 ASSIGN_OPTIONAL(style.width, width);
86 ASSIGN_OPTIONAL(style.colour, colour);
87 ASSIGN_OPTIONAL(style.pattern, pattern);
88 ASSIGN_OPTIONAL(style.startMarker, startMarker);
89 ASSIGN_OPTIONAL(style.endMarker, endMarker);
90 ASSIGN_OPTIONAL(style.cap, cap);
91 ASSIGN_OPTIONAL(style.rounding, rounding);
92 }
93
94 boost::optional<double> width;
95 boost::optional<Colour> colour;
96 boost::optional<unsigned char> pattern;
97 boost::optional<unsigned char> startMarker;
98 boost::optional<unsigned char> endMarker;
99 boost::optional<unsigned char> cap;
100 boost::optional<double> rounding;
101 };
102
103 struct VSDLineStyle
104 {
105 VSDLineStyle() :
106 width(0.01), colour(), pattern(1), startMarker(0), endMarker(0), cap(0), rounding(0.0) {}
107 VSDLineStyle(double w, Colour col, unsigned char p, unsigned char sm,
108 unsigned char em, unsigned char c, double r) :
109 width(w), colour(col), pattern(p), startMarker(sm), endMarker(em), cap(c), rounding(r) {}
110 VSDLineStyle(const VSDLineStyle &style) :
111 width(style.width), colour(style.colour), pattern(style.pattern), startMarker(style.startMarker),
112 endMarker(style.endMarker), cap(style.cap), rounding(style.rounding) {}
113 ~VSDLineStyle() {}
114 void override(const VSDOptionalLineStyle &style)
115 {
116 ASSIGN_OPTIONAL(style.width, width);
117 ASSIGN_OPTIONAL(style.colour, colour);
118 ASSIGN_OPTIONAL(style.pattern, pattern);
119 ASSIGN_OPTIONAL(style.startMarker, startMarker);
120 ASSIGN_OPTIONAL(style.endMarker, endMarker);
121 ASSIGN_OPTIONAL(style.cap, cap);
122 ASSIGN_OPTIONAL(style.rounding, rounding);
123 }
124
125 double width;
126 Colour colour;
127 unsigned char pattern;
128 unsigned char startMarker;
129 unsigned char endMarker;
130 unsigned char cap;
131 double rounding;
132 };
133
134 struct VSDOptionalFillStyle
135 {
136 VSDOptionalFillStyle() :
137 fgColour(), bgColour(), pattern(), fgTransparency(), bgTransparency(), shadowFgColour(),
138 shadowPattern(), shadowOffsetX(), shadowOffsetY() {}
139 VSDOptionalFillStyle(const boost::optional<Colour> &fgc, const boost::optional<Colour> &bgc,
140 const boost::optional<unsigned char> &p, const boost::optional<double> &fga,
141 const boost::optional<double> &bga, const boost::optional<Colour> &sfgc,
142 const boost::optional<unsigned char> &shp, const boost::optional<double> &shX,
143 const boost::optional<double> &shY) :
144 fgColour(fgc), bgColour(bgc), pattern(p), fgTransparency(fga), bgTransparency(bga),
145 shadowFgColour(sfgc), shadowPattern(shp), shadowOffsetX(shX), shadowOffsetY(shY) {}
146 VSDOptionalFillStyle(const VSDOptionalFillStyle &style) :
147 fgColour(style.fgColour), bgColour(style.bgColour), pattern(style.pattern), fgTransparency(style.fgTransparency),
148 bgTransparency(style.bgTransparency), shadowFgColour(style.shadowFgColour), shadowPattern(style.shadowPattern),
149 shadowOffsetX(style.shadowOffsetX), shadowOffsetY(style.shadowOffsetY) {}
150 ~VSDOptionalFillStyle() {}
151 void override(const VSDOptionalFillStyle &style)
152 {
153 ASSIGN_OPTIONAL(style.fgColour, fgColour);
154 ASSIGN_OPTIONAL(style.bgColour, bgColour);
155 ASSIGN_OPTIONAL(style.pattern, pattern);
156 ASSIGN_OPTIONAL(style.fgTransparency, fgTransparency);
157 ASSIGN_OPTIONAL(style.bgTransparency, bgTransparency);
158 ASSIGN_OPTIONAL(style.shadowFgColour, shadowFgColour);
159 ASSIGN_OPTIONAL(style.shadowPattern, shadowPattern);
160 ASSIGN_OPTIONAL(style.shadowOffsetX, shadowOffsetX);
161 ASSIGN_OPTIONAL(style.shadowOffsetY, shadowOffsetY);
162 }
163
164 boost::optional<Colour> fgColour;
165 boost::optional<Colour> bgColour;
166 boost::optional<unsigned char> pattern;
167 boost::optional<double> fgTransparency;
168 boost::optional<double> bgTransparency;
169 boost::optional<Colour> shadowFgColour;
170 boost::optional<unsigned char> shadowPattern;
171 boost::optional<double> shadowOffsetX;
172 boost::optional<double> shadowOffsetY;
173 };
174
175 struct VSDFillStyle
176 {
177 VSDFillStyle()
178 : fgColour(), bgColour(0xff, 0xff, 0xff, 0), pattern(0), fgTransparency(0), bgTransparency(0), shadowFgColour(),
179 shadowPattern(0), shadowOffsetX(0), shadowOffsetY(0) {}
180 VSDFillStyle(const Colour &fgc, const Colour &bgc, unsigned char p, double fga, double bga, const Colour &sfgc,
181 unsigned char shp, double shX, double shY)
182 : fgColour(fgc), bgColour(bgc), pattern(p), fgTransparency(fga), bgTransparency(bga),
183 shadowFgColour(sfgc), shadowPattern(shp), shadowOffsetX(shX), shadowOffsetY(shY) {}
184 VSDFillStyle(const VSDFillStyle &style) :
185 fgColour(style.fgColour), bgColour(style.bgColour), pattern(style.pattern), fgTransparency(style.fgTransparency),
186 bgTransparency(style.bgTransparency), shadowFgColour(style.shadowFgColour), shadowPattern(style.shadowPattern),
187 shadowOffsetX(style.shadowOffsetX), shadowOffsetY(style.shadowOffsetY) {}
188 ~VSDFillStyle() {}
189 void override(const VSDOptionalFillStyle &style)
190 {
191 ASSIGN_OPTIONAL(style.fgColour, fgColour);
192 ASSIGN_OPTIONAL(style.bgColour, bgColour);
193 ASSIGN_OPTIONAL(style.pattern, pattern);
194 ASSIGN_OPTIONAL(style.fgTransparency, fgTransparency);
195 ASSIGN_OPTIONAL(style.bgTransparency, bgTransparency);
196 ASSIGN_OPTIONAL(style.shadowFgColour, shadowFgColour);
197 ASSIGN_OPTIONAL(style.shadowPattern, shadowPattern);
198 ASSIGN_OPTIONAL(style.shadowOffsetX, shadowOffsetX);
199 ASSIGN_OPTIONAL(style.shadowOffsetY, shadowOffsetY);
200 }
201
202 Colour fgColour;
203 Colour bgColour;
204 unsigned char pattern;
205 double fgTransparency;
206 double bgTransparency;
207 Colour shadowFgColour;
208 unsigned char shadowPattern;
209 double shadowOffsetX;
210 double shadowOffsetY;
211 };
212
213 struct VSDOptionalCharStyle
214 {
215 VSDOptionalCharStyle()
216 : charCount(0), font(), colour(), size(), bold(), italic(), underline(), doubleunderline(), strikeout(),
217 doublestrikeout(), allcaps(), initcaps(), smallcaps(), superscript(), subscript() {}
218 VSDOptionalCharStyle(unsigned cc, const boost::optional<VSDName> &ft,
219 const boost::optional<Colour> &c, const boost::optional<double> &s, const boost::optional<bool> &b,
220 const boost::optional<bool> &i, const boost::optional<bool> &u, const boost::optional<bool> &du,
221 const boost::optional<bool> &so, const boost::optional<bool> &dso, const boost::optional<bool> &ac,
222 const boost::optional<bool> &ic, const boost::optional<bool> &sc, const boost::optional<bool> &super,
223 const boost::optional<bool> &sub) :
224 charCount(cc), font(ft), colour(c), size(s), bold(b), italic(i), underline(u), doubleunderline(du),
225 strikeout(so), doublestrikeout(dso), allcaps(ac), initcaps(ic), smallcaps(sc), superscript(super),
226 subscript(sub) {}
227 VSDOptionalCharStyle(const VSDOptionalCharStyle &style) :
228 charCount(style.charCount), font(style.font), colour(style.colour), size(style.size), bold(style.bold),
229 italic(style.italic), underline(style.underline), doubleunderline(style.doubleunderline), strikeout(style.strikeout),
230 doublestrikeout(style.doublestrikeout), allcaps(style.allcaps), initcaps(style.initcaps), smallcaps(style.smallcaps),
231 superscript(style.superscript), subscript(style.subscript) {}
232 ~VSDOptionalCharStyle() {}
233 void override(const VSDOptionalCharStyle &style)
234 {
235 ASSIGN_OPTIONAL(style.font, font);
236 ASSIGN_OPTIONAL(style.colour, colour);
237 ASSIGN_OPTIONAL(style.size, size);
238 ASSIGN_OPTIONAL(style.bold, bold);
239 ASSIGN_OPTIONAL(style.italic, italic);
240 ASSIGN_OPTIONAL(style.underline, underline);
241 ASSIGN_OPTIONAL(style.doubleunderline, doubleunderline);
242 ASSIGN_OPTIONAL(style.strikeout, strikeout);
243 ASSIGN_OPTIONAL(style.doublestrikeout, doublestrikeout);
244 ASSIGN_OPTIONAL(style.allcaps, allcaps);
245 ASSIGN_OPTIONAL(style.initcaps, initcaps);
246 ASSIGN_OPTIONAL(style.smallcaps, smallcaps);
247 ASSIGN_OPTIONAL(style.superscript, superscript);
248 ASSIGN_OPTIONAL(style.subscript, subscript);
249 }
250
251 unsigned charCount;
252 boost::optional<VSDName> font;
253 boost::optional<Colour> colour;
254 boost::optional<double> size;
255 boost::optional<bool> bold;
256 boost::optional<bool> italic;
257 boost::optional<bool> underline;
258 boost::optional<bool> doubleunderline;
259 boost::optional<bool> strikeout;
260 boost::optional<bool> doublestrikeout;
261 boost::optional<bool> allcaps;
262 boost::optional<bool> initcaps;
263 boost::optional<bool> smallcaps;
264 boost::optional<bool> superscript;
265 boost::optional<bool> subscript;
266 };
267
268 struct VSDCharStyle
269 {
270 VSDCharStyle()
271 : charCount(0), font(), colour(), size(12.0/72.0), bold(false), italic(false), underline(false),
272 doubleunderline(false), strikeout(false), doublestrikeout(false), allcaps(false), initcaps(false),
273 smallcaps(false), superscript(false), subscript(false) {}
274 VSDCharStyle(unsigned cc, const VSDName &ft, const Colour &c, double s, bool b, bool i, bool u, bool du,
275 bool so, bool dso, bool ac, bool ic, bool sc, bool super, bool sub) :
276 charCount(cc), font(ft), colour(c), size(s), bold(b), italic(i), underline(u), doubleunderline(du),
277 strikeout(so), doublestrikeout(dso), allcaps(ac), initcaps(ic), smallcaps(sc), superscript(super),
278 subscript(sub) {}
279 VSDCharStyle(const VSDCharStyle &style) :
280 charCount(style.charCount), font(style.font), colour(style.colour), size(style.size), bold(style.bold),
281 italic(style.italic), underline(style.underline), doubleunderline(style.doubleunderline), strikeout(style.strikeout),
282 doublestrikeout(style.doublestrikeout), allcaps(style.allcaps), initcaps(style.initcaps), smallcaps(style.smallcaps),
283 superscript(style.superscript), subscript(style.subscript) {}
284 ~VSDCharStyle() {}
285 void override(const VSDOptionalCharStyle &style)
286 {
287 ASSIGN_OPTIONAL(style.font, font);
288 ASSIGN_OPTIONAL(style.colour, colour);
289 ASSIGN_OPTIONAL(style.size, size);
290 ASSIGN_OPTIONAL(style.bold, bold);
291 ASSIGN_OPTIONAL(style.italic, italic);
292 ASSIGN_OPTIONAL(style.underline, underline);
293 ASSIGN_OPTIONAL(style.doubleunderline, doubleunderline);
294 ASSIGN_OPTIONAL(style.strikeout, strikeout);
295 ASSIGN_OPTIONAL(style.doublestrikeout, doublestrikeout);
296 ASSIGN_OPTIONAL(style.allcaps, allcaps);
297 ASSIGN_OPTIONAL(style.initcaps, initcaps);
298 ASSIGN_OPTIONAL(style.smallcaps, smallcaps);
299 ASSIGN_OPTIONAL(style.superscript, superscript);
300 ASSIGN_OPTIONAL(style.subscript, subscript);
301 }
302
303 unsigned charCount;
304 VSDName font;
305 Colour colour;
306 double size;
307 bool bold;
308 bool italic;
309 bool underline;
310 bool doubleunderline;
311 bool strikeout;
312 bool doublestrikeout;
313 bool allcaps;
314 bool initcaps;
315 bool smallcaps;
316 bool superscript;
317 bool subscript;
318 };
319
320 struct VSDOptionalParaStyle
321 {
322 VSDOptionalParaStyle() :
323 charCount(0), indFirst(), indLeft(), indRight(), spLine(), spBefore(), spAfter(), align(), bullet(),
324 bulletStr(), bulletFont(), bulletFontSize(0.0), textPosAfterBullet(0.0), flags() {}
325 VSDOptionalParaStyle(unsigned cc, const boost::optional<double> &ifst, const boost::optional<double> &il,
326 const boost::optional<double> &ir, const boost::optional<double> &sl, const boost::optional<double> &sb,
327 const boost::optional<double> &sa, const boost::optional<unsigned char> &a, const boost::optional<unsigned char> &b,
328 const boost::optional<VSDName> &bs, const boost::optional<VSDName> &bf, const boost::optional<double> bfs,
329 const boost::optional<double> &tpab, const boost::optional<unsigned> &f) :
330 charCount(cc), indFirst(ifst), indLeft(il), indRight(ir), spLine(sl), spBefore(sb), spAfter(sa), align(a), bullet(b),
331 bulletStr(bs), bulletFont(bf), bulletFontSize(bfs), textPosAfterBullet(tpab), flags(f) {}
332 VSDOptionalParaStyle(const VSDOptionalParaStyle &style) :
333 charCount(style.charCount), indFirst(style.indFirst), indLeft(style.indLeft), indRight(style.indRight), spLine(style.spLine),
334 spBefore(style.spBefore), spAfter(style.spAfter), align(style.align), bullet(style.bullet), bulletStr(style.bulletStr),
335 bulletFont(style.bulletFont), bulletFontSize(style.bulletFontSize), textPosAfterBullet(style.textPosAfterBullet),
336 flags(style.flags) {}
337 ~VSDOptionalParaStyle() {}
338 void override(const VSDOptionalParaStyle &style)
339 {
340 ASSIGN_OPTIONAL(style.indFirst, indFirst);
341 ASSIGN_OPTIONAL(style.indLeft, indLeft);
342 ASSIGN_OPTIONAL(style.indRight,indRight);
343 ASSIGN_OPTIONAL(style.spLine, spLine);
344 ASSIGN_OPTIONAL(style.spBefore, spBefore);
345 ASSIGN_OPTIONAL(style.spAfter, spAfter);
346 ASSIGN_OPTIONAL(style.align, align);
347 ASSIGN_OPTIONAL(style.bullet, bullet);
348 ASSIGN_OPTIONAL(style.bulletStr, bulletStr);
349 ASSIGN_OPTIONAL(style.bulletFont, bulletFont);
350 ASSIGN_OPTIONAL(style.bulletFontSize, bulletFontSize);
351 ASSIGN_OPTIONAL(style.textPosAfterBullet, textPosAfterBullet);
352 ASSIGN_OPTIONAL(style.flags, flags);
353 }
354
355 unsigned charCount;
356 boost::optional<double> indFirst;
357 boost::optional<double> indLeft;
358 boost::optional<double> indRight;
359 boost::optional<double> spLine;
360 boost::optional<double> spBefore;
361 boost::optional<double> spAfter;
362 boost::optional<unsigned char> align;
363 boost::optional<unsigned char> bullet;
364 boost::optional<VSDName> bulletStr;
365 boost::optional<VSDName> bulletFont;
366 boost::optional<double> bulletFontSize;
367 boost::optional<double> textPosAfterBullet;
368 boost::optional<unsigned> flags;
369 };
370
371 struct VSDParaStyle
372 {
373 VSDParaStyle() :
374 charCount(0), indFirst(0.0), indLeft(0.0), indRight(0.0), spLine(-1.2), spBefore(0.0), spAfter(0.0), align(1),
375 bullet(0), bulletStr(), bulletFont(), bulletFontSize(0.0), textPosAfterBullet(0.0), flags(0) {}
376 VSDParaStyle(unsigned cc, double ifst, double il, double ir, double sl, double sb,
377 double sa, unsigned char a, unsigned b, const VSDName &bs,
378 const VSDName &bf, double bfs, double tpab, unsigned f) :
379 charCount(cc), indFirst(ifst), indLeft(il), indRight(ir), spLine(sl), spBefore(sb), spAfter(sa), align(a),
380 bullet(b), bulletStr(bs), bulletFont(bf), bulletFontSize(bfs), textPosAfterBullet(tpab), flags(f) {}
381 VSDParaStyle(const VSDParaStyle &style) :
382 charCount(style.charCount), indFirst(style.indFirst), indLeft(style.indLeft), indRight(style.indRight),
383 spLine(style.spLine), spBefore(style.spBefore), spAfter(style.spAfter), align(style.align),
384 bullet(style.bullet), bulletStr(style.bulletStr), bulletFont(style.bulletFont),
385 bulletFontSize(style.bulletFontSize), textPosAfterBullet(style.textPosAfterBullet), flags(style.flags) {}
386 ~VSDParaStyle() {}
387 void override(const VSDOptionalParaStyle &style)
388 {
389 ASSIGN_OPTIONAL(style.indFirst, indFirst);
390 ASSIGN_OPTIONAL(style.indLeft, indLeft);
391 ASSIGN_OPTIONAL(style.indRight,indRight);
392 ASSIGN_OPTIONAL(style.spLine, spLine);
393 ASSIGN_OPTIONAL(style.spBefore, spBefore);
394 ASSIGN_OPTIONAL(style.spAfter, spAfter);
395 ASSIGN_OPTIONAL(style.align, align);
396 ASSIGN_OPTIONAL(style.bullet, bullet);
397 ASSIGN_OPTIONAL(style.bulletStr, bulletStr);
398 ASSIGN_OPTIONAL(style.bulletFont, bulletFont);
399 ASSIGN_OPTIONAL(style.bulletFontSize, bulletFontSize);
400 ASSIGN_OPTIONAL(style.textPosAfterBullet, textPosAfterBullet);
401 ASSIGN_OPTIONAL(style.flags, flags);
402 }
403
404 unsigned charCount;
405 double indFirst;
406 double indLeft;
407 double indRight;
408 double spLine;
409 double spBefore;
410 double spAfter;
411 unsigned char align;
412 unsigned char bullet;
413 VSDName bulletStr;
414 VSDName bulletFont;
415 double bulletFontSize;
416 double textPosAfterBullet;
417 unsigned flags;
418 };
419
420 struct VSDOptionalTextBlockStyle
421 {
422 VSDOptionalTextBlockStyle() :
423 leftMargin(), rightMargin(), topMargin(), bottomMargin(), verticalAlign(), isTextBkgndFilled(),
424 textBkgndColour(), defaultTabStop(), textDirection() {}
425 VSDOptionalTextBlockStyle(const boost::optional<double> &lm, const boost::optional<double> &rm,
426 const boost::optional<double> &tm, const boost::optional<double> &bm,
427 const boost::optional<unsigned char> &va, const boost::optional<bool> &isBgFilled,
428 const boost::optional<Colour> &bgClr, const boost::optional<double> &defTab,
429 const boost::optional<unsigned char> &td) :
430 leftMargin(lm), rightMargin(rm), topMargin(tm), bottomMargin(bm), verticalAlign(va),
431 isTextBkgndFilled(isBgFilled), textBkgndColour(bgClr), defaultTabStop(defTab), textDirection(td) {}
432 VSDOptionalTextBlockStyle(const VSDOptionalTextBlockStyle &style) :
433 leftMargin(style.leftMargin), rightMargin(style.rightMargin), topMargin(style.topMargin),
434 bottomMargin(style.bottomMargin), verticalAlign(style.verticalAlign), isTextBkgndFilled(style.isTextBkgndFilled),
435 textBkgndColour(style.textBkgndColour), defaultTabStop(style.defaultTabStop), textDirection(style.textDirection) {}
436 ~VSDOptionalTextBlockStyle() {}
437 void override(const VSDOptionalTextBlockStyle &style)
438 {
439 ASSIGN_OPTIONAL(style.leftMargin, leftMargin);
440 ASSIGN_OPTIONAL(style.rightMargin, rightMargin);
441 ASSIGN_OPTIONAL(style.topMargin, topMargin);
442 ASSIGN_OPTIONAL(style.bottomMargin, bottomMargin);
443 ASSIGN_OPTIONAL(style.verticalAlign, verticalAlign);
444 ASSIGN_OPTIONAL(style.isTextBkgndFilled, isTextBkgndFilled);
445 ASSIGN_OPTIONAL(style.textBkgndColour, textBkgndColour);
446 ASSIGN_OPTIONAL(style.defaultTabStop, defaultTabStop);
447 ASSIGN_OPTIONAL(style.textDirection, textDirection);
448 }
449
450 boost::optional<double> leftMargin;
451 boost::optional<double> rightMargin;
452 boost::optional<double> topMargin;
453 boost::optional<double> bottomMargin;
454 boost::optional<unsigned char> verticalAlign;
455 boost::optional<bool> isTextBkgndFilled;
456 boost::optional<Colour> textBkgndColour;
457 boost::optional<double> defaultTabStop;
458 boost::optional<unsigned char> textDirection;
459 };
460
461 struct VSDTextBlockStyle
462 {
463 VSDTextBlockStyle() :
464 leftMargin(0.0), rightMargin(0.0), topMargin(0.0), bottomMargin(0.0), verticalAlign(1),
465 isTextBkgndFilled(false), textBkgndColour(0xff,0xff,0xff,0), defaultTabStop(0.5), textDirection(0) {}
466 VSDTextBlockStyle(double lm, double rm, double tm, double bm, unsigned char va,
467 bool isBgFilled, Colour bgClr, double defTab, unsigned char td) :
468 leftMargin(lm), rightMargin(rm), topMargin(tm), bottomMargin(bm), verticalAlign(va),
469 isTextBkgndFilled(isBgFilled), textBkgndColour(bgClr), defaultTabStop(defTab), textDirection(td) {}
470 VSDTextBlockStyle(const VSDTextBlockStyle &style) :
471 leftMargin(style.leftMargin), rightMargin(style.rightMargin), topMargin(style.topMargin),
472 bottomMargin(style.bottomMargin), verticalAlign(style.verticalAlign), isTextBkgndFilled(style.isTextBkgndFilled),
473 textBkgndColour(style.textBkgndColour), defaultTabStop(style.defaultTabStop), textDirection(style.textDirection) {}
474 ~VSDTextBlockStyle() {}
475 void override(const VSDOptionalTextBlockStyle &style)
476 {
477 ASSIGN_OPTIONAL(style.leftMargin, leftMargin);
478 ASSIGN_OPTIONAL(style.rightMargin, rightMargin);
479 ASSIGN_OPTIONAL(style.topMargin, topMargin);
480 ASSIGN_OPTIONAL(style.bottomMargin, bottomMargin);
481 ASSIGN_OPTIONAL(style.verticalAlign, verticalAlign);
482 ASSIGN_OPTIONAL(style.isTextBkgndFilled, isTextBkgndFilled);
483 ASSIGN_OPTIONAL(style.textBkgndColour, textBkgndColour);
484 ASSIGN_OPTIONAL(style.defaultTabStop, defaultTabStop);
485 ASSIGN_OPTIONAL(style.textDirection, textDirection);
486 }
487
488 double leftMargin;
489 double rightMargin;
490 double topMargin;
491 double bottomMargin;
492 unsigned char verticalAlign;
493 bool isTextBkgndFilled;
494 Colour textBkgndColour;
495 double defaultTabStop;
496 unsigned char textDirection;
497 };
498
499 class VSDStyles
500 {
501 public:
502 VSDStyles();
503 VSDStyles(const VSDStyles &styles);
504 ~VSDStyles();
505 VSDStyles &operator=(const VSDStyles &styles);
506 void addLineStyle(unsigned lineStyleIndex, const VSDOptionalLineStyle &lineStyle);
507 void addFillStyle(unsigned fillStyleIndex, const VSDOptionalFillStyle &fillStyle);
508 void addTextBlockStyle(unsigned textStyleIndex, const VSDOptionalTextBlockStyle &textBlockStyle);
509 void addCharStyle(unsigned textStyleIndex, const VSDOptionalCharStyle &charStyle);
510 void addParaStyle(unsigned textStyleIndex, const VSDOptionalParaStyle &paraStyle);
511 void addStyleThemeReference(unsigned styleIndex, const VSDOptionalThemeReference &themeRef);
512
513 void addLineStyleMaster(unsigned lineStyleIndex, unsigned lineStyleMaster);
514 void addFillStyleMaster(unsigned fillStyleIndex, unsigned fillStyleMaster);
515 void addTextStyleMaster(unsigned textStyleIndex, unsigned textStyleMaster);
516
517 VSDOptionalLineStyle getOptionalLineStyle(unsigned lineStyleIndex) const;
518 VSDFillStyle getFillStyle(unsigned fillStyleIndex) const;
519 VSDOptionalFillStyle getOptionalFillStyle(unsigned fillStyleIndex) const;
520 VSDOptionalTextBlockStyle getOptionalTextBlockStyle(unsigned textStyleIndex) const;
521 VSDOptionalCharStyle getOptionalCharStyle(unsigned textStyleIndex) const;
522 VSDOptionalParaStyle getOptionalParaStyle(unsigned textStyleIndex) const;
523 VSDOptionalThemeReference getOptionalThemeReference(unsigned styleIndex) const;
524
525 private:
526 std::map<unsigned, VSDOptionalLineStyle> m_lineStyles;
527 std::map<unsigned, VSDOptionalFillStyle> m_fillStyles;
528 std::map<unsigned, VSDOptionalTextBlockStyle> m_textBlockStyles;
529 std::map<unsigned, VSDOptionalCharStyle> m_charStyles;
530 std::map<unsigned, VSDOptionalParaStyle> m_paraStyles;
531 std::map<unsigned, VSDOptionalThemeReference> m_themeRefs;
532 std::map<unsigned, unsigned> m_lineStyleMasters;
533 std::map<unsigned, unsigned> m_fillStyleMasters;
534 std::map<unsigned, unsigned> m_textStyleMasters;
535 };
536
537
538 } // namespace libvisio
539
540 #endif // __VSDSTYLES_H__
541 /* vim:set shiftwidth=2 softtabstop=2 expandtab: */
libvisio::VSDOptionalParaStyle::bulletFont
boost::optional< VSDName > bulletFont
Definition: VSDStyles.h:365
libvisio::VSDOptionalTextBlockStyle::VSDOptionalTextBlockStyle
VSDOptionalTextBlockStyle(const boost::optional< double > &lm, const boost::optional< double > &rm, const boost::optional< double > &tm, const boost::optional< double > &bm, const boost::optional< unsigned char > &va, const boost::optional< bool > &isBgFilled, const boost::optional< Colour > &bgClr, const boost::optional< double > &defTab, const boost::optional< unsigned char > &td)
Definition: VSDStyles.h:425
libvisio::VSDStyles
Definition: VSDStyles.h:499
libvisio::VSDOptionalThemeReference::~VSDOptionalThemeReference
~VSDOptionalThemeReference()
Definition: VSDStyles.h:31
libvisio::VSDOptionalTextBlockStyle::textDirection
boost::optional< unsigned char > textDirection
Definition: VSDStyles.h:458
libvisio::VSDOptionalFillStyle::shadowOffsetX
boost::optional< double > shadowOffsetX
Definition: VSDStyles.h:171
libvisio::VSDOptionalFillStyle::VSDOptionalFillStyle
VSDOptionalFillStyle(const boost::optional< Colour > &fgc, const boost::optional< Colour > &bgc, const boost::optional< unsigned char > &p, const boost::optional< double > &fga, const boost::optional< double > &bga, const boost::optional< Colour > &sfgc, const boost::optional< unsigned char > &shp, const boost::optional< double > &shX, const boost::optional< double > &shY)
Definition: VSDStyles.h:139
libvisio::VSDOptionalCharStyle::VSDOptionalCharStyle
VSDOptionalCharStyle(const VSDOptionalCharStyle &style)
Definition: VSDStyles.h:227
libvisio::VSDCharStyle::colour
Colour colour
Definition: VSDStyles.h:305
libvisio::VSDOptionalCharStyle::VSDOptionalCharStyle
VSDOptionalCharStyle(unsigned cc, const boost::optional< VSDName > &ft, const boost::optional< Colour > &c, const boost::optional< double > &s, const boost::optional< bool > &b, const boost::optional< bool > &i, const boost::optional< bool > &u, const boost::optional< bool > &du, const boost::optional< bool > &so, const boost::optional< bool > &dso, const boost::optional< bool > &ac, const boost::optional< bool > &ic, const boost::optional< bool > &sc, const boost::optional< bool > &super, const boost::optional< bool > &sub)
Definition: VSDStyles.h:218
libvisio::VSDThemeReference::VSDThemeReference
VSDThemeReference()
Definition: VSDStyles.h:48
libvisio::VSDTextBlockStyle::VSDTextBlockStyle
VSDTextBlockStyle(double lm, double rm, double tm, double bm, unsigned char va, bool isBgFilled, Colour bgClr, double defTab, unsigned char td)
Definition: VSDStyles.h:466
libvisio::VSDFillStyle::fgTransparency
double fgTransparency
Definition: VSDStyles.h:205
libvisio::VSDStyles::m_textStyleMasters
std::map< unsigned, unsigned > m_textStyleMasters
Definition: VSDStyles.h:534
libvisio::VSDParaStyle::VSDParaStyle
VSDParaStyle()
Definition: VSDStyles.h:373
libvisio::VSDOptionalFillStyle
Definition: VSDStyles.h:134
libvisio::VSDParaStyle::VSDParaStyle
VSDParaStyle(const VSDParaStyle &style)
Definition: VSDStyles.h:381
libvisio::VSDOptionalThemeReference::qsShadowColour
boost::optional< long > qsShadowColour
Definition: VSDStyles.h:42
libvisio::VSDTextBlockStyle::leftMargin
double leftMargin
Definition: VSDStyles.h:488
libvisio::VSDOptionalTextBlockStyle::defaultTabStop
boost::optional< double > defaultTabStop
Definition: VSDStyles.h:457
libvisio::VSDOptionalParaStyle::VSDOptionalParaStyle
VSDOptionalParaStyle(unsigned cc, const boost::optional< double > &ifst, const boost::optional< double > &il, const boost::optional< double > &ir, const boost::optional< double > &sl, const boost::optional< double > &sb, const boost::optional< double > &sa, const boost::optional< unsigned char > &a, const boost::optional< unsigned char > &b, const boost::optional< VSDName > &bs, const boost::optional< VSDName > &bf, const boost::optional< double > bfs, const boost::optional< double > &tpab, const boost::optional< unsigned > &f)
Definition: VSDStyles.h:325
libvisio::VSDOptionalCharStyle::font
boost::optional< VSDName > font
Definition: VSDStyles.h:252
libvisio::VSDFillStyle::VSDFillStyle
VSDFillStyle(const Colour &fgc, const Colour &bgc, unsigned char p, double fga, double bga, const Colour &sfgc, unsigned char shp, double shX, double shY)
Definition: VSDStyles.h:180
libvisio::VSDCharStyle::subscript
bool subscript
Definition: VSDStyles.h:317
libvisio::VSDTextBlockStyle::~VSDTextBlockStyle
~VSDTextBlockStyle()
Definition: VSDStyles.h:474
libvisio::VSDThemeReference::qsFontColour
long qsFontColour
Definition: VSDStyles.h:67
libvisio::VSDCharStyle::initcaps
bool initcaps
Definition: VSDStyles.h:314
libvisio::VSDParaStyle::spLine
double spLine
Definition: VSDStyles.h:408
libvisio::VSDLineStyle
Definition: VSDStyles.h:103
libvisio::VSDOptionalThemeReference::qsFontColour
boost::optional< long > qsFontColour
Definition: VSDStyles.h:43
libvisio::VSDOptionalParaStyle::bullet
boost::optional< unsigned char > bullet
Definition: VSDStyles.h:363
libvisio::VSDStyles::m_lineStyles
std::map< unsigned, VSDOptionalLineStyle > m_lineStyles
Definition: VSDStyles.h:526
libvisio::VSDTextBlockStyle::VSDTextBlockStyle
VSDTextBlockStyle(const VSDTextBlockStyle &style)
Definition: VSDStyles.h:470
libvisio::VSDOptionalThemeReference::VSDOptionalThemeReference
VSDOptionalThemeReference(const VSDOptionalThemeReference &themeRef)
Definition: VSDStyles.h:28
libvisio::VSDFillStyle::~VSDFillStyle
~VSDFillStyle()
Definition: VSDStyles.h:188
libvisio::VSDOptionalTextBlockStyle::VSDOptionalTextBlockStyle
VSDOptionalTextBlockStyle(const VSDOptionalTextBlockStyle &style)
Definition: VSDStyles.h:432
libvisio::VSDOptionalParaStyle::indFirst
boost::optional< double > indFirst
Definition: VSDStyles.h:356
libvisio::VSDLineStyle::cap
unsigned char cap
Definition: VSDStyles.h:130
libvisio::Colour
Definition: VSDTypes.h:73
libvisio::VSDThemeReference::~VSDThemeReference
~VSDThemeReference()
Definition: VSDStyles.h:55
libvisio::VSDOptionalLineStyle::~VSDOptionalLineStyle
~VSDOptionalLineStyle()
Definition: VSDStyles.h:82
libvisio::VSDOptionalCharStyle::underline
boost::optional< bool > underline
Definition: VSDStyles.h:257
libvisio::VSDParaStyle::indRight
double indRight
Definition: VSDStyles.h:407
libvisio::VSDParaStyle::align
unsigned char align
Definition: VSDStyles.h:411
libvisio::VSDFillStyle::pattern
unsigned char pattern
Definition: VSDStyles.h:204
libvisio::VSDOptionalCharStyle::strikeout
boost::optional< bool > strikeout
Definition: VSDStyles.h:259
libvisio::VSDTextBlockStyle
Definition: VSDStyles.h:461
libvisio::VSDFillStyle::shadowOffsetX
double shadowOffsetX
Definition: VSDStyles.h:209
libvisio::VSDOptionalTextBlockStyle::rightMargin
boost::optional< double > rightMargin
Definition: VSDStyles.h:451
libvisio::VSDOptionalTextBlockStyle
Definition: VSDStyles.h:420
libvisio::VSDOptionalCharStyle::subscript
boost::optional< bool > subscript
Definition: VSDStyles.h:265
libvisio::VSDOptionalCharStyle::size
boost::optional< double > size
Definition: VSDStyles.h:254
libvisio::VSDParaStyle::textPosAfterBullet
double textPosAfterBullet
Definition: VSDStyles.h:416
libvisio::VSDStyles::m_themeRefs
std::map< unsigned, VSDOptionalThemeReference > m_themeRefs
Definition: VSDStyles.h:531
libvisio::VSDOptionalLineStyle::cap
boost::optional< unsigned char > cap
Definition: VSDStyles.h:99
libvisio::VSDCharStyle::doublestrikeout
bool doublestrikeout
Definition: VSDStyles.h:312
libvisio::VSDThemeReference::qsShadowColour
long qsShadowColour
Definition: VSDStyles.h:66
libvisio::VSDCharStyle::~VSDCharStyle
~VSDCharStyle()
Definition: VSDStyles.h:284
libvisio::VSDOptionalLineStyle::VSDOptionalLineStyle
VSDOptionalLineStyle()
Definition: VSDStyles.h:72
libvisio::VSDLineStyle::VSDLineStyle
VSDLineStyle(const VSDLineStyle &style)
Definition: VSDStyles.h:110
libvisio::VSDCharStyle::doubleunderline
bool doubleunderline
Definition: VSDStyles.h:310
libvisio::VSDCharStyle::font
VSDName font
Definition: VSDStyles.h:304
libvisio::VSDTextBlockStyle::verticalAlign
unsigned char verticalAlign
Definition: VSDStyles.h:492
libvisio::VSDOptionalCharStyle::charCount
unsigned charCount
Definition: VSDStyles.h:251
libvisio::VSDStyles::m_lineStyleMasters
std::map< unsigned, unsigned > m_lineStyleMasters
Definition: VSDStyles.h:532
libvisio::VSDParaStyle::bulletFontSize
double bulletFontSize
Definition: VSDStyles.h:415
libvisio::VSDOptionalThemeReference::qsFillColour
boost::optional< long > qsFillColour
Definition: VSDStyles.h:41
libvisio::VSDOptionalLineStyle
Definition: VSDStyles.h:70
libvisio::VSDLineStyle::VSDLineStyle
VSDLineStyle(double w, Colour col, unsigned char p, unsigned char sm, unsigned char em, unsigned char c, double r)
Definition: VSDStyles.h:107
libvisio::VSDOptionalParaStyle::charCount
unsigned charCount
Definition: VSDStyles.h:355
libvisio::VSDOptionalLineStyle::startMarker
boost::optional< unsigned char > startMarker
Definition: VSDStyles.h:97
libvisio::VSDOptionalCharStyle::allcaps
boost::optional< bool > allcaps
Definition: VSDStyles.h:261
libvisio::VSDParaStyle::VSDParaStyle
VSDParaStyle(unsigned cc, double ifst, double il, double ir, double sl, double sb, double sa, unsigned char a, unsigned b, const VSDName &bs, const VSDName &bf, double bfs, double tpab, unsigned f)
Definition: VSDStyles.h:376
libvisio::VSDOptionalCharStyle::doubleunderline
boost::optional< bool > doubleunderline
Definition: VSDStyles.h:258
libvisio::VSDTextBlockStyle::textDirection
unsigned char textDirection
Definition: VSDStyles.h:496
libvisio::VSDCharStyle::allcaps
bool allcaps
Definition: VSDStyles.h:313
libvisio::VSDLineStyle::endMarker
unsigned char endMarker
Definition: VSDStyles.h:129
libvisio::VSDParaStyle::spBefore
double spBefore
Definition: VSDStyles.h:409
libvisio::VSDCharStyle::bold
bool bold
Definition: VSDStyles.h:307
libvisio::VSDOptionalParaStyle::indRight
boost::optional< double > indRight
Definition: VSDStyles.h:358
libvisio::VSDStyles::m_fillStyleMasters
std::map< unsigned, unsigned > m_fillStyleMasters
Definition: VSDStyles.h:533
libvisio::VSDCharStyle::superscript
bool superscript
Definition: VSDStyles.h:316
libvisio::VSDThemeReference::qsLineColour
long qsLineColour
Definition: VSDStyles.h:64
libvisio::VSDStyles::m_paraStyles
std::map< unsigned, VSDOptionalParaStyle > m_paraStyles
Definition: VSDStyles.h:530
libvisio::VSDOptionalThemeReference::VSDOptionalThemeReference
VSDOptionalThemeReference(const boost::optional< long > &lineColour, const boost::optional< long > &fillColour, const boost::optional< long > &shadowColour, const boost::optional< long > &fontColour)
Definition: VSDStyles.h:25
libvisio::VSDFillStyle::VSDFillStyle
VSDFillStyle(const VSDFillStyle &style)
Definition: VSDStyles.h:184
libvisio::VSDOptionalTextBlockStyle::leftMargin
boost::optional< double > leftMargin
Definition: VSDStyles.h:450
libvisio::VSDOptionalParaStyle
Definition: VSDStyles.h:320
libvisio::VSDParaStyle::bullet
unsigned char bullet
Definition: VSDStyles.h:412
libvisio::VSDParaStyle::indFirst
double indFirst
Definition: VSDStyles.h:405
libvisio::VSDCharStyle
Definition: VSDStyles.h:268
libvisio::VSDOptionalParaStyle::VSDOptionalParaStyle
VSDOptionalParaStyle()
Definition: VSDStyles.h:322
libvisio::VSDOptionalTextBlockStyle::VSDOptionalTextBlockStyle
VSDOptionalTextBlockStyle()
Definition: VSDStyles.h:422
libvisio::VSDOptionalFillStyle::pattern
boost::optional< unsigned char > pattern
Definition: VSDStyles.h:166
libvisio::VSDOptionalFillStyle::bgTransparency
boost::optional< double > bgTransparency
Definition: VSDStyles.h:168
libvisio::VSDParaStyle::charCount
unsigned charCount
Definition: VSDStyles.h:404
libvisio::VSDOptionalLineStyle::colour
boost::optional< Colour > colour
Definition: VSDStyles.h:95
libvisio::VSDOptionalLineStyle::VSDOptionalLineStyle
VSDOptionalLineStyle(const boost::optional< double > &w, const boost::optional< Colour > &col, const boost::optional< unsigned char > &p, const boost::optional< unsigned char > &sm, const boost::optional< unsigned char > &em, const boost::optional< unsigned char > &c, const boost::optional< double > &r)
Definition: VSDStyles.h:74
libvisio::VSDOptionalCharStyle::italic
boost::optional< bool > italic
Definition: VSDStyles.h:256
libvisio::VSDLineStyle::~VSDLineStyle
~VSDLineStyle()
Definition: VSDStyles.h:113
libvisio::VSDOptionalParaStyle::bulletFontSize
boost::optional< double > bulletFontSize
Definition: VSDStyles.h:366
libvisio::VSDOptionalParaStyle::indLeft
boost::optional< double > indLeft
Definition: VSDStyles.h:357
libvisio::VSDThemeReference::VSDThemeReference
VSDThemeReference(const VSDThemeReference &themeRef)
Definition: VSDStyles.h:52
libvisio::VSDFillStyle::shadowFgColour
Colour shadowFgColour
Definition: VSDStyles.h:207
libvisio::VSDOptionalCharStyle::bold
boost::optional< bool > bold
Definition: VSDStyles.h:255
libvisio::VSDOptionalParaStyle::spAfter
boost::optional< double > spAfter
Definition: VSDStyles.h:361
libvisio::VSDTextBlockStyle::textBkgndColour
Colour textBkgndColour
Definition: VSDStyles.h:494
libvisio::VSDLineStyle::VSDLineStyle
VSDLineStyle()
Definition: VSDStyles.h:105
libvisio::VSDFillStyle::VSDFillStyle
VSDFillStyle()
Definition: VSDStyles.h:177
libvisio::VSDOptionalTextBlockStyle::verticalAlign
boost::optional< unsigned char > verticalAlign
Definition: VSDStyles.h:454
VSDTypes.h
libvisio::VSDOptionalTextBlockStyle::isTextBkgndFilled
boost::optional< bool > isTextBkgndFilled
Definition: VSDStyles.h:455
libvisio::VSDOptionalCharStyle::doublestrikeout
boost::optional< bool > doublestrikeout
Definition: VSDStyles.h:260
libvisio::VSDOptionalParaStyle::spBefore
boost::optional< double > spBefore
Definition: VSDStyles.h:360
libvisio::VSDCharStyle::italic
bool italic
Definition: VSDStyles.h:308
libvisio::VSDLineStyle::startMarker
unsigned char startMarker
Definition: VSDStyles.h:128
libvisio::VSDOptionalTextBlockStyle::topMargin
boost::optional< double > topMargin
Definition: VSDStyles.h:452
libvisio::VSDParaStyle::flags
unsigned flags
Definition: VSDStyles.h:417
libvisio::VSDLineStyle::rounding
double rounding
Definition: VSDStyles.h:131
libvisio::VSDOptionalLineStyle::width
boost::optional< double > width
Definition: VSDStyles.h:94
libvisio::VSDOptionalThemeReference
Definition: VSDStyles.h:21
libvisio::VSDOptionalLineStyle::VSDOptionalLineStyle
VSDOptionalLineStyle(const VSDOptionalLineStyle &style)
Definition: VSDStyles.h:79
libvisio::VSDCharStyle::smallcaps
bool smallcaps
Definition: VSDStyles.h:315
libvisio::VSDTextBlockStyle::VSDTextBlockStyle
VSDTextBlockStyle()
Definition: VSDStyles.h:463
libvisio::VSDOptionalParaStyle::spLine
boost::optional< double > spLine
Definition: VSDStyles.h:359
libvisio::VSDFillStyle::shadowPattern
unsigned char shadowPattern
Definition: VSDStyles.h:208
libvisio::VSDCharStyle::VSDCharStyle
VSDCharStyle(unsigned cc, const VSDName &ft, const Colour &c, double s, bool b, bool i, bool u, bool du, bool so, bool dso, bool ac, bool ic, bool sc, bool super, bool sub)
Definition: VSDStyles.h:274
libvisio::VSDOptionalCharStyle::smallcaps
boost::optional< bool > smallcaps
Definition: VSDStyles.h:263
libvisio::VSDTextBlockStyle::bottomMargin
double bottomMargin
Definition: VSDStyles.h:491
libvisio::VSDFillStyle
Definition: VSDStyles.h:175
libvisio::VSDFillStyle::fgColour
Colour fgColour
Definition: VSDStyles.h:202
libvisio::VSDThemeReference
Definition: VSDStyles.h:46
libvisio::VSDOptionalParaStyle::~VSDOptionalParaStyle
~VSDOptionalParaStyle()
Definition: VSDStyles.h:337
libvisio::VSDOptionalCharStyle
Definition: VSDStyles.h:213
libvisio::VSDOptionalTextBlockStyle::textBkgndColour
boost::optional< Colour > textBkgndColour
Definition: VSDStyles.h:456
libvisio::VSDOptionalParaStyle::VSDOptionalParaStyle
VSDOptionalParaStyle(const VSDOptionalParaStyle &style)
Definition: VSDStyles.h:332
libvisio::VSDOptionalParaStyle::align
boost::optional< unsigned char > align
Definition: VSDStyles.h:362
libvisio::VSDOptionalLineStyle::rounding
boost::optional< double > rounding
Definition: VSDStyles.h:100
libvisio
Definition: libvisio_utils.h:73
libvisio::VSDOptionalFillStyle::shadowOffsetY
boost::optional< double > shadowOffsetY
Definition: VSDStyles.h:172
libvisio::VSDOptionalThemeReference::qsLineColour
boost::optional< long > qsLineColour
Definition: VSDStyles.h:40
libvisio::VSDCharStyle::size
double size
Definition: VSDStyles.h:306
libvisio::VSDParaStyle
Definition: VSDStyles.h:371
libvisio::VSDStyles::m_charStyles
std::map< unsigned, VSDOptionalCharStyle > m_charStyles
Definition: VSDStyles.h:529
libvisio::VSDOptionalFillStyle::~VSDOptionalFillStyle
~VSDOptionalFillStyle()
Definition: VSDStyles.h:150
libvisio::VSDOptionalCharStyle::~VSDOptionalCharStyle
~VSDOptionalCharStyle()
Definition: VSDStyles.h:232
libvisio::VSDOptionalCharStyle::initcaps
boost::optional< bool > initcaps
Definition: VSDStyles.h:262
libvisio::VSDCharStyle::VSDCharStyle
VSDCharStyle(const VSDCharStyle &style)
Definition: VSDStyles.h:279
libvisio::VSDLineStyle::colour
Colour colour
Definition: VSDStyles.h:126
libvisio::VSDLineStyle::width
double width
Definition: VSDStyles.h:125
libvisio::VSDThemeReference::VSDThemeReference
VSDThemeReference(long lineColour, long fillColour, long shadowColour, long fontColour)
Definition: VSDStyles.h:50
libvisio::VSDOptionalFillStyle::fgColour
boost::optional< Colour > fgColour
Definition: VSDStyles.h:164
ASSIGN_OPTIONAL
#define ASSIGN_OPTIONAL(t, u)
Definition: VSDTypes.h:18
libvisio::VSDCharStyle::underline
bool underline
Definition: VSDStyles.h:309
libvisio::VSDOptionalParaStyle::flags
boost::optional< unsigned > flags
Definition: VSDStyles.h:368
libvisio::VSDCharStyle::strikeout
bool strikeout
Definition: VSDStyles.h:311
libvisio::VSDStyles::m_fillStyles
std::map< unsigned, VSDOptionalFillStyle > m_fillStyles
Definition: VSDStyles.h:527
libvisio::VSDOptionalFillStyle::shadowFgColour
boost::optional< Colour > shadowFgColour
Definition: VSDStyles.h:169
libvisio::VSDParaStyle::indLeft
double indLeft
Definition: VSDStyles.h:406
libvisio::VSDTextBlockStyle::defaultTabStop
double defaultTabStop
Definition: VSDStyles.h:495
libvisio::VSDOptionalParaStyle::bulletStr
boost::optional< VSDName > bulletStr
Definition: VSDStyles.h:364
libvisio::VSDOptionalCharStyle::colour
boost::optional< Colour > colour
Definition: VSDStyles.h:253
libvisio::VSDOptionalTextBlockStyle::~VSDOptionalTextBlockStyle
~VSDOptionalTextBlockStyle()
Definition: VSDStyles.h:436
libvisio::VSDParaStyle::bulletFont
VSDName bulletFont
Definition: VSDStyles.h:414
libvisio::VSDOptionalFillStyle::shadowPattern
boost::optional< unsigned char > shadowPattern
Definition: VSDStyles.h:170
libvisio::VSDCharStyle::charCount
unsigned charCount
Definition: VSDStyles.h:303
libvisio::VSDFillStyle::shadowOffsetY
double shadowOffsetY
Definition: VSDStyles.h:210
libvisio::VSDOptionalTextBlockStyle::bottomMargin
boost::optional< double > bottomMargin
Definition: VSDStyles.h:453
libvisio::VSDOptionalFillStyle::VSDOptionalFillStyle
VSDOptionalFillStyle(const VSDOptionalFillStyle &style)
Definition: VSDStyles.h:146
libvisio::VSDName
Definition: VSDTypes.h:179
libvisio::VSDOptionalFillStyle::bgColour
boost::optional< Colour > bgColour
Definition: VSDStyles.h:165
libvisio::VSDOptionalFillStyle::fgTransparency
boost::optional< double > fgTransparency
Definition: VSDStyles.h:167
libvisio::VSDThemeReference::qsFillColour
long qsFillColour
Definition: VSDStyles.h:65
libvisio::VSDFillStyle::bgColour
Colour bgColour
Definition: VSDStyles.h:203
libvisio::VSDOptionalFillStyle::VSDOptionalFillStyle
VSDOptionalFillStyle()
Definition: VSDStyles.h:136
libvisio::VSDLineStyle::pattern
unsigned char pattern
Definition: VSDStyles.h:127
libvisio::VSDCharStyle::VSDCharStyle
VSDCharStyle()
Definition: VSDStyles.h:270
libvisio::VSDParaStyle::~VSDParaStyle
~VSDParaStyle()
Definition: VSDStyles.h:386
libvisio::VSDTextBlockStyle::rightMargin
double rightMargin
Definition: VSDStyles.h:489
libvisio::VSDParaStyle::spAfter
double spAfter
Definition: VSDStyles.h:410
libvisio::VSDOptionalThemeReference::VSDOptionalThemeReference
VSDOptionalThemeReference()
Definition: VSDStyles.h:23
libvisio::VSDOptionalParaStyle::textPosAfterBullet
boost::optional< double > textPosAfterBullet
Definition: VSDStyles.h:367
libvisio::VSDTextBlockStyle::topMargin
double topMargin
Definition: VSDStyles.h:490
libvisio::VSDFillStyle::bgTransparency
double bgTransparency
Definition: VSDStyles.h:206
libvisio::VSDStyles::m_textBlockStyles
std::map< unsigned, VSDOptionalTextBlockStyle > m_textBlockStyles
Definition: VSDStyles.h:528
libvisio::VSDOptionalLineStyle::pattern
boost::optional< unsigned char > pattern
Definition: VSDStyles.h:96
libvisio::VSDParaStyle::bulletStr
VSDName bulletStr
Definition: VSDStyles.h:413
libvisio::VSDTextBlockStyle::isTextBkgndFilled
bool isTextBkgndFilled
Definition: VSDStyles.h:493
libvisio::VSDOptionalCharStyle::VSDOptionalCharStyle
VSDOptionalCharStyle()
Definition: VSDStyles.h:215
libvisio::VSDOptionalLineStyle::endMarker
boost::optional< unsigned char > endMarker
Definition: VSDStyles.h:98
libvisio::VSDOptionalCharStyle::superscript
boost::optional< bool > superscript
Definition: VSDStyles.h:264