VSDStyles.h
Go to the documentation of this file.
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/*
* This file is part of the libvisio project.
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*/
#ifndef __VSDSTYLES_H__
#define __VSDSTYLES_H__
#include <map>
#include <vector>
#include <optional>
#include "VSDTypes.h"
#include "VSDXTheme.h"
#include "libvisio_utils.h"
namespace libvisio
{
struct VSDOptionalLineStyle
{
VSDOptionalLineStyle() :
width(), colour(), pattern(), startMarker(), endMarker(), cap(), rounding(),
qsLineColour(), qsLineMatrix() {}
VSDOptionalLineStyle(const std::optional<double> &w, const std::optional<Colour> &col,
const std::optional<unsigned char> &p, const std::optional<unsigned char> &sm,
const std::optional<unsigned char> &em, const std::optional<unsigned char> &c,
const std::optional<double> &r, const std::optional<long> &qlc,
const std::optional<long> &qlm) :
width(w), colour(col), pattern(p), startMarker(sm), endMarker(em), cap(c), rounding(r),
qsLineColour(qlc), qsLineMatrix(qlm) {}
VSDOptionalLineStyle(const VSDOptionalLineStyle &style) = default;
~VSDOptionalLineStyle() {}
VSDOptionalLineStyle &operator=(const VSDOptionalLineStyle &style) = default;
void override(const VSDOptionalLineStyle &style)
{
ASSIGN_OPTIONAL(style.width, width);
ASSIGN_OPTIONAL(style.colour, colour);
ASSIGN_OPTIONAL(style.pattern, pattern);
ASSIGN_OPTIONAL(style.startMarker, startMarker);
ASSIGN_OPTIONAL(style.endMarker, endMarker);
ASSIGN_OPTIONAL(style.cap, cap);
ASSIGN_OPTIONAL(style.rounding, rounding);
ASSIGN_OPTIONAL(style.qsLineColour, qsLineColour);
ASSIGN_OPTIONAL(style.qsLineMatrix, qsLineMatrix);
}
std::optional<double> width;
std::optional<Colour> colour;
std::optional<unsigned char> pattern;
std::optional<unsigned char> startMarker;
std::optional<unsigned char> endMarker;
std::optional<unsigned char> cap;
std::optional<double> rounding;
std::optional<long> qsLineColour;
std::optional<long> qsLineMatrix;
};
struct VSDLineStyle
{
VSDLineStyle() :
width(0.01), colour(), pattern(1), startMarker(0), endMarker(0), cap(0),
rounding(0.0), qsLineColour(-1), qsLineMatrix(-1) {}
VSDLineStyle(double w, Colour col, unsigned char p, unsigned char sm,
unsigned char em, unsigned char c, double r, long qlc, long qlm) :
width(w), colour(col), pattern(p), startMarker(sm), endMarker(em), cap(c),
rounding(r), qsLineColour(qlc), qsLineMatrix(qlm) {}
VSDLineStyle(const VSDLineStyle &style) = default;
~VSDLineStyle() {}
VSDLineStyle &operator=(const VSDLineStyle &style) = default;
void override(const VSDOptionalLineStyle &style, const VSDXTheme *theme)
{
ASSIGN_OPTIONAL(style.width, width);
ASSIGN_OPTIONAL(style.pattern, pattern);
ASSIGN_OPTIONAL(style.startMarker, startMarker);
ASSIGN_OPTIONAL(style.endMarker, endMarker);
ASSIGN_OPTIONAL(style.cap, cap);
ASSIGN_OPTIONAL(style.rounding, rounding);
ASSIGN_OPTIONAL(style.qsLineColour, qsLineColour);
ASSIGN_OPTIONAL(style.qsLineMatrix, qsLineMatrix);
if (theme)
{
if (!!style.qsLineColour && style.qsLineColour.value() >= 0)
ASSIGN_OPTIONAL(theme->getThemeColour(style.qsLineColour.value()), colour);
}
ASSIGN_OPTIONAL(style.colour, colour);
}
double width;
Colour colour;
unsigned char pattern;
unsigned char startMarker;
unsigned char endMarker;
unsigned char cap;
double rounding;
long qsLineColour;
long qsLineMatrix;
};
struct VSDOptionalFillStyle
{
VSDOptionalFillStyle() :
fgColour(), bgColour(), pattern(), fgTransparency(), bgTransparency(), shadowFgColour(),
shadowPattern(), shadowOffsetX(), shadowOffsetY(), qsFillColour(), qsShadowColour(),
qsFillMatrix(), variationColorIndex(), variationStyleIndex() {}
VSDOptionalFillStyle(const std::optional<Colour> &fgc, const std::optional<Colour> &bgc,
const std::optional<unsigned char> &p, const std::optional<double> &fga,
const std::optional<double> &bga, const std::optional<Colour> &sfgc,
const std::optional<unsigned char> &shp, const std::optional<double> &shX,
const std::optional<double> &shY, const std::optional<long> &qsFc,
const std::optional<long> &qsSc, const std::optional<long> &qsFm,
const std::optional<unsigned> &vCIn, const std::optional<unsigned> &vSIn) :
fgColour(fgc), bgColour(bgc), pattern(p), fgTransparency(fga), bgTransparency(bga),
shadowFgColour(sfgc), shadowPattern(shp), shadowOffsetX(shX), shadowOffsetY(shY),
qsFillColour(qsFc), qsShadowColour(qsSc), qsFillMatrix(qsFm), variationColorIndex(vCIn),
variationStyleIndex(vSIn) {}
VSDOptionalFillStyle(const VSDOptionalFillStyle &style) = default;
~VSDOptionalFillStyle() {}
VSDOptionalFillStyle &operator=(const VSDOptionalFillStyle &style) = default;
void override(const VSDOptionalFillStyle &style)
{
ASSIGN_OPTIONAL(style.pattern, pattern);
ASSIGN_OPTIONAL(style.fgTransparency, fgTransparency);
ASSIGN_OPTIONAL(style.bgTransparency, bgTransparency);
ASSIGN_OPTIONAL(style.shadowPattern, shadowPattern);
ASSIGN_OPTIONAL(style.shadowOffsetX, shadowOffsetX);
ASSIGN_OPTIONAL(style.shadowOffsetY, shadowOffsetY);
ASSIGN_OPTIONAL(style.qsFillColour, qsFillColour);
ASSIGN_OPTIONAL(style.qsShadowColour, qsShadowColour);
ASSIGN_OPTIONAL(style.qsFillMatrix, qsFillMatrix);
ASSIGN_OPTIONAL(style.fgColour, fgColour);
ASSIGN_OPTIONAL(style.bgColour, bgColour);
ASSIGN_OPTIONAL(style.shadowFgColour, shadowFgColour);
ASSIGN_OPTIONAL(style.variationColorIndex, variationColorIndex);
ASSIGN_OPTIONAL(style.variationStyleIndex, variationStyleIndex);
}
std::optional<Colour> fgColour;
std::optional<Colour> bgColour;
std::optional<unsigned char> pattern;
std::optional<double> fgTransparency;
std::optional<double> bgTransparency;
std::optional<Colour> shadowFgColour;
std::optional<unsigned char> shadowPattern;
std::optional<double> shadowOffsetX;
std::optional<double> shadowOffsetY;
std::optional<long> qsFillColour;
std::optional<long> qsShadowColour;
std::optional<long> qsFillMatrix;
std::optional<unsigned> variationColorIndex;
std::optional<unsigned> variationStyleIndex;
};
struct VSDFillStyle
{
VSDFillStyle()
: fgColour(), bgColour(0xff, 0xff, 0xff, 0), pattern(0), fgTransparency(0),
bgTransparency(0), shadowFgColour(), shadowPattern(0), shadowOffsetX(0),
shadowOffsetY(0), qsFillColour(100), qsShadowColour(100), qsFillMatrix(-1),
variationColorIndex(0), variationStyleIndex(0) {}
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, unsigned vCIn, unsigned vSIn)
: fgColour(fgc), bgColour(bgc), pattern(p), fgTransparency(fga), bgTransparency(bga),
shadowFgColour(sfgc), shadowPattern(shp), shadowOffsetX(shX), shadowOffsetY(shY),
qsFillColour(qsFc), qsShadowColour(qsSc), qsFillMatrix(qsFm), variationColorIndex(vCIn),
variationStyleIndex(vSIn) {}
VSDFillStyle(const VSDFillStyle &style) = default;
~VSDFillStyle() {}
VSDFillStyle &operator=(const VSDFillStyle &style) = default;
void override(const VSDOptionalFillStyle &style, const VSDXTheme *theme)
{
ASSIGN_OPTIONAL(style.pattern, pattern);
ASSIGN_OPTIONAL(style.fgTransparency, fgTransparency);
ASSIGN_OPTIONAL(style.bgTransparency, bgTransparency);
ASSIGN_OPTIONAL(style.shadowPattern, shadowPattern);
ASSIGN_OPTIONAL(style.shadowOffsetX, shadowOffsetX);
ASSIGN_OPTIONAL(style.shadowOffsetY, shadowOffsetY);
ASSIGN_OPTIONAL(style.shadowOffsetY, shadowOffsetY);
ASSIGN_OPTIONAL(style.qsFillColour, qsFillColour);
ASSIGN_OPTIONAL(style.qsShadowColour, qsShadowColour);
ASSIGN_OPTIONAL(style.qsFillMatrix, qsFillMatrix);
ASSIGN_OPTIONAL(style.variationColorIndex, variationColorIndex);
ASSIGN_OPTIONAL(style.variationStyleIndex, variationStyleIndex);
if (theme)
{
// Quick Style Colour 100 is special. It is the default,
// and it is not saved explicitely in the VSDX file.
ASSIGN_OPTIONAL(theme->getThemeColour(qsFillColour, variationColorIndex), fgColour);
ASSIGN_OPTIONAL(theme->getThemeColour(qsFillColour, variationColorIndex), bgColour);
ASSIGN_OPTIONAL(theme->getThemeColour(qsShadowColour, variationColorIndex), shadowFgColour);
if (!!style.qsFillMatrix && style.qsFillMatrix.value() >= 0)
{
ASSIGN_OPTIONAL(theme->getFillStyleColour(style.qsFillMatrix.value()), fgColour);
if (style.qsFillMatrix.value() > static_cast<long>(theme->getFillStyleLstSize()))
ASSIGN_OPTIONAL(theme->getStyleColour(qsFillColour, variationStyleIndex), fgColour);
}
else
ASSIGN_OPTIONAL(theme->getStyleColour(qsFillColour, variationStyleIndex), fgColour);
}
ASSIGN_OPTIONAL(style.fgColour, fgColour);
ASSIGN_OPTIONAL(style.bgColour, bgColour);
ASSIGN_OPTIONAL(style.shadowFgColour, shadowFgColour);
}
Colour fgColour;
Colour bgColour;
unsigned char pattern;
double fgTransparency;
double bgTransparency;
Colour shadowFgColour;
unsigned char shadowPattern;
double shadowOffsetX;
double shadowOffsetY;
long qsFillColour;
long qsShadowColour;
long qsFillMatrix;
unsigned variationColorIndex;
unsigned variationStyleIndex;
};
struct VSDOptionalCharStyle
{
VSDOptionalCharStyle()
: charCount(0), font(), colour(), size(), bold(), italic(),
underline(), doubleunderline(), strikeout(), doublestrikeout(),
allcaps(), initcaps(), smallcaps(), superscript(), subscript(),
scaleWidth() {}
VSDOptionalCharStyle(unsigned cc, const std::optional<VSDName> &ft,
const std::optional<Colour> &c, const std::optional<double> &s,
const std::optional<bool> &b, const std::optional<bool> &i,
const std::optional<bool> &u, const std::optional<bool> &du,
const std::optional<bool> &so, const std::optional<bool> &dso,
const std::optional<bool> &ac, const std::optional<bool> &ic,
const std::optional<bool> &sc, const std::optional<bool> &super,
const std::optional<bool> &sub, const std::optional<double> &sw) :
charCount(cc), font(ft), colour(c), size(s), bold(b), italic(i),
underline(u), doubleunderline(du), strikeout(so), doublestrikeout(dso),
allcaps(ac), initcaps(ic), smallcaps(sc), superscript(super),
subscript(sub), scaleWidth(sw) {}
VSDOptionalCharStyle(const VSDOptionalCharStyle &style) = default;
~VSDOptionalCharStyle() {}
VSDOptionalCharStyle &operator=(const VSDOptionalCharStyle &style) = default;
void override(const VSDOptionalCharStyle &style)
{
ASSIGN_OPTIONAL(style.font, font);
ASSIGN_OPTIONAL(style.colour, colour);
ASSIGN_OPTIONAL(style.size, size);
ASSIGN_OPTIONAL(style.bold, bold);
ASSIGN_OPTIONAL(style.italic, italic);
ASSIGN_OPTIONAL(style.underline, underline);
ASSIGN_OPTIONAL(style.doubleunderline, doubleunderline);
ASSIGN_OPTIONAL(style.strikeout, strikeout);
ASSIGN_OPTIONAL(style.doublestrikeout, doublestrikeout);
ASSIGN_OPTIONAL(style.allcaps, allcaps);
ASSIGN_OPTIONAL(style.initcaps, initcaps);
ASSIGN_OPTIONAL(style.smallcaps, smallcaps);
ASSIGN_OPTIONAL(style.superscript, superscript);
ASSIGN_OPTIONAL(style.subscript, subscript);
ASSIGN_OPTIONAL(style.scaleWidth, scaleWidth);
}
unsigned charCount;
std::optional<VSDName> font;
std::optional<Colour> colour;
std::optional<double> size;
std::optional<bool> bold;
std::optional<bool> italic;
std::optional<bool> underline;
std::optional<bool> doubleunderline;
std::optional<bool> strikeout;
std::optional<bool> doublestrikeout;
std::optional<bool> allcaps;
std::optional<bool> initcaps;
std::optional<bool> smallcaps;
std::optional<bool> superscript;
std::optional<bool> subscript;
std::optional<double> scaleWidth;
};
struct VSDCharStyle
{
VSDCharStyle()
: charCount(0), font(), colour(), size(12.0/72.0), bold(false),
italic(false), underline(false), doubleunderline(false),
strikeout(false), doublestrikeout(false), allcaps(false),
initcaps(false), smallcaps(false), superscript(false),
subscript(false), scaleWidth(1.0) {}
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) :
charCount(cc), font(ft), colour(c), size(s), bold(b), italic(i),
underline(u), doubleunderline(du), strikeout(so), doublestrikeout(dso),
allcaps(ac), initcaps(ic), smallcaps(sc), superscript(super),
subscript(sub), scaleWidth(sw) {}
VSDCharStyle(const VSDCharStyle &style) = default;
~VSDCharStyle() {}
VSDCharStyle &operator=(const VSDCharStyle &style) = default;
void override(const VSDOptionalCharStyle &style, const VSDXTheme * /* theme */)
{
ASSIGN_OPTIONAL(style.font, font);
ASSIGN_OPTIONAL(style.colour, colour);
ASSIGN_OPTIONAL(style.size, size);
ASSIGN_OPTIONAL(style.bold, bold);
ASSIGN_OPTIONAL(style.italic, italic);
ASSIGN_OPTIONAL(style.underline, underline);
ASSIGN_OPTIONAL(style.doubleunderline, doubleunderline);
ASSIGN_OPTIONAL(style.strikeout, strikeout);
ASSIGN_OPTIONAL(style.doublestrikeout, doublestrikeout);
ASSIGN_OPTIONAL(style.allcaps, allcaps);
ASSIGN_OPTIONAL(style.initcaps, initcaps);
ASSIGN_OPTIONAL(style.smallcaps, smallcaps);
ASSIGN_OPTIONAL(style.superscript, superscript);
ASSIGN_OPTIONAL(style.subscript, subscript);
ASSIGN_OPTIONAL(style.scaleWidth, scaleWidth);
}
unsigned charCount;
VSDName font;
Colour colour;
double size;
bool bold;
bool italic;
bool underline;
bool doubleunderline;
bool strikeout;
bool doublestrikeout;
bool allcaps;
bool initcaps;
bool smallcaps;
bool superscript;
bool subscript;
double scaleWidth;
};
struct VSDOptionalParaStyle
{
VSDOptionalParaStyle() :
charCount(0), indFirst(), indLeft(), indRight(), spLine(), spBefore(), spAfter(), align(), bullet(),
bulletStr(), bulletFont(), bulletFontSize(0.0), textPosAfterBullet(0.0), flags() {}
VSDOptionalParaStyle(unsigned cc, const std::optional<double> &ifst, const std::optional<double> &il,
const std::optional<double> &ir, const std::optional<double> &sl,
const std::optional<double> &sb, const std::optional<double> &sa,
const std::optional<unsigned char> &a, const std::optional<unsigned char> &b,
const std::optional<VSDName> &bs, const std::optional<VSDName> &bf,
const std::optional<double> bfs, const std::optional<double> &tpab,
const std::optional<unsigned> &f) :
charCount(cc), indFirst(ifst), indLeft(il), indRight(ir), spLine(sl), spBefore(sb), spAfter(sa),
align(a), bullet(b), bulletStr(bs), bulletFont(bf), bulletFontSize(bfs),
textPosAfterBullet(tpab), flags(f) {}
VSDOptionalParaStyle(const VSDOptionalParaStyle &style) = default;
~VSDOptionalParaStyle() {}
VSDOptionalParaStyle &operator=(const VSDOptionalParaStyle &style) = default;
void override(const VSDOptionalParaStyle &style)
{
ASSIGN_OPTIONAL(style.indFirst, indFirst);
ASSIGN_OPTIONAL(style.indLeft, indLeft);
ASSIGN_OPTIONAL(style.indRight,indRight);
ASSIGN_OPTIONAL(style.spLine, spLine);
ASSIGN_OPTIONAL(style.spBefore, spBefore);
ASSIGN_OPTIONAL(style.spAfter, spAfter);
ASSIGN_OPTIONAL(style.align, align);
ASSIGN_OPTIONAL(style.bullet, bullet);
ASSIGN_OPTIONAL(style.bulletStr, bulletStr);
ASSIGN_OPTIONAL(style.bulletFont, bulletFont);
ASSIGN_OPTIONAL(style.bulletFontSize, bulletFontSize);
ASSIGN_OPTIONAL(style.textPosAfterBullet, textPosAfterBullet);
ASSIGN_OPTIONAL(style.flags, flags);
}
unsigned charCount;
std::optional<double> indFirst;
std::optional<double> indLeft;
std::optional<double> indRight;
std::optional<double> spLine;
std::optional<double> spBefore;
std::optional<double> spAfter;
std::optional<unsigned char> align;
std::optional<unsigned char> bullet;
std::optional<VSDName> bulletStr;
std::optional<VSDName> bulletFont;
std::optional<double> bulletFontSize;
std::optional<double> textPosAfterBullet;
std::optional<unsigned> flags;
};
struct VSDParaStyle
{
VSDParaStyle() :
charCount(0), indFirst(0.0), indLeft(0.0), indRight(0.0), spLine(-1.2), spBefore(0.0), spAfter(0.0), align(1),
bullet(0), bulletStr(), bulletFont(), bulletFontSize(0.0), textPosAfterBullet(0.0), flags(0) {}
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) :
charCount(cc), indFirst(ifst), indLeft(il), indRight(ir), spLine(sl), spBefore(sb), spAfter(sa), align(a),
bullet(b), bulletStr(bs), bulletFont(bf), bulletFontSize(bfs), textPosAfterBullet(tpab), flags(f) {}
VSDParaStyle(const VSDParaStyle &style) = default;
~VSDParaStyle() {}
VSDParaStyle &operator=(const VSDParaStyle &style) = default;
void override(const VSDOptionalParaStyle &style, const VSDXTheme * /* theme */)
{
ASSIGN_OPTIONAL(style.indFirst, indFirst);
ASSIGN_OPTIONAL(style.indLeft, indLeft);
ASSIGN_OPTIONAL(style.indRight,indRight);
ASSIGN_OPTIONAL(style.spLine, spLine);
ASSIGN_OPTIONAL(style.spBefore, spBefore);
ASSIGN_OPTIONAL(style.spAfter, spAfter);
ASSIGN_OPTIONAL(style.align, align);
ASSIGN_OPTIONAL(style.bullet, bullet);
ASSIGN_OPTIONAL(style.bulletStr, bulletStr);
ASSIGN_OPTIONAL(style.bulletFont, bulletFont);
ASSIGN_OPTIONAL(style.bulletFontSize, bulletFontSize);
ASSIGN_OPTIONAL(style.textPosAfterBullet, textPosAfterBullet);
ASSIGN_OPTIONAL(style.flags, flags);
}
unsigned charCount;
double indFirst;
double indLeft;
double indRight;
double spLine;
double spBefore;
double spAfter;
unsigned char align;
unsigned char bullet;
VSDName bulletStr;
VSDName bulletFont;
double bulletFontSize;
double textPosAfterBullet;
unsigned flags;
};
struct VSDOptionalTextBlockStyle
{
VSDOptionalTextBlockStyle() :
leftMargin(), rightMargin(), topMargin(), bottomMargin(), verticalAlign(), isTextBkgndFilled(),
textBkgndColour(), defaultTabStop(), textDirection() {}
VSDOptionalTextBlockStyle(const std::optional<double> &lm, const std::optional<double> &rm,
const std::optional<double> &tm, const std::optional<double> &bm,
const std::optional<unsigned char> &va, const std::optional<bool> &isBgFilled,
const std::optional<Colour> &bgClr, const std::optional<double> &defTab,
const std::optional<unsigned char> &td) :
leftMargin(lm), rightMargin(rm), topMargin(tm), bottomMargin(bm), verticalAlign(va),
isTextBkgndFilled(isBgFilled), textBkgndColour(bgClr), defaultTabStop(defTab), textDirection(td) {}
VSDOptionalTextBlockStyle(const VSDOptionalTextBlockStyle &style) = default;
~VSDOptionalTextBlockStyle() {}
VSDOptionalTextBlockStyle &operator=(const VSDOptionalTextBlockStyle &style) = default;
void override(const VSDOptionalTextBlockStyle &style)
{
ASSIGN_OPTIONAL(style.leftMargin, leftMargin);
ASSIGN_OPTIONAL(style.rightMargin, rightMargin);
ASSIGN_OPTIONAL(style.topMargin, topMargin);
ASSIGN_OPTIONAL(style.bottomMargin, bottomMargin);
ASSIGN_OPTIONAL(style.verticalAlign, verticalAlign);
ASSIGN_OPTIONAL(style.isTextBkgndFilled, isTextBkgndFilled);
ASSIGN_OPTIONAL(style.textBkgndColour, textBkgndColour);
ASSIGN_OPTIONAL(style.defaultTabStop, defaultTabStop);
ASSIGN_OPTIONAL(style.textDirection, textDirection);
}
std::optional<double> leftMargin;
std::optional<double> rightMargin;
std::optional<double> topMargin;
std::optional<double> bottomMargin;
std::optional<unsigned char> verticalAlign;
std::optional<bool> isTextBkgndFilled;
std::optional<Colour> textBkgndColour;
std::optional<double> defaultTabStop;
std::optional<unsigned char> textDirection;
};
struct VSDTextBlockStyle
{
VSDTextBlockStyle() :
leftMargin(0.0), rightMargin(0.0), topMargin(0.0), bottomMargin(0.0), verticalAlign(1),
isTextBkgndFilled(false), textBkgndColour(0xff,0xff,0xff,0), defaultTabStop(0.5), textDirection(0) {}
VSDTextBlockStyle(double lm, double rm, double tm, double bm, unsigned char va,
bool isBgFilled, Colour bgClr, double defTab, unsigned char td) :
leftMargin(lm), rightMargin(rm), topMargin(tm), bottomMargin(bm), verticalAlign(va),
isTextBkgndFilled(isBgFilled), textBkgndColour(bgClr), defaultTabStop(defTab), textDirection(td) {}
VSDTextBlockStyle(const VSDTextBlockStyle &style) = default;
~VSDTextBlockStyle() {}
VSDTextBlockStyle &operator=(const VSDTextBlockStyle &style) = default;
void override(const VSDOptionalTextBlockStyle &style, const VSDXTheme * /* theme */)
{
ASSIGN_OPTIONAL(style.leftMargin, leftMargin);
ASSIGN_OPTIONAL(style.rightMargin, rightMargin);
ASSIGN_OPTIONAL(style.topMargin, topMargin);
ASSIGN_OPTIONAL(style.bottomMargin, bottomMargin);
ASSIGN_OPTIONAL(style.verticalAlign, verticalAlign);
ASSIGN_OPTIONAL(style.isTextBkgndFilled, isTextBkgndFilled);
ASSIGN_OPTIONAL(style.textBkgndColour, textBkgndColour);
ASSIGN_OPTIONAL(style.defaultTabStop, defaultTabStop);
ASSIGN_OPTIONAL(style.textDirection, textDirection);
}
double leftMargin;
double rightMargin;
double topMargin;
double bottomMargin;
unsigned char verticalAlign;
bool isTextBkgndFilled;
Colour textBkgndColour;
double defaultTabStop;
unsigned char textDirection;
};
class VSDStyles
{
public:
VSDStyles();
VSDStyles(const VSDStyles &styles) = default;
~VSDStyles();
VSDStyles &operator=(const VSDStyles &styles) = default;
void addLineStyle(unsigned lineStyleIndex, const VSDOptionalLineStyle &lineStyle);
void addFillStyle(unsigned fillStyleIndex, const VSDOptionalFillStyle &fillStyle);
void addTextBlockStyle(unsigned textStyleIndex, const VSDOptionalTextBlockStyle &textBlockStyle);
void addCharStyle(unsigned textStyleIndex, const VSDOptionalCharStyle &charStyle);
void addParaStyle(unsigned textStyleIndex, const VSDOptionalParaStyle &paraStyle);
void addLineStyleMaster(unsigned lineStyleIndex, unsigned lineStyleMaster);
void addFillStyleMaster(unsigned fillStyleIndex, unsigned fillStyleMaster);
void addTextStyleMaster(unsigned textStyleIndex, unsigned textStyleMaster);
VSDOptionalLineStyle getOptionalLineStyle(unsigned lineStyleIndex) const;
VSDFillStyle getFillStyle(unsigned fillStyleIndex, const VSDXTheme *theme) const;
VSDOptionalFillStyle getOptionalFillStyle(unsigned fillStyleIndex) const;
VSDOptionalTextBlockStyle getOptionalTextBlockStyle(unsigned textStyleIndex) const;
VSDOptionalCharStyle getOptionalCharStyle(unsigned textStyleIndex) const;
VSDOptionalParaStyle getOptionalParaStyle(unsigned textStyleIndex) const;
private:
std::map<unsigned, VSDOptionalLineStyle> m_lineStyles;
std::map<unsigned, VSDOptionalFillStyle> m_fillStyles;
std::map<unsigned, VSDOptionalTextBlockStyle> m_textBlockStyles;
std::map<unsigned, VSDOptionalCharStyle> m_charStyles;
std::map<unsigned, VSDOptionalParaStyle> m_paraStyles;
std::map<unsigned, unsigned> m_lineStyleMasters;
std::map<unsigned, unsigned> m_fillStyleMasters;
std::map<unsigned, unsigned> m_textStyleMasters;
};
} // namespace libvisio
#endif // __VSDSTYLES_H__
/* vim:set shiftwidth=2 softtabstop=2 expandtab: */
VSDTypes.h
ASSIGN_OPTIONAL
#define ASSIGN_OPTIONAL(t, u)
Definition VSDTypes.h:17
VSDXTheme.h
libvisio::VSDName
Definition VSDTypes.h:171
libvisio::VSDStyles::m_fillStyleMasters
std::map< unsigned, unsigned > m_fillStyleMasters
Definition VSDStyles.h:542
libvisio::VSDStyles::addLineStyle
void addLineStyle(unsigned lineStyleIndex, const VSDOptionalLineStyle &lineStyle)
Definition VSDStyles.cpp:68
libvisio::VSDStyles::addTextStyleMaster
void addTextStyleMaster(unsigned textStyleIndex, unsigned textStyleMaster)
Definition VSDStyles.cpp:103
libvisio::VSDStyles::m_paraStyles
std::map< unsigned, VSDOptionalParaStyle > m_paraStyles
Definition VSDStyles.h:540
libvisio::VSDStyles::getOptionalTextBlockStyle
VSDOptionalTextBlockStyle getOptionalTextBlockStyle(unsigned textStyleIndex) const
Definition VSDStyles.cpp:125
libvisio::VSDStyles::m_fillStyles
std::map< unsigned, VSDOptionalFillStyle > m_fillStyles
Definition VSDStyles.h:537
libvisio::VSDStyles::m_textStyleMasters
std::map< unsigned, unsigned > m_textStyleMasters
Definition VSDStyles.h:543
libvisio::VSDStyles::addParaStyle
void addParaStyle(unsigned textStyleIndex, const VSDOptionalParaStyle &paraStyle)
Definition VSDStyles.cpp:88
libvisio::VSDStyles::VSDStyles
VSDStyles()
Definition VSDStyles.cpp:58
libvisio::VSDStyles::getOptionalLineStyle
VSDOptionalLineStyle getOptionalLineStyle(unsigned lineStyleIndex) const
Definition VSDStyles.cpp:108
libvisio::VSDStyles::addFillStyle
void addFillStyle(unsigned fillStyleIndex, const VSDOptionalFillStyle &fillStyle)
Definition VSDStyles.cpp:73
libvisio::VSDStyles::m_lineStyles
std::map< unsigned, VSDOptionalLineStyle > m_lineStyles
Definition VSDStyles.h:536
libvisio::VSDStyles::getFillStyle
VSDFillStyle getFillStyle(unsigned fillStyleIndex, const VSDXTheme *theme) const
Definition VSDStyles.cpp:118
libvisio::VSDStyles::~VSDStyles
~VSDStyles()
Definition VSDStyles.cpp:64
libvisio::VSDStyles::VSDStyles
VSDStyles(const VSDStyles &styles)=default
libvisio::VSDStyles::m_textBlockStyles
std::map< unsigned, VSDOptionalTextBlockStyle > m_textBlockStyles
Definition VSDStyles.h:538
libvisio::VSDStyles::getOptionalCharStyle
VSDOptionalCharStyle getOptionalCharStyle(unsigned textStyleIndex) const
Definition VSDStyles.cpp:130
libvisio::VSDStyles::addFillStyleMaster
void addFillStyleMaster(unsigned fillStyleIndex, unsigned fillStyleMaster)
Definition VSDStyles.cpp:98
libvisio::VSDStyles::getOptionalParaStyle
VSDOptionalParaStyle getOptionalParaStyle(unsigned textStyleIndex) const
Definition VSDStyles.cpp:135
libvisio::VSDStyles::addCharStyle
void addCharStyle(unsigned textStyleIndex, const VSDOptionalCharStyle &charStyle)
Definition VSDStyles.cpp:83
libvisio::VSDStyles::m_charStyles
std::map< unsigned, VSDOptionalCharStyle > m_charStyles
Definition VSDStyles.h:539
libvisio::VSDStyles::m_lineStyleMasters
std::map< unsigned, unsigned > m_lineStyleMasters
Definition VSDStyles.h:541
libvisio::VSDStyles::getOptionalFillStyle
VSDOptionalFillStyle getOptionalFillStyle(unsigned fillStyleIndex) const
Definition VSDStyles.cpp:113
libvisio::VSDStyles::addTextBlockStyle
void addTextBlockStyle(unsigned textStyleIndex, const VSDOptionalTextBlockStyle &textBlockStyle)
Definition VSDStyles.cpp:78
libvisio::VSDStyles::operator=
VSDStyles & operator=(const VSDStyles &styles)=default
libvisio::VSDStyles::addLineStyleMaster
void addLineStyleMaster(unsigned lineStyleIndex, unsigned lineStyleMaster)
Definition VSDStyles.cpp:93
libvisio::VSDXTheme
Definition VSDXTheme.h:85
libvisio_utils.h
libvisio
Definition libvisio_utils.h:47
libvisio::Colour
Definition VSDTypes.h:71
libvisio::VSDCharStyle::size
double size
Definition VSDStyles.h:324
libvisio::VSDCharStyle::smallcaps
bool smallcaps
Definition VSDStyles.h:333
libvisio::VSDCharStyle::strikeout
bool strikeout
Definition VSDStyles.h:329
libvisio::VSDCharStyle::doubleunderline
bool doubleunderline
Definition VSDStyles.h:328
libvisio::VSDCharStyle::VSDCharStyle
VSDCharStyle()
Definition VSDStyles.h:286
libvisio::VSDCharStyle::superscript
bool superscript
Definition VSDStyles.h:334
libvisio::VSDCharStyle::~VSDCharStyle
~VSDCharStyle()
Definition VSDStyles.h:300
libvisio::VSDCharStyle::charCount
unsigned charCount
Definition VSDStyles.h:321
libvisio::VSDCharStyle::colour
Colour colour
Definition VSDStyles.h:323
libvisio::VSDCharStyle::initcaps
bool initcaps
Definition VSDStyles.h:332
libvisio::VSDCharStyle::bold
bool bold
Definition VSDStyles.h:325
libvisio::VSDCharStyle::italic
bool italic
Definition VSDStyles.h:326
libvisio::VSDCharStyle::subscript
bool subscript
Definition VSDStyles.h:335
libvisio::VSDCharStyle::scaleWidth
double scaleWidth
Definition VSDStyles.h:336
libvisio::VSDCharStyle::VSDCharStyle
VSDCharStyle(const VSDCharStyle &style)=default
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, double sw)
Definition VSDStyles.h:292
libvisio::VSDCharStyle::underline
bool underline
Definition VSDStyles.h:327
libvisio::VSDCharStyle::doublestrikeout
bool doublestrikeout
Definition VSDStyles.h:330
libvisio::VSDCharStyle::allcaps
bool allcaps
Definition VSDStyles.h:331
libvisio::VSDCharStyle::font
VSDName font
Definition VSDStyles.h:322
libvisio::VSDCharStyle::operator=
VSDCharStyle & operator=(const VSDCharStyle &style)=default
libvisio::VSDFillStyle
Definition VSDStyles.h:158
libvisio::VSDFillStyle::~VSDFillStyle
~VSDFillStyle()
Definition VSDStyles.h:172
libvisio::VSDFillStyle::bgColour
Colour bgColour
Definition VSDStyles.h:210
libvisio::VSDFillStyle::qsFillMatrix
long qsFillMatrix
Definition VSDStyles.h:220
libvisio::VSDFillStyle::variationStyleIndex
unsigned variationStyleIndex
Definition VSDStyles.h:222
libvisio::VSDFillStyle::shadowOffsetY
double shadowOffsetY
Definition VSDStyles.h:217
libvisio::VSDFillStyle::fgColour
Colour fgColour
Definition VSDStyles.h:209
libvisio::VSDFillStyle::bgTransparency
double bgTransparency
Definition VSDStyles.h:213
libvisio::VSDFillStyle::VSDFillStyle
VSDFillStyle(const VSDFillStyle &style)=default
libvisio::VSDFillStyle::variationColorIndex
unsigned variationColorIndex
Definition VSDStyles.h:221
libvisio::VSDFillStyle::shadowPattern
unsigned char shadowPattern
Definition VSDStyles.h:215
libvisio::VSDFillStyle::shadowOffsetX
double shadowOffsetX
Definition VSDStyles.h:216
libvisio::VSDFillStyle::pattern
unsigned char pattern
Definition VSDStyles.h:211
libvisio::VSDFillStyle::operator=
VSDFillStyle & operator=(const VSDFillStyle &style)=default
libvisio::VSDFillStyle::qsFillColour
long qsFillColour
Definition VSDStyles.h:218
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, long qsFc, long qsSc, long qsFm, unsigned vCIn, unsigned vSIn)
Definition VSDStyles.h:164
libvisio::VSDFillStyle::fgTransparency
double fgTransparency
Definition VSDStyles.h:212
libvisio::VSDFillStyle::shadowFgColour
Colour shadowFgColour
Definition VSDStyles.h:214
libvisio::VSDFillStyle::VSDFillStyle
VSDFillStyle()
Definition VSDStyles.h:159
libvisio::VSDFillStyle::qsShadowColour
long qsShadowColour
Definition VSDStyles.h:219
libvisio::VSDLineStyle::~VSDLineStyle
~VSDLineStyle()
Definition VSDStyles.h:72
libvisio::VSDLineStyle::colour
Colour colour
Definition VSDStyles.h:93
libvisio::VSDLineStyle::rounding
double rounding
Definition VSDStyles.h:98
libvisio::VSDLineStyle::cap
unsigned char cap
Definition VSDStyles.h:97
libvisio::VSDLineStyle::VSDLineStyle
VSDLineStyle()
Definition VSDStyles.h:64
libvisio::VSDLineStyle::width
double width
Definition VSDStyles.h:92
libvisio::VSDLineStyle::qsLineColour
long qsLineColour
Definition VSDStyles.h:99
libvisio::VSDLineStyle::operator=
VSDLineStyle & operator=(const VSDLineStyle &style)=default
libvisio::VSDLineStyle::endMarker
unsigned char endMarker
Definition VSDStyles.h:96
libvisio::VSDLineStyle::startMarker
unsigned char startMarker
Definition VSDStyles.h:95
libvisio::VSDLineStyle::qsLineMatrix
long qsLineMatrix
Definition VSDStyles.h:100
libvisio::VSDLineStyle::VSDLineStyle
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
libvisio::VSDLineStyle::VSDLineStyle
VSDLineStyle(const VSDLineStyle &style)=default
libvisio::VSDLineStyle::pattern
unsigned char pattern
Definition VSDStyles.h:94
libvisio::VSDOptionalCharStyle
Definition VSDStyles.h:226
libvisio::VSDOptionalCharStyle::font
std::optional< VSDName > font
Definition VSDStyles.h:267
libvisio::VSDOptionalCharStyle::allcaps
std::optional< bool > allcaps
Definition VSDStyles.h:276
libvisio::VSDOptionalCharStyle::italic
std::optional< bool > italic
Definition VSDStyles.h:271
libvisio::VSDOptionalCharStyle::superscript
std::optional< bool > superscript
Definition VSDStyles.h:279
libvisio::VSDOptionalCharStyle::VSDOptionalCharStyle
VSDOptionalCharStyle(unsigned cc, const std::optional< VSDName > &ft, const std::optional< Colour > &c, const std::optional< double > &s, const std::optional< bool > &b, const std::optional< bool > &i, const std::optional< bool > &u, const std::optional< bool > &du, const std::optional< bool > &so, const std::optional< bool > &dso, const std::optional< bool > &ac, const std::optional< bool > &ic, const std::optional< bool > &sc, const std::optional< bool > &super, const std::optional< bool > &sub, const std::optional< double > &sw)
Definition VSDStyles.h:232
libvisio::VSDOptionalCharStyle::operator=
VSDOptionalCharStyle & operator=(const VSDOptionalCharStyle &style)=default
libvisio::VSDOptionalCharStyle::underline
std::optional< bool > underline
Definition VSDStyles.h:272
libvisio::VSDOptionalCharStyle::size
std::optional< double > size
Definition VSDStyles.h:269
libvisio::VSDOptionalCharStyle::VSDOptionalCharStyle
VSDOptionalCharStyle(const VSDOptionalCharStyle &style)=default
libvisio::VSDOptionalCharStyle::smallcaps
std::optional< bool > smallcaps
Definition VSDStyles.h:278
libvisio::VSDOptionalCharStyle::charCount
unsigned charCount
Definition VSDStyles.h:266
libvisio::VSDOptionalCharStyle::strikeout
std::optional< bool > strikeout
Definition VSDStyles.h:274
libvisio::VSDOptionalCharStyle::bold
std::optional< bool > bold
Definition VSDStyles.h:270
libvisio::VSDOptionalCharStyle::scaleWidth
std::optional< double > scaleWidth
Definition VSDStyles.h:281
libvisio::VSDOptionalCharStyle::subscript
std::optional< bool > subscript
Definition VSDStyles.h:280
libvisio::VSDOptionalCharStyle::doublestrikeout
std::optional< bool > doublestrikeout
Definition VSDStyles.h:275
libvisio::VSDOptionalCharStyle::doubleunderline
std::optional< bool > doubleunderline
Definition VSDStyles.h:273
libvisio::VSDOptionalCharStyle::VSDOptionalCharStyle
VSDOptionalCharStyle()
Definition VSDStyles.h:227
libvisio::VSDOptionalCharStyle::~VSDOptionalCharStyle
~VSDOptionalCharStyle()
Definition VSDStyles.h:245
libvisio::VSDOptionalCharStyle::initcaps
std::optional< bool > initcaps
Definition VSDStyles.h:277
libvisio::VSDOptionalCharStyle::colour
std::optional< Colour > colour
Definition VSDStyles.h:268
libvisio::VSDOptionalFillStyle
Definition VSDStyles.h:104
libvisio::VSDOptionalFillStyle::pattern
std::optional< unsigned char > pattern
Definition VSDStyles.h:143
libvisio::VSDOptionalFillStyle::qsShadowColour
std::optional< long > qsShadowColour
Definition VSDStyles.h:151
libvisio::VSDOptionalFillStyle::bgTransparency
std::optional< double > bgTransparency
Definition VSDStyles.h:145
libvisio::VSDOptionalFillStyle::shadowOffsetY
std::optional< double > shadowOffsetY
Definition VSDStyles.h:149
libvisio::VSDOptionalFillStyle::bgColour
std::optional< Colour > bgColour
Definition VSDStyles.h:142
libvisio::VSDOptionalFillStyle::qsFillColour
std::optional< long > qsFillColour
Definition VSDStyles.h:150
libvisio::VSDOptionalFillStyle::shadowOffsetX
std::optional< double > shadowOffsetX
Definition VSDStyles.h:148
libvisio::VSDOptionalFillStyle::VSDOptionalFillStyle
VSDOptionalFillStyle(const VSDOptionalFillStyle &style)=default
libvisio::VSDOptionalFillStyle::VSDOptionalFillStyle
VSDOptionalFillStyle()
Definition VSDStyles.h:105
libvisio::VSDOptionalFillStyle::shadowFgColour
std::optional< Colour > shadowFgColour
Definition VSDStyles.h:146
libvisio::VSDOptionalFillStyle::variationColorIndex
std::optional< unsigned > variationColorIndex
Definition VSDStyles.h:153
libvisio::VSDOptionalFillStyle::shadowPattern
std::optional< unsigned char > shadowPattern
Definition VSDStyles.h:147
libvisio::VSDOptionalFillStyle::VSDOptionalFillStyle
VSDOptionalFillStyle(const std::optional< Colour > &fgc, const std::optional< Colour > &bgc, const std::optional< unsigned char > &p, const std::optional< double > &fga, const std::optional< double > &bga, const std::optional< Colour > &sfgc, const std::optional< unsigned char > &shp, const std::optional< double > &shX, const std::optional< double > &shY, const std::optional< long > &qsFc, const std::optional< long > &qsSc, const std::optional< long > &qsFm, const std::optional< unsigned > &vCIn, const std::optional< unsigned > &vSIn)
Definition VSDStyles.h:109
libvisio::VSDOptionalFillStyle::operator=
VSDOptionalFillStyle & operator=(const VSDOptionalFillStyle &style)=default
libvisio::VSDOptionalFillStyle::qsFillMatrix
std::optional< long > qsFillMatrix
Definition VSDStyles.h:152
libvisio::VSDOptionalFillStyle::fgColour
std::optional< Colour > fgColour
Definition VSDStyles.h:141
libvisio::VSDOptionalFillStyle::~VSDOptionalFillStyle
~VSDOptionalFillStyle()
Definition VSDStyles.h:121
libvisio::VSDOptionalFillStyle::fgTransparency
std::optional< double > fgTransparency
Definition VSDStyles.h:144
libvisio::VSDOptionalFillStyle::variationStyleIndex
std::optional< unsigned > variationStyleIndex
Definition VSDStyles.h:154
libvisio::VSDOptionalLineStyle
Definition VSDStyles.h:24
libvisio::VSDOptionalLineStyle::VSDOptionalLineStyle
VSDOptionalLineStyle(const VSDOptionalLineStyle &style)=default
libvisio::VSDOptionalLineStyle::VSDOptionalLineStyle
VSDOptionalLineStyle()
Definition VSDStyles.h:25
libvisio::VSDOptionalLineStyle::rounding
std::optional< double > rounding
Definition VSDStyles.h:57
libvisio::VSDOptionalLineStyle::operator=
VSDOptionalLineStyle & operator=(const VSDOptionalLineStyle &style)=default
libvisio::VSDOptionalLineStyle::colour
std::optional< Colour > colour
Definition VSDStyles.h:52
libvisio::VSDOptionalLineStyle::qsLineMatrix
std::optional< long > qsLineMatrix
Definition VSDStyles.h:59
libvisio::VSDOptionalLineStyle::endMarker
std::optional< unsigned char > endMarker
Definition VSDStyles.h:55
libvisio::VSDOptionalLineStyle::~VSDOptionalLineStyle
~VSDOptionalLineStyle()
Definition VSDStyles.h:36
libvisio::VSDOptionalLineStyle::cap
std::optional< unsigned char > cap
Definition VSDStyles.h:56
libvisio::VSDOptionalLineStyle::VSDOptionalLineStyle
VSDOptionalLineStyle(const std::optional< double > &w, const std::optional< Colour > &col, const std::optional< unsigned char > &p, const std::optional< unsigned char > &sm, const std::optional< unsigned char > &em, const std::optional< unsigned char > &c, const std::optional< double > &r, const std::optional< long > &qlc, const std::optional< long > &qlm)
Definition VSDStyles.h:28
libvisio::VSDOptionalLineStyle::qsLineColour
std::optional< long > qsLineColour
Definition VSDStyles.h:58
libvisio::VSDOptionalLineStyle::startMarker
std::optional< unsigned char > startMarker
Definition VSDStyles.h:54
libvisio::VSDOptionalLineStyle::pattern
std::optional< unsigned char > pattern
Definition VSDStyles.h:53
libvisio::VSDOptionalLineStyle::width
std::optional< double > width
Definition VSDStyles.h:51
libvisio::VSDOptionalParaStyle
Definition VSDStyles.h:340
libvisio::VSDOptionalParaStyle::indRight
std::optional< double > indRight
Definition VSDStyles.h:377
libvisio::VSDOptionalParaStyle::align
std::optional< unsigned char > align
Definition VSDStyles.h:381
libvisio::VSDOptionalParaStyle::bullet
std::optional< unsigned char > bullet
Definition VSDStyles.h:382
libvisio::VSDOptionalParaStyle::bulletFontSize
std::optional< double > bulletFontSize
Definition VSDStyles.h:385
libvisio::VSDOptionalParaStyle::bulletStr
std::optional< VSDName > bulletStr
Definition VSDStyles.h:383
libvisio::VSDOptionalParaStyle::VSDOptionalParaStyle
VSDOptionalParaStyle(unsigned cc, const std::optional< double > &ifst, const std::optional< double > &il, const std::optional< double > &ir, const std::optional< double > &sl, const std::optional< double > &sb, const std::optional< double > &sa, const std::optional< unsigned char > &a, const std::optional< unsigned char > &b, const std::optional< VSDName > &bs, const std::optional< VSDName > &bf, const std::optional< double > bfs, const std::optional< double > &tpab, const std::optional< unsigned > &f)
Definition VSDStyles.h:344
libvisio::VSDOptionalParaStyle::~VSDOptionalParaStyle
~VSDOptionalParaStyle()
Definition VSDStyles.h:355
libvisio::VSDOptionalParaStyle::charCount
unsigned charCount
Definition VSDStyles.h:374
libvisio::VSDOptionalParaStyle::textPosAfterBullet
std::optional< double > textPosAfterBullet
Definition VSDStyles.h:386
libvisio::VSDOptionalParaStyle::spLine
std::optional< double > spLine
Definition VSDStyles.h:378
libvisio::VSDOptionalParaStyle::VSDOptionalParaStyle
VSDOptionalParaStyle(const VSDOptionalParaStyle &style)=default
libvisio::VSDOptionalParaStyle::operator=
VSDOptionalParaStyle & operator=(const VSDOptionalParaStyle &style)=default
libvisio::VSDOptionalParaStyle::flags
std::optional< unsigned > flags
Definition VSDStyles.h:387
libvisio::VSDOptionalParaStyle::spBefore
std::optional< double > spBefore
Definition VSDStyles.h:379
libvisio::VSDOptionalParaStyle::bulletFont
std::optional< VSDName > bulletFont
Definition VSDStyles.h:384
libvisio::VSDOptionalParaStyle::indFirst
std::optional< double > indFirst
Definition VSDStyles.h:375
libvisio::VSDOptionalParaStyle::VSDOptionalParaStyle
VSDOptionalParaStyle()
Definition VSDStyles.h:341
libvisio::VSDOptionalParaStyle::indLeft
std::optional< double > indLeft
Definition VSDStyles.h:376
libvisio::VSDOptionalParaStyle::spAfter
std::optional< double > spAfter
Definition VSDStyles.h:380
libvisio::VSDOptionalTextBlockStyle
Definition VSDStyles.h:437
libvisio::VSDOptionalTextBlockStyle::textBkgndColour
std::optional< Colour > textBkgndColour
Definition VSDStyles.h:470
libvisio::VSDOptionalTextBlockStyle::VSDOptionalTextBlockStyle
VSDOptionalTextBlockStyle()
Definition VSDStyles.h:438
libvisio::VSDOptionalTextBlockStyle::VSDOptionalTextBlockStyle
VSDOptionalTextBlockStyle(const VSDOptionalTextBlockStyle &style)=default
libvisio::VSDOptionalTextBlockStyle::rightMargin
std::optional< double > rightMargin
Definition VSDStyles.h:465
libvisio::VSDOptionalTextBlockStyle::operator=
VSDOptionalTextBlockStyle & operator=(const VSDOptionalTextBlockStyle &style)=default
libvisio::VSDOptionalTextBlockStyle::VSDOptionalTextBlockStyle
VSDOptionalTextBlockStyle(const std::optional< double > &lm, const std::optional< double > &rm, const std::optional< double > &tm, const std::optional< double > &bm, const std::optional< unsigned char > &va, const std::optional< bool > &isBgFilled, const std::optional< Colour > &bgClr, const std::optional< double > &defTab, const std::optional< unsigned char > &td)
Definition VSDStyles.h:441
libvisio::VSDOptionalTextBlockStyle::verticalAlign
std::optional< unsigned char > verticalAlign
Definition VSDStyles.h:468
libvisio::VSDOptionalTextBlockStyle::bottomMargin
std::optional< double > bottomMargin
Definition VSDStyles.h:467
libvisio::VSDOptionalTextBlockStyle::defaultTabStop
std::optional< double > defaultTabStop
Definition VSDStyles.h:471
libvisio::VSDOptionalTextBlockStyle::~VSDOptionalTextBlockStyle
~VSDOptionalTextBlockStyle()
Definition VSDStyles.h:449
libvisio::VSDOptionalTextBlockStyle::textDirection
std::optional< unsigned char > textDirection
Definition VSDStyles.h:472
libvisio::VSDOptionalTextBlockStyle::topMargin
std::optional< double > topMargin
Definition VSDStyles.h:466
libvisio::VSDOptionalTextBlockStyle::isTextBkgndFilled
std::optional< bool > isTextBkgndFilled
Definition VSDStyles.h:469
libvisio::VSDOptionalTextBlockStyle::leftMargin
std::optional< double > leftMargin
Definition VSDStyles.h:464
libvisio::VSDParaStyle::flags
unsigned flags
Definition VSDStyles.h:433
libvisio::VSDParaStyle::spLine
double spLine
Definition VSDStyles.h:424
libvisio::VSDParaStyle::operator=
VSDParaStyle & operator=(const VSDParaStyle &style)=default
libvisio::VSDParaStyle::~VSDParaStyle
~VSDParaStyle()
Definition VSDStyles.h:401
libvisio::VSDParaStyle::indFirst
double indFirst
Definition VSDStyles.h:421
libvisio::VSDParaStyle::indRight
double indRight
Definition VSDStyles.h:423
libvisio::VSDParaStyle::spAfter
double spAfter
Definition VSDStyles.h:426
libvisio::VSDParaStyle::indLeft
double indLeft
Definition VSDStyles.h:422
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:395
libvisio::VSDParaStyle::charCount
unsigned charCount
Definition VSDStyles.h:420
libvisio::VSDParaStyle::spBefore
double spBefore
Definition VSDStyles.h:425
libvisio::VSDParaStyle::bullet
unsigned char bullet
Definition VSDStyles.h:428
libvisio::VSDParaStyle::bulletStr
VSDName bulletStr
Definition VSDStyles.h:429
libvisio::VSDParaStyle::align
unsigned char align
Definition VSDStyles.h:427
libvisio::VSDParaStyle::bulletFont
VSDName bulletFont
Definition VSDStyles.h:430
libvisio::VSDParaStyle::VSDParaStyle
VSDParaStyle()
Definition VSDStyles.h:392
libvisio::VSDParaStyle::VSDParaStyle
VSDParaStyle(const VSDParaStyle &style)=default
libvisio::VSDParaStyle::textPosAfterBullet
double textPosAfterBullet
Definition VSDStyles.h:432
libvisio::VSDParaStyle::bulletFontSize
double bulletFontSize
Definition VSDStyles.h:431
libvisio::VSDTextBlockStyle::isTextBkgndFilled
bool isTextBkgndFilled
Definition VSDStyles.h:505
libvisio::VSDTextBlockStyle::rightMargin
double rightMargin
Definition VSDStyles.h:501
libvisio::VSDTextBlockStyle::~VSDTextBlockStyle
~VSDTextBlockStyle()
Definition VSDStyles.h:485
libvisio::VSDTextBlockStyle::textDirection
unsigned char textDirection
Definition VSDStyles.h:508
libvisio::VSDTextBlockStyle::VSDTextBlockStyle
VSDTextBlockStyle()
Definition VSDStyles.h:477
libvisio::VSDTextBlockStyle::verticalAlign
unsigned char verticalAlign
Definition VSDStyles.h:504
libvisio::VSDTextBlockStyle::VSDTextBlockStyle
VSDTextBlockStyle(const VSDTextBlockStyle &style)=default
libvisio::VSDTextBlockStyle::operator=
VSDTextBlockStyle & operator=(const VSDTextBlockStyle &style)=default
libvisio::VSDTextBlockStyle::defaultTabStop
double defaultTabStop
Definition VSDStyles.h:507
libvisio::VSDTextBlockStyle::topMargin
double topMargin
Definition VSDStyles.h:502
libvisio::VSDTextBlockStyle::leftMargin
double leftMargin
Definition VSDStyles.h:500
libvisio::VSDTextBlockStyle::textBkgndColour
Colour textBkgndColour
Definition VSDStyles.h:506
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:480
libvisio::VSDTextBlockStyle::bottomMargin
double bottomMargin
Definition VSDStyles.h:503