10#ifndef __VSDSTYLES_H__ 
   11#define __VSDSTYLES_H__ 
   15#include <boost/optional.hpp> 
   29                       const boost::optional<unsigned char> &p, 
const boost::optional<unsigned char> &sm,
 
   30                       const boost::optional<unsigned char> &em, 
const boost::optional<unsigned char> &c,
 
   31                       const boost::optional<double> &r, 
const boost::optional<long> &qlc,
 
   32                       const boost::optional<long> &qlm) :
 
 
   56  boost::optional<unsigned char> 
cap;
 
 
   68               unsigned char em, 
unsigned char c, 
double r, 
long qlc, 
long qlm) :
 
 
   86      if (!!style.qsLineColour && style.qsLineColour.get() >= 0)
 
 
 
  110                       const boost::optional<unsigned char> &p, 
const boost::optional<double> &fga,
 
  111                       const boost::optional<double> &bga, 
const boost::optional<Colour> &sfgc,
 
  112                       const boost::optional<unsigned char> &shp, 
const boost::optional<double> &shX,
 
  113                       const boost::optional<double> &shY, 
const boost::optional<long> &qsFc,
 
  114                       const boost::optional<long> &qsSc, 
const boost::optional<long> &qsFm) :
 
 
 
  158               double fga, 
double bga, 
const Colour &sfgc, 
unsigned char shp,
 
  159               double shX, 
double shY, 
long qsFc, 
long qsSc, 
long qsFm)
 
 
  185      if (!!style.qsFillMatrix && style.qsFillMatrix.get() >= 0)
 
 
 
  215                       const boost::optional<Colour> &c, 
const boost::optional<double> &s,
 
  216                       const boost::optional<bool> &b, 
const boost::optional<bool> &i,
 
  217                       const boost::optional<bool> &u, 
const boost::optional<bool> &du,
 
  218                       const boost::optional<bool> &so, 
const boost::optional<bool> &dso,
 
  219                       const boost::optional<bool> &ac, 
const boost::optional<bool> &ic,
 
  220                       const boost::optional<bool> &sc, 
const boost::optional<bool> &super,
 
  221                       const boost::optional<bool> &sub, 
const boost::optional<double> &sw) :
 
 
 
  275               bool b, 
bool i, 
bool u, 
bool du, 
bool so, 
bool dso, 
bool ac,
 
  276               bool ic, 
bool sc, 
bool super, 
bool sub, 
double sw) :
 
 
 
  327                       const boost::optional<double> &ir, 
const boost::optional<double> &sl,
 
  328                       const boost::optional<double> &sb, 
const boost::optional<double> &sa,
 
  329                       const boost::optional<unsigned char> &a, 
const boost::optional<unsigned char> &b,
 
  330                       const boost::optional<VSDName> &bs, 
const boost::optional<VSDName> &bf,
 
  331                       const boost::optional<double> bfs, 
const boost::optional<double> &tpab,
 
  332                       const boost::optional<unsigned> &f) :
 
 
  363  boost::optional<unsigned char> 
align;
 
 
  377  VSDParaStyle(
unsigned cc, 
double ifst, 
double il, 
double ir, 
double sl, 
double sb,
 
  378               double sa, 
unsigned char a, 
unsigned b, 
const VSDName &bs,
 
  379               const VSDName &bf, 
double bfs, 
double tpab, 
unsigned f) :
 
 
 
  424                            const boost::optional<double> &tm, 
const boost::optional<double> &bm,
 
  425                            const boost::optional<unsigned char> &va, 
const boost::optional<bool> &isBgFilled,
 
  426                            const boost::optional<Colour> &bgClr, 
const boost::optional<double> &defTab,
 
  427                            const boost::optional<unsigned char> &td) :
 
 
 
  463                    bool isBgFilled, 
Colour bgClr, 
double defTab, 
unsigned char td) :
 
 
 
#define ASSIGN_OPTIONAL(t, u)
Definition VSDTypes.h:17
Definition VSDTypes.h:171
std::map< unsigned, unsigned > m_fillStyleMasters
Definition VSDStyles.h:524
void addLineStyle(unsigned lineStyleIndex, const VSDOptionalLineStyle &lineStyle)
Definition VSDStyles.cpp:68
void addTextStyleMaster(unsigned textStyleIndex, unsigned textStyleMaster)
Definition VSDStyles.cpp:103
std::map< unsigned, VSDOptionalParaStyle > m_paraStyles
Definition VSDStyles.h:522
VSDOptionalTextBlockStyle getOptionalTextBlockStyle(unsigned textStyleIndex) const
Definition VSDStyles.cpp:125
std::map< unsigned, VSDOptionalFillStyle > m_fillStyles
Definition VSDStyles.h:519
std::map< unsigned, unsigned > m_textStyleMasters
Definition VSDStyles.h:525
void addParaStyle(unsigned textStyleIndex, const VSDOptionalParaStyle ¶Style)
Definition VSDStyles.cpp:88
VSDStyles()
Definition VSDStyles.cpp:58
VSDOptionalLineStyle getOptionalLineStyle(unsigned lineStyleIndex) const
Definition VSDStyles.cpp:108
void addFillStyle(unsigned fillStyleIndex, const VSDOptionalFillStyle &fillStyle)
Definition VSDStyles.cpp:73
std::map< unsigned, VSDOptionalLineStyle > m_lineStyles
Definition VSDStyles.h:518
VSDFillStyle getFillStyle(unsigned fillStyleIndex, const VSDXTheme *theme) const
Definition VSDStyles.cpp:118
~VSDStyles()
Definition VSDStyles.cpp:64
VSDStyles(const VSDStyles &styles)=default
std::map< unsigned, VSDOptionalTextBlockStyle > m_textBlockStyles
Definition VSDStyles.h:520
VSDOptionalCharStyle getOptionalCharStyle(unsigned textStyleIndex) const
Definition VSDStyles.cpp:130
void addFillStyleMaster(unsigned fillStyleIndex, unsigned fillStyleMaster)
Definition VSDStyles.cpp:98
VSDOptionalParaStyle getOptionalParaStyle(unsigned textStyleIndex) const
Definition VSDStyles.cpp:135
void addCharStyle(unsigned textStyleIndex, const VSDOptionalCharStyle &charStyle)
Definition VSDStyles.cpp:83
std::map< unsigned, VSDOptionalCharStyle > m_charStyles
Definition VSDStyles.h:521
std::map< unsigned, unsigned > m_lineStyleMasters
Definition VSDStyles.h:523
VSDOptionalFillStyle getOptionalFillStyle(unsigned fillStyleIndex) const
Definition VSDStyles.cpp:113
void addTextBlockStyle(unsigned textStyleIndex, const VSDOptionalTextBlockStyle &textBlockStyle)
Definition VSDStyles.cpp:78
VSDStyles & operator=(const VSDStyles &styles)=default
void addLineStyleMaster(unsigned lineStyleIndex, unsigned lineStyleMaster)
Definition VSDStyles.cpp:93
Definition VSDXTheme.h:77
Definition libvisio_utils.h:49
double size
Definition VSDStyles.h:306
bool smallcaps
Definition VSDStyles.h:315
bool strikeout
Definition VSDStyles.h:311
bool doubleunderline
Definition VSDStyles.h:310
VSDCharStyle()
Definition VSDStyles.h:268
bool superscript
Definition VSDStyles.h:316
~VSDCharStyle()
Definition VSDStyles.h:282
unsigned charCount
Definition VSDStyles.h:303
Colour colour
Definition VSDStyles.h:305
bool initcaps
Definition VSDStyles.h:314
bool bold
Definition VSDStyles.h:307
bool italic
Definition VSDStyles.h:308
bool subscript
Definition VSDStyles.h:317
double scaleWidth
Definition VSDStyles.h:318
VSDCharStyle(const VSDCharStyle &style)=default
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, double sw)
Definition VSDStyles.h:274
bool underline
Definition VSDStyles.h:309
bool doublestrikeout
Definition VSDStyles.h:312
bool allcaps
Definition VSDStyles.h:313
VSDName font
Definition VSDStyles.h:304
VSDCharStyle & operator=(const VSDCharStyle &style)=default
Definition VSDStyles.h:152
~VSDFillStyle()
Definition VSDStyles.h:164
Colour bgColour
Definition VSDStyles.h:194
VSDFillStyle(const Colour &fgc, const Colour &bgc, unsigned char p, double fga, double bga, const Colour &sfgc, unsigned char shp, double shX, double shY, long qsFc, long qsSc, long qsFm)
Definition VSDStyles.h:157
long qsFillMatrix
Definition VSDStyles.h:204
double shadowOffsetY
Definition VSDStyles.h:201
Colour fgColour
Definition VSDStyles.h:193
double bgTransparency
Definition VSDStyles.h:197
VSDFillStyle(const VSDFillStyle &style)=default
unsigned char shadowPattern
Definition VSDStyles.h:199
double shadowOffsetX
Definition VSDStyles.h:200
unsigned char pattern
Definition VSDStyles.h:195
VSDFillStyle & operator=(const VSDFillStyle &style)=default
long qsFillColour
Definition VSDStyles.h:202
double fgTransparency
Definition VSDStyles.h:196
Colour shadowFgColour
Definition VSDStyles.h:198
VSDFillStyle()
Definition VSDStyles.h:153
long qsShadowColour
Definition VSDStyles.h:203
~VSDLineStyle()
Definition VSDStyles.h:72
Colour colour
Definition VSDStyles.h:93
double rounding
Definition VSDStyles.h:98
unsigned char cap
Definition VSDStyles.h:97
VSDLineStyle()
Definition VSDStyles.h:64
double width
Definition VSDStyles.h:92
long qsLineColour
Definition VSDStyles.h:99
VSDLineStyle & operator=(const VSDLineStyle &style)=default
unsigned char endMarker
Definition VSDStyles.h:96
unsigned char startMarker
Definition VSDStyles.h:95
long qsLineMatrix
Definition VSDStyles.h:100
VSDLineStyle(double w, Colour col, unsigned char p, unsigned char sm, unsigned char em, unsigned char c, double r, long qlc, long qlm)
Definition VSDStyles.h:67
VSDLineStyle(const VSDLineStyle &style)=default
unsigned char pattern
Definition VSDStyles.h:94
Definition VSDStyles.h:208
boost::optional< double > scaleWidth
Definition VSDStyles.h:263
boost::optional< bool > italic
Definition VSDStyles.h:253
boost::optional< double > size
Definition VSDStyles.h:251
boost::optional< bool > subscript
Definition VSDStyles.h:262
boost::optional< bool > smallcaps
Definition VSDStyles.h:260
boost::optional< VSDName > font
Definition VSDStyles.h:249
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, const boost::optional< double > &sw)
Definition VSDStyles.h:214
VSDOptionalCharStyle & operator=(const VSDOptionalCharStyle &style)=default
boost::optional< bool > strikeout
Definition VSDStyles.h:256
boost::optional< bool > doubleunderline
Definition VSDStyles.h:255
VSDOptionalCharStyle(const VSDOptionalCharStyle &style)=default
boost::optional< bool > superscript
Definition VSDStyles.h:261
unsigned charCount
Definition VSDStyles.h:248
boost::optional< bool > underline
Definition VSDStyles.h:254
boost::optional< bool > doublestrikeout
Definition VSDStyles.h:257
boost::optional< bool > initcaps
Definition VSDStyles.h:259
boost::optional< Colour > colour
Definition VSDStyles.h:250
VSDOptionalCharStyle()
Definition VSDStyles.h:209
boost::optional< bool > bold
Definition VSDStyles.h:252
~VSDOptionalCharStyle()
Definition VSDStyles.h:227
boost::optional< bool > allcaps
Definition VSDStyles.h:258
Definition VSDStyles.h:104
boost::optional< long > qsFillMatrix
Definition VSDStyles.h:148
boost::optional< Colour > fgColour
Definition VSDStyles.h:137
boost::optional< unsigned char > shadowPattern
Definition VSDStyles.h:143
boost::optional< long > qsShadowColour
Definition VSDStyles.h:147
VSDOptionalFillStyle(const VSDOptionalFillStyle &style)=default
boost::optional< double > bgTransparency
Definition VSDStyles.h:141
boost::optional< double > shadowOffsetY
Definition VSDStyles.h:145
boost::optional< double > fgTransparency
Definition VSDStyles.h:140
VSDOptionalFillStyle()
Definition VSDStyles.h:105
boost::optional< unsigned char > pattern
Definition VSDStyles.h:139
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, const boost::optional< long > &qsFc, const boost::optional< long > &qsSc, const boost::optional< long > &qsFm)
Definition VSDStyles.h:109
VSDOptionalFillStyle & operator=(const VSDOptionalFillStyle &style)=default
boost::optional< long > qsFillColour
Definition VSDStyles.h:146
boost::optional< Colour > bgColour
Definition VSDStyles.h:138
~VSDOptionalFillStyle()
Definition VSDStyles.h:119
boost::optional< Colour > shadowFgColour
Definition VSDStyles.h:142
boost::optional< double > shadowOffsetX
Definition VSDStyles.h:144
Definition VSDStyles.h:24
VSDOptionalLineStyle(const VSDOptionalLineStyle &style)=default
boost::optional< double > width
Definition VSDStyles.h:51
boost::optional< Colour > colour
Definition VSDStyles.h:52
VSDOptionalLineStyle()
Definition VSDStyles.h:25
VSDOptionalLineStyle & operator=(const VSDOptionalLineStyle &style)=default
boost::optional< long > qsLineMatrix
Definition VSDStyles.h:59
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, const boost::optional< long > &qlc, const boost::optional< long > &qlm)
Definition VSDStyles.h:28
boost::optional< unsigned char > endMarker
Definition VSDStyles.h:55
~VSDOptionalLineStyle()
Definition VSDStyles.h:36
boost::optional< unsigned char > cap
Definition VSDStyles.h:56
boost::optional< unsigned char > pattern
Definition VSDStyles.h:53
boost::optional< double > rounding
Definition VSDStyles.h:57
boost::optional< unsigned char > startMarker
Definition VSDStyles.h:54
boost::optional< long > qsLineColour
Definition VSDStyles.h:58
Definition VSDStyles.h:322
~VSDOptionalParaStyle()
Definition VSDStyles.h:337
boost::optional< double > indFirst
Definition VSDStyles.h:357
boost::optional< double > indRight
Definition VSDStyles.h:359
unsigned charCount
Definition VSDStyles.h:356
boost::optional< VSDName > bulletStr
Definition VSDStyles.h:365
boost::optional< unsigned char > bullet
Definition VSDStyles.h:364
boost::optional< double > indLeft
Definition VSDStyles.h:358
VSDOptionalParaStyle(const VSDOptionalParaStyle &style)=default
VSDOptionalParaStyle & operator=(const VSDOptionalParaStyle &style)=default
boost::optional< double > textPosAfterBullet
Definition VSDStyles.h:368
boost::optional< double > spBefore
Definition VSDStyles.h:361
boost::optional< double > spLine
Definition VSDStyles.h:360
VSDOptionalParaStyle()
Definition VSDStyles.h:323
boost::optional< double > spAfter
Definition VSDStyles.h:362
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:326
boost::optional< unsigned char > align
Definition VSDStyles.h:363
boost::optional< double > bulletFontSize
Definition VSDStyles.h:367
boost::optional< unsigned > flags
Definition VSDStyles.h:369
boost::optional< VSDName > bulletFont
Definition VSDStyles.h:366
Definition VSDStyles.h:419
boost::optional< bool > isTextBkgndFilled
Definition VSDStyles.h:451
boost::optional< Colour > textBkgndColour
Definition VSDStyles.h:452
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:423
VSDOptionalTextBlockStyle()
Definition VSDStyles.h:420
VSDOptionalTextBlockStyle(const VSDOptionalTextBlockStyle &style)=default
VSDOptionalTextBlockStyle & operator=(const VSDOptionalTextBlockStyle &style)=default
boost::optional< double > bottomMargin
Definition VSDStyles.h:449
boost::optional< unsigned char > verticalAlign
Definition VSDStyles.h:450
boost::optional< double > topMargin
Definition VSDStyles.h:448
~VSDOptionalTextBlockStyle()
Definition VSDStyles.h:431
boost::optional< double > leftMargin
Definition VSDStyles.h:446
boost::optional< unsigned char > textDirection
Definition VSDStyles.h:454
boost::optional< double > defaultTabStop
Definition VSDStyles.h:453
boost::optional< double > rightMargin
Definition VSDStyles.h:447
unsigned flags
Definition VSDStyles.h:415
double spLine
Definition VSDStyles.h:406
VSDParaStyle & operator=(const VSDParaStyle &style)=default
~VSDParaStyle()
Definition VSDStyles.h:383
double indFirst
Definition VSDStyles.h:403
double indRight
Definition VSDStyles.h:405
double spAfter
Definition VSDStyles.h:408
double indLeft
Definition VSDStyles.h:404
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:377
unsigned charCount
Definition VSDStyles.h:402
double spBefore
Definition VSDStyles.h:407
unsigned char bullet
Definition VSDStyles.h:410
VSDName bulletStr
Definition VSDStyles.h:411
unsigned char align
Definition VSDStyles.h:409
VSDName bulletFont
Definition VSDStyles.h:412
VSDParaStyle()
Definition VSDStyles.h:374
VSDParaStyle(const VSDParaStyle &style)=default
double textPosAfterBullet
Definition VSDStyles.h:414
double bulletFontSize
Definition VSDStyles.h:413
bool isTextBkgndFilled
Definition VSDStyles.h:487
double rightMargin
Definition VSDStyles.h:483
~VSDTextBlockStyle()
Definition VSDStyles.h:467
unsigned char textDirection
Definition VSDStyles.h:490
VSDTextBlockStyle()
Definition VSDStyles.h:459
unsigned char verticalAlign
Definition VSDStyles.h:486
VSDTextBlockStyle(const VSDTextBlockStyle &style)=default
VSDTextBlockStyle & operator=(const VSDTextBlockStyle &style)=default
double defaultTabStop
Definition VSDStyles.h:489
double topMargin
Definition VSDStyles.h:484
double leftMargin
Definition VSDStyles.h:482
Colour textBkgndColour
Definition VSDStyles.h:488
VSDTextBlockStyle(double lm, double rm, double tm, double bm, unsigned char va, bool isBgFilled, Colour bgClr, double defTab, unsigned char td)
Definition VSDStyles.h:462
double bottomMargin
Definition VSDStyles.h:485