VSDStylesCollector.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 VSDSTYLESCOLLECTOR_H
11 #define VSDSTYLESCOLLECTOR_H
12 
13 #include <map>
14 #include <vector>
15 #include <list>
16 #include "VSDCollector.h"
17 #include "VSDParser.h"
18 #include "libvisio_utils.h"
19 #include "VSDStyles.h"
20 
21 namespace libvisio
22 {
23 
25 {
26 public:
28  std::vector<std::map<unsigned, XForm> > &groupXFormsSequence,
29  std::vector<std::map<unsigned, unsigned> > &groupMembershipsSequence,
30  std::vector<std::list<unsigned> > &documentPageShapeOrders
31  );
32  ~VSDStylesCollector() override {}
33 
34  void collectDocumentTheme(const VSDXTheme * /* theme */) override {}
35  void collectEllipticalArcTo(unsigned id, unsigned level, double x3, double y3, double x2, double y2, double angle, double ecc) override;
36  void collectForeignData(unsigned level, const librevenge::RVNGBinaryData &binaryData) override;
37  void collectOLEList(unsigned id, unsigned level) override
38  {
39  collectUnhandledChunk(id, level);
40  }
41  void collectOLEData(unsigned id, unsigned level, const librevenge::RVNGBinaryData &oleData) override;
42  void collectEllipse(unsigned id, unsigned level, double cx, double cy, double xleft, double yleft, double xtop, double ytop) override;
43  void collectLine(unsigned level, const std::optional<double> &strokeWidth, const std::optional<Colour> &c, const std::optional<unsigned char> &linePattern,
44  const std::optional<unsigned char> &startMarker, const std::optional<unsigned char> &endMarker,
45  const std::optional<unsigned char> &lineCap, const std::optional<double> &rounding,
46  const std::optional<long> &qsLineColour, const std::optional<long> &qsLineMatrix) override;
47  void collectFillAndShadow(unsigned level, const std::optional<Colour> &colourFG, const std::optional<Colour> &colourBG,
48  const std::optional<unsigned char> &fillPattern, const std::optional<double> &fillFGTransparency,
49  const std::optional<double> &fillBGTransparency, const std::optional<unsigned char> &shadowPattern,
50  const std::optional<Colour> &shfgc, const std::optional<double> &shadowOffsetX, const std::optional<double> &shadowOffsetY,
51  const std::optional<long> &qsFc, const std::optional<long> &qsSc, const std::optional<long> &qsLm) override;
52  void collectFillAndShadow(unsigned level, const std::optional<Colour> &colourFG, const std::optional<Colour> &colourBG,
53  const std::optional<unsigned char> &fillPattern, const std::optional<double> &fillFGTransparency,
54  const std::optional<double> &fillBGTransparency, const std::optional<unsigned char> &shadowPattern,
55  const std::optional<Colour> &shfgc) override;
56  void collectGeometry(unsigned id, unsigned level, bool noFill, bool noLine, bool noShow) override;
57  void collectMoveTo(unsigned id, unsigned level, double x, double y) override;
58  void collectLineTo(unsigned id, unsigned level, double x, double y) override;
59  void collectArcTo(unsigned id, unsigned level, double x2, double y2, double bow) override;
60  void collectNURBSTo(unsigned id, unsigned level, double x2, double y2, unsigned char xType, unsigned char yType, unsigned degree,
61  const std::vector<std::pair<double, double> > &ctrlPnts, const std::vector<double> &kntVec, const std::vector<double> &weights) override;
62  void collectNURBSTo(unsigned id, unsigned level, double x2, double y2, double knot, double knotPrev, double weight, double weightPrev, unsigned dataID) override;
63  void collectNURBSTo(unsigned id, unsigned level, double x2, double y2, double knot, double knotPrev, double weight, double weightPrev, const NURBSData &data) override;
64  void collectPolylineTo(unsigned id, unsigned level, double x, double y, unsigned char xType, unsigned char yType, const std::vector<std::pair<double, double> > &points) override;
65  void collectPolylineTo(unsigned id, unsigned level, double x, double y, unsigned dataID) override;
66  void collectPolylineTo(unsigned id, unsigned level, double x, double y, const PolylineData &data) override;
67  void collectShapeData(unsigned id, unsigned level, unsigned char xType, unsigned char yType, unsigned degree, double lastKnot,
68  std::vector<std::pair<double, double> > controlPoints, std::vector<double> knotVector, std::vector<double> weights) override;
69  void collectShapeData(unsigned id, unsigned level, unsigned char xType, unsigned char yType, std::vector<std::pair<double, double> > points) override;
70  void collectXFormData(unsigned level, const XForm &xform) override;
71  void collectTxtXForm(unsigned level, const XForm &txtxform) override;
72  void collectShapesOrder(unsigned id, unsigned level, const std::vector<unsigned> &shapeIds) override;
73  void collectForeignDataType(unsigned level, unsigned foreignType, unsigned foreignFormat, double offsetX, double offsetY, double width, double height) override;
74  void collectPageProps(unsigned id, unsigned level, double pageWidth, double pageHeight, double shadowOffsetX, double shadowOffsetY, double scale,
75  unsigned char drawingScaleUnit, const std::optional<unsigned> variationColorIndex, const std::optional<unsigned> variationStyleIndex) override;
76  void collectPage(unsigned id, unsigned level, unsigned backgroundPageID, bool isBackgroundPage, const VSDName &pageName) override;
77  void collectShape(unsigned id, unsigned level, unsigned parent, unsigned masterPage, unsigned masterShape, unsigned lineStyle, unsigned fillStyle, unsigned textStyle, const VSDName &aShapeType) override;
78  void collectSplineStart(unsigned id, unsigned level, double x, double y, double secondKnot, double firstKnot, double lastKnot, unsigned degree) override;
79  void collectSplineKnot(unsigned id, unsigned level, double x, double y, double knot) override;
80  void collectSplineEnd() override;
81  void collectInfiniteLine(unsigned id, unsigned level, double x1, double y1, double x2, double y2) override;
82  void collectRelCubBezTo(unsigned id, unsigned level, double x, double y, double a, double b, double c, double d) override;
83  void collectRelEllipticalArcTo(unsigned id, unsigned level, double x, double y, double a, double b, double c, double d) override;
84  void collectRelLineTo(unsigned id, unsigned level, double x, double y) override;
85  void collectRelMoveTo(unsigned id, unsigned level, double x, double y) override;
86  void collectRelQuadBezTo(unsigned id, unsigned level, double x, double y, double a, double b) override;
87  void collectUnhandledChunk(unsigned id, unsigned level) override;
88 
89  void collectText(unsigned level, const librevenge::RVNGBinaryData &textStream, TextFormat format) override;
90  void collectCharIX(unsigned id, unsigned level, unsigned charCount, const std::optional<VSDName> &font,
91  const std::optional<Colour> &fontColour, const std::optional<double> &fontSize, const std::optional<bool> &bold,
92  const std::optional<bool> &italic, const std::optional<bool> &underline, const std::optional<bool> &doubleunderline,
93  const std::optional<bool> &strikeout, const std::optional<bool> &doublestrikeout, const std::optional<bool> &allcaps,
94  const std::optional<bool> &initcaps, const std::optional<bool> &smallcaps, const std::optional<bool> &superscript,
95  const std::optional<bool> &subscript, const std::optional<double> &scaleWidth) override;
96  void collectDefaultCharStyle(unsigned charCount, const std::optional<VSDName> &font, const std::optional<Colour> &fontColour,
97  const std::optional<double> &fontSize, const std::optional<bool> &bold, const std::optional<bool> &italic,
98  const std::optional<bool> &underline, const std::optional<bool> &doubleunderline, const std::optional<bool> &strikeout,
99  const std::optional<bool> &doublestrikeout, const std::optional<bool> &allcaps, const std::optional<bool> &initcaps,
100  const std::optional<bool> &smallcaps, const std::optional<bool> &superscript, const std::optional<bool> &subscript,
101  const std::optional<double> &scaleWidth) override;
102  void collectParaIX(unsigned id, unsigned level, unsigned charCount, const std::optional<double> &indFirst,
103  const std::optional<double> &indLeft, const std::optional<double> &indRight, const std::optional<double> &spLine,
104  const std::optional<double> &spBefore, const std::optional<double> &spAfter, const std::optional<unsigned char> &align,
105  const std::optional<unsigned char> &bullet, const std::optional<VSDName> &bulletStr, const std::optional<VSDName> &bulletFont,
106  const std::optional<double> &bulletFontSize, const std::optional<double> &textPosAfterBullet,
107  const std::optional<unsigned> &flags) override;
108  void collectDefaultParaStyle(unsigned charCount, const std::optional<double> &indFirst, const std::optional<double> &indLeft,
109  const std::optional<double> &indRight, const std::optional<double> &spLine, const std::optional<double> &spBefore,
110  const std::optional<double> &spAfter, const std::optional<unsigned char> &align,
111  const std::optional<unsigned char> &bullet, const std::optional<VSDName> &bulletStr,
112  const std::optional<VSDName> &bulletFont, const std::optional<double> &bulletFontSize,
113  const std::optional<double> &textPosAfterBullet, const std::optional<unsigned> &flags) override;
114  void collectTextBlock(unsigned level, const std::optional<double> &leftMargin, const std::optional<double> &rightMargin,
115  const std::optional<double> &topMargin, const std::optional<double> &bottomMargin,
116  const std::optional<unsigned char> &verticalAlign, const std::optional<bool> &isBgFilled,
117  const std::optional<Colour> &bgColour, const std::optional<double> &defaultTabStop,
118  const std::optional<unsigned char> &textDirection) override;
119  void collectNameList(unsigned id, unsigned level) override
120  {
121  collectUnhandledChunk(id, level);
122  }
123  void collectName(unsigned id, unsigned level, const librevenge::RVNGBinaryData &name, TextFormat format) override;
124  void collectPageSheet(unsigned id, unsigned level) override;
125  void collectMisc(unsigned level, const VSDMisc &misc) override;
126  void collectLayer(unsigned id, unsigned level, const VSDLayer &layer) override;
127  void collectLayerMem(unsigned level, const VSDName &layerMem) override;
128  void collectTabsDataList(unsigned level, const std::map<unsigned, VSDTabSet> &tabSets) override;
129 
130  // Style collectors
131  void collectStyleSheet(unsigned id, unsigned level,unsigned parentLineStyle, unsigned parentFillStyle, unsigned parentTextStyle) override;
132  void collectLineStyle(unsigned level, const std::optional<double> &strokeWidth, const std::optional<Colour> &c, const std::optional<unsigned char> &linePattern,
133  const std::optional<unsigned char> &startMarker, const std::optional<unsigned char> &endMarker,
134  const std::optional<unsigned char> &lineCap, const std::optional<double> &rounding,
135  const std::optional<long> &qsLineColour, const std::optional<long> &qsLineMatrix) override;
136  void collectFillStyle(unsigned level, const std::optional<Colour> &colourFG, const std::optional<Colour> &colourBG,
137  const std::optional<unsigned char> &fillPattern, const std::optional<double> &fillFGTransparency,
138  const std::optional<double> &fillBGTransparency, const std::optional<unsigned char> &shadowPattern,
139  const std::optional<Colour> &shfgc, const std::optional<double> &shadowOffsetX, const std::optional<double> &shadowOffsetY,
140  const std::optional<long> &qsFillColour, const std::optional<long> &qsShadowColour,
141  const std::optional<long> &qsFillMatrix) override;
142  void collectFillStyle(unsigned level, const std::optional<Colour> &colourFG, const std::optional<Colour> &colourBG,
143  const std::optional<unsigned char> &fillPattern, const std::optional<double> &fillFGTransparency,
144  const std::optional<double> &fillBGTransparency, const std::optional<unsigned char> &shadowPattern,
145  const std::optional<Colour> &shfgc) override;
146  void collectCharIXStyle(unsigned id, unsigned level, unsigned charCount, const std::optional<VSDName> &font,
147  const std::optional<Colour> &fontColour, const std::optional<double> &fontSize, const std::optional<bool> &bold,
148  const std::optional<bool> &italic, const std::optional<bool> &underline, const std::optional<bool> &doubleunderline,
149  const std::optional<bool> &strikeout, const std::optional<bool> &doublestrikeout, const std::optional<bool> &allcaps,
150  const std::optional<bool> &initcaps, const std::optional<bool> &smallcaps, const std::optional<bool> &superscript,
151  const std::optional<bool> &subscript, const std::optional<double> &scaleWidth) override;
152  void collectParaIXStyle(unsigned id, unsigned level, unsigned charCount, const std::optional<double> &indFirst,
153  const std::optional<double> &indLeft, const std::optional<double> &indRight, const std::optional<double> &spLine,
154  const std::optional<double> &spBefore, const std::optional<double> &spAfter, const std::optional<unsigned char> &align,
155  const std::optional<unsigned char> &bullet, const std::optional<VSDName> &bulletStr,
156  const std::optional<VSDName> &bulletFont, const std::optional<double> &bulletFontSize,
157  const std::optional<double> &textPosAfterBullet, const std::optional<unsigned> &flags) override;
158  void collectTextBlockStyle(unsigned level, const std::optional<double> &leftMargin, const std::optional<double> &rightMargin,
159  const std::optional<double> &topMargin, const std::optional<double> &bottomMargin,
160  const std::optional<unsigned char> &verticalAlign, const std::optional<bool> &isBgFilled,
161  const std::optional<Colour> &bgColour, const std::optional<double> &defaultTabStop,
162  const std::optional<unsigned char> &textDirection) override;
163 
164  // Field list
165  void collectFieldList(unsigned id, unsigned level) override;
166  void collectTextField(unsigned id, unsigned level, int nameId, int formatStringId) override;
167  void collectNumericField(unsigned id, unsigned level, unsigned short format, unsigned short cellType, double number, int formatStringId) override;
168 
169  void collectMetaData(const librevenge::RVNGPropertyList &) override { }
170 
171  // Temporary hack
172  void startPage(unsigned pageID) override;
173  void endPage() override;
174  void endPages() override {}
175 
176  const VSDStyles &getStyleSheets() const
177  {
178  return m_styles;
179  }
180  const std::optional<unsigned>& getvariationColorIndex() const { return m_variationColorIndex; }
181  const std::optional<unsigned>& getvariationStyleIndex() const { return m_variationStyleIndex; }
182 
183 private:
186 
187  void _handleLevelChange(unsigned level);
188  void _flushShapeList();
189 
190  unsigned m_currentLevel;
192 
195 
197  std::map<unsigned, XForm> m_groupXForms;
198  std::map<unsigned, unsigned> m_groupMemberships;
199  std::vector<std::map<unsigned, XForm> > &m_groupXFormsSequence;
200  std::vector<std::map<unsigned, unsigned> > &m_groupMembershipsSequence;
201  std::list<unsigned> m_pageShapeOrder;
202  std::vector<std::list<unsigned> > &m_documentPageShapeOrders;
203  std::map<unsigned, std::list<unsigned> > m_groupShapeOrder;
204  std::list<unsigned> m_shapeList;
205 
208 
209  std::optional<unsigned> m_variationColorIndex;
210  std::optional<unsigned> m_variationStyleIndex;
211 
213 };
214 
215 }
216 
217 #endif /* VSDSTYLESCOLLECTOR_H */
218 /* vim:set shiftwidth=2 softtabstop=2 expandtab: */
Definition: VSDStyles.h:507
void collectParaIX(unsigned id, unsigned level, unsigned charCount, const std::optional< double > &indFirst, const std::optional< double > &indLeft, const std::optional< double > &indRight, const std::optional< double > &spLine, const std::optional< double > &spBefore, const std::optional< double > &spAfter, const std::optional< unsigned char > &align, const std::optional< unsigned char > &bullet, const std::optional< VSDName > &bulletStr, const std::optional< VSDName > &bulletFont, const std::optional< double > &bulletFontSize, const std::optional< double > &textPosAfterBullet, const std::optional< unsigned > &flags) override
Definition: VSDStylesCollector.cpp:276
void collectLayer(unsigned id, unsigned level, const VSDLayer &layer) override
Definition: VSDStylesCollector.cpp:261
void collectTabsDataList(unsigned level, const std::map< unsigned, VSDTabSet > &tabSets) override
Definition: VSDStylesCollector.cpp:308
unsigned m_currentStyleSheet
Definition: VSDStylesCollector.h:206
std::list< unsigned > m_shapeList
Definition: VSDStylesCollector.h:204
std::vector< std::map< unsigned, XForm > > & m_groupXFormsSequence
Definition: VSDStylesCollector.h:199
double m_shadowOffsetX
Definition: VSDStylesCollector.h:193
void collectDocumentTheme(const VSDXTheme *) override
Definition: VSDStylesCollector.h:34
void collectShape(unsigned id, unsigned level, unsigned parent, unsigned masterPage, unsigned masterShape, unsigned lineStyle, unsigned fillStyle, unsigned textStyle, const VSDName &aShapeType) override
Definition: VSDStylesCollector.cpp:240
void collectRelEllipticalArcTo(unsigned id, unsigned level, double x, double y, double a, double b, double c, double d) override
Definition: VSDStylesCollector.cpp:165
void collectCharIXStyle(unsigned id, unsigned level, unsigned charCount, const std::optional< VSDName > &font, const std::optional< Colour > &fontColour, const std::optional< double > &fontSize, const std::optional< bool > &bold, const std::optional< bool > &italic, const std::optional< bool > &underline, const std::optional< bool > &doubleunderline, const std::optional< bool > &strikeout, const std::optional< bool > &doublestrikeout, const std::optional< bool > &allcaps, const std::optional< bool > &initcaps, const std::optional< bool > &smallcaps, const std::optional< bool > &superscript, const std::optional< bool > &subscript, const std::optional< double > &scaleWidth) override
Definition: VSDStylesCollector.cpp:373
void collectRelLineTo(unsigned id, unsigned level, double x, double y) override
Definition: VSDStylesCollector.cpp:170
Definition: VSDTypes.h:93
void collectXFormData(unsigned level, const XForm &xform) override
Definition: VSDStylesCollector.cpp:198
Definition: VSDStylesCollector.h:24
void collectForeignData(unsigned level, const librevenge::RVNGBinaryData &binaryData) override
Definition: VSDStylesCollector.cpp:41
double m_shadowOffsetY
Definition: VSDStylesCollector.h:194
void collectRelQuadBezTo(unsigned id, unsigned level, double x, double y, double a, double b) override
Definition: VSDStylesCollector.cpp:180
std::optional< unsigned > m_variationColorIndex
Definition: VSDStylesCollector.h:209
const std::optional< unsigned > & getvariationColorIndex() const
Definition: VSDStylesCollector.h:180
void collectPolylineTo(unsigned id, unsigned level, double x, double y, unsigned char xType, unsigned char yType, const std::vector< std::pair< double, double > > &points) override
Definition: VSDStylesCollector.cpp:123
unsigned m_currentShapeId
Definition: VSDStylesCollector.h:196
void collectOLEData(unsigned id, unsigned level, const librevenge::RVNGBinaryData &oleData) override
Definition: VSDStylesCollector.cpp:46
void collectShapesOrder(unsigned id, unsigned level, const std::vector< unsigned > &shapeIds) override
Definition: VSDStylesCollector.cpp:210
std::vector< std::list< unsigned > > & m_documentPageShapeOrders
Definition: VSDStylesCollector.h:202
Definition: VSDTypes.h:203
unsigned m_currentLevel
Definition: VSDStylesCollector.h:190
std::map< unsigned, XForm > m_groupXForms
Definition: VSDStylesCollector.h:197
void collectText(unsigned level, const librevenge::RVNGBinaryData &textStream, TextFormat format) override
Definition: VSDStylesCollector.cpp:271
std::vector< std::map< unsigned, unsigned > > & m_groupMembershipsSequence
Definition: VSDStylesCollector.h:200
void collectPageProps(unsigned id, unsigned level, double pageWidth, double pageHeight, double shadowOffsetX, double shadowOffsetY, double scale, unsigned char drawingScaleUnit, const std::optional< unsigned > variationColorIndex, const std::optional< unsigned > variationStyleIndex) override
Definition: VSDStylesCollector.cpp:225
void collectOLEList(unsigned id, unsigned level) override
Definition: VSDStylesCollector.h:37
std::map< unsigned, unsigned > m_groupMemberships
Definition: VSDStylesCollector.h:198
void collectSplineEnd() override
Definition: VSDStylesCollector.cpp:151
void collectMisc(unsigned level, const VSDMisc &misc) override
Definition: VSDStylesCollector.cpp:251
void collectTextBlock(unsigned level, const std::optional< double > &leftMargin, const std::optional< double > &rightMargin, const std::optional< double > &topMargin, const std::optional< double > &bottomMargin, const std::optional< unsigned char > &verticalAlign, const std::optional< bool > &isBgFilled, const std::optional< Colour > &bgColour, const std::optional< double > &defaultTabStop, const std::optional< unsigned char > &textDirection) override
Definition: VSDStylesCollector.cpp:322
void endPage() override
Definition: VSDStylesCollector.cpp:429
Definition: VSDCollector.h:20
void collectMoveTo(unsigned id, unsigned level, double x, double y) override
Definition: VSDStylesCollector.cpp:89
void _handleLevelChange(unsigned level)
Definition: VSDStylesCollector.cpp:453
void collectForeignDataType(unsigned level, unsigned foreignType, unsigned foreignFormat, double offsetX, double offsetY, double width, double height) override
Definition: VSDStylesCollector.cpp:219
void collectFillStyle(unsigned level, const std::optional< Colour > &colourFG, const std::optional< Colour > &colourBG, const std::optional< unsigned char > &fillPattern, const std::optional< double > &fillFGTransparency, const std::optional< double > &fillBGTransparency, const std::optional< unsigned char > &shadowPattern, const std::optional< Colour > &shfgc, const std::optional< double > &shadowOffsetX, const std::optional< double > &shadowOffsetY, const std::optional< long > &qsFillColour, const std::optional< long > &qsShadowColour, const std::optional< long > &qsFillMatrix) override
Definition: VSDStylesCollector.cpp:355
void _flushShapeList()
Definition: VSDStylesCollector.cpp:463
void collectUnhandledChunk(unsigned id, unsigned level) override
Definition: VSDStylesCollector.cpp:266
~VSDStylesCollector() override
Definition: VSDStylesCollector.h:32
void collectCharIX(unsigned id, unsigned level, unsigned charCount, const std::optional< VSDName > &font, const std::optional< Colour > &fontColour, const std::optional< double > &fontSize, const std::optional< bool > &bold, const std::optional< bool > &italic, const std::optional< bool > &underline, const std::optional< bool > &doubleunderline, const std::optional< bool > &strikeout, const std::optional< bool > &doublestrikeout, const std::optional< bool > &allcaps, const std::optional< bool > &initcaps, const std::optional< bool > &smallcaps, const std::optional< bool > &superscript, const std::optional< bool > &subscript, const std::optional< double > &scaleWidth) override
Definition: VSDStylesCollector.cpp:298
void collectPage(unsigned id, unsigned level, unsigned backgroundPageID, bool isBackgroundPage, const VSDName &pageName) override
Definition: VSDStylesCollector.cpp:235
void collectRelMoveTo(unsigned id, unsigned level, double x, double y) override
Definition: VSDStylesCollector.cpp:175
VSDStyles m_styles
Definition: VSDStylesCollector.h:207
void collectMetaData(const librevenge::RVNGPropertyList &) override
Definition: VSDStylesCollector.h:169
void collectEllipse(unsigned id, unsigned level, double cx, double cy, double xleft, double yleft, double xtop, double ytop) override
Definition: VSDStylesCollector.cpp:51
void collectDefaultCharStyle(unsigned charCount, const std::optional< VSDName > &font, const std::optional< Colour > &fontColour, const std::optional< double > &fontSize, const std::optional< bool > &bold, const std::optional< bool > &italic, const std::optional< bool > &underline, const std::optional< bool > &doubleunderline, const std::optional< bool > &strikeout, const std::optional< bool > &doublestrikeout, const std::optional< bool > &allcaps, const std::optional< bool > &initcaps, const std::optional< bool > &smallcaps, const std::optional< bool > &superscript, const std::optional< bool > &subscript, const std::optional< double > &scaleWidth) override
Definition: VSDStylesCollector.cpp:313
void collectStyleSheet(unsigned id, unsigned level, unsigned parentLineStyle, unsigned parentFillStyle, unsigned parentTextStyle) override
Definition: VSDStylesCollector.cpp:341
VSDStylesCollector(std::vector< std::map< unsigned, XForm > > &groupXFormsSequence, std::vector< std::map< unsigned, unsigned > > &groupMembershipsSequence, std::vector< std::list< unsigned > > &documentPageShapeOrders)
Definition: VSDStylesCollector.cpp:15
void collectNumericField(unsigned id, unsigned level, unsigned short format, unsigned short cellType, double number, int formatStringId) override
Definition: VSDStylesCollector.cpp:416
void collectLineTo(unsigned id, unsigned level, double x, double y) override
Definition: VSDStylesCollector.cpp:94
void collectName(unsigned id, unsigned level, const librevenge::RVNGBinaryData &name, TextFormat format) override
Definition: VSDStylesCollector.cpp:330
void collectFillAndShadow(unsigned level, const std::optional< Colour > &colourFG, const std::optional< Colour > &colourBG, const std::optional< unsigned char > &fillPattern, const std::optional< double > &fillFGTransparency, const std::optional< double > &fillBGTransparency, const std::optional< unsigned char > &shadowPattern, const std::optional< Colour > &shfgc, const std::optional< double > &shadowOffsetX, const std::optional< double > &shadowOffsetY, const std::optional< long > &qsFc, const std::optional< long > &qsSc, const std::optional< long > &qsLm) override
Definition: VSDStylesCollector.cpp:66
Definition: VSDLayerList.h:21
TextFormat
Definition: VSDTypes.h:149
std::map< unsigned, std::list< unsigned > > m_groupShapeOrder
Definition: VSDStylesCollector.h:203
void collectParaIXStyle(unsigned id, unsigned level, unsigned charCount, const std::optional< double > &indFirst, const std::optional< double > &indLeft, const std::optional< double > &indRight, const std::optional< double > &spLine, const std::optional< double > &spBefore, const std::optional< double > &spAfter, const std::optional< unsigned char > &align, const std::optional< unsigned char > &bullet, const std::optional< VSDName > &bulletStr, const std::optional< VSDName > &bulletFont, const std::optional< double > &bulletFontSize, const std::optional< double > &textPosAfterBullet, const std::optional< unsigned > &flags) override
Definition: VSDStylesCollector.cpp:385
std::list< unsigned > m_pageShapeOrder
Definition: VSDStylesCollector.h:201
void collectSplineKnot(unsigned id, unsigned level, double x, double y, double knot) override
Definition: VSDStylesCollector.cpp:146
Definition: libvisio_utils.h:46
VSDStylesCollector & operator=(const VSDStylesCollector &)
void collectRelCubBezTo(unsigned id, unsigned level, double x, double y, double a, double b, double c, double d) override
Definition: VSDStylesCollector.cpp:160
void collectInfiniteLine(unsigned id, unsigned level, double x1, double y1, double x2, double y2) override
Definition: VSDStylesCollector.cpp:155
void collectLineStyle(unsigned level, const std::optional< double > &strokeWidth, const std::optional< Colour > &c, const std::optional< unsigned char > &linePattern, const std::optional< unsigned char > &startMarker, const std::optional< unsigned char > &endMarker, const std::optional< unsigned char > &lineCap, const std::optional< double > &rounding, const std::optional< long > &qsLineColour, const std::optional< long > &qsLineMatrix) override
Definition: VSDStylesCollector.cpp:346
void collectDefaultParaStyle(unsigned charCount, const std::optional< double > &indFirst, const std::optional< double > &indLeft, const std::optional< double > &indRight, const std::optional< double > &spLine, const std::optional< double > &spBefore, const std::optional< double > &spAfter, const std::optional< unsigned char > &align, const std::optional< unsigned char > &bullet, const std::optional< VSDName > &bulletStr, const std::optional< VSDName > &bulletFont, const std::optional< double > &bulletFontSize, const std::optional< double > &textPosAfterBullet, const std::optional< unsigned > &flags) override
Definition: VSDStylesCollector.cpp:288
void collectTextField(unsigned id, unsigned level, int nameId, int formatStringId) override
Definition: VSDStylesCollector.cpp:411
void collectNameList(unsigned id, unsigned level) override
Definition: VSDStylesCollector.h:119
void startPage(unsigned pageID) override
Definition: VSDStylesCollector.cpp:421
Definition: VSDTypes.h:114
void collectArcTo(unsigned id, unsigned level, double x2, double y2, double bow) override
Definition: VSDStylesCollector.cpp:99
const std::optional< unsigned > & getvariationStyleIndex() const
Definition: VSDStylesCollector.h:181
bool m_isShapeStarted
Definition: VSDStylesCollector.h:191
void collectFieldList(unsigned id, unsigned level) override
Definition: VSDStylesCollector.cpp:406
Definition: VSDTypes.h:22
void collectGeometry(unsigned id, unsigned level, bool noFill, bool noLine, bool noShow) override
Definition: VSDStylesCollector.cpp:84
void collectNURBSTo(unsigned id, unsigned level, double x2, double y2, unsigned char xType, unsigned char yType, unsigned degree, const std::vector< std::pair< double, double > > &ctrlPnts, const std::vector< double > &kntVec, const std::vector< double > &weights) override
Definition: VSDStylesCollector.cpp:104
void collectTxtXForm(unsigned level, const XForm &txtxform) override
Definition: VSDStylesCollector.cpp:205
Definition: VSDXTheme.h:84
void collectSplineStart(unsigned id, unsigned level, double x, double y, double secondKnot, double firstKnot, double lastKnot, unsigned degree) override
Definition: VSDStylesCollector.cpp:140
Definition: VSDTypes.h:170
void collectPageSheet(unsigned id, unsigned level) override
Definition: VSDStylesCollector.cpp:335
void collectTextBlockStyle(unsigned level, const std::optional< double > &leftMargin, const std::optional< double > &rightMargin, const std::optional< double > &topMargin, const std::optional< double > &bottomMargin, const std::optional< unsigned char > &verticalAlign, const std::optional< bool > &isBgFilled, const std::optional< Colour > &bgColour, const std::optional< double > &defaultTabStop, const std::optional< unsigned char > &textDirection) override
Definition: VSDStylesCollector.cpp:397
void endPages() override
Definition: VSDStylesCollector.h:174
unsigned m_currentShapeLevel
Definition: VSDStylesCollector.h:212
std::optional< unsigned > m_variationStyleIndex
Definition: VSDStylesCollector.h:210
const VSDStyles & getStyleSheets() const
Definition: VSDStylesCollector.h:176
void collectShapeData(unsigned id, unsigned level, unsigned char xType, unsigned char yType, unsigned degree, double lastKnot, std::vector< std::pair< double, double > > controlPoints, std::vector< double > knotVector, std::vector< double > weights) override
Definition: VSDStylesCollector.cpp:185
void collectEllipticalArcTo(unsigned id, unsigned level, double x3, double y3, double x2, double y2, double angle, double ecc) override
Definition: VSDStylesCollector.cpp:35
void collectLayerMem(unsigned level, const VSDName &layerMem) override
Definition: VSDStylesCollector.cpp:256
void collectLine(unsigned level, const std::optional< double > &strokeWidth, const std::optional< Colour > &c, const std::optional< unsigned char > &linePattern, const std::optional< unsigned char > &startMarker, const std::optional< unsigned char > &endMarker, const std::optional< unsigned char > &lineCap, const std::optional< double > &rounding, const std::optional< long > &qsLineColour, const std::optional< long > &qsLineMatrix) override
Definition: VSDStylesCollector.cpp:57

Generated for libvisio by doxygen 1.8.14