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

Generated for libvisio by doxygen 1.8.6