VSDCollector.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 VSDCOLLECTOR_H
11#define VSDCOLLECTOR_H
12
13#include <vector>
14#include <optional>
15#include "VSDParser.h"
16
17namespace libvisio
18{
19
21{
22public:
24 virtual ~VSDCollector() {}
25
26 virtual void collectDocumentTheme(const VSDXTheme *theme) = 0;
27 virtual void collectEllipticalArcTo(unsigned id, unsigned level, double x3, double y3, double x2, double y2, double angle, double ecc) = 0;
28 virtual void collectForeignData(unsigned level, const librevenge::RVNGBinaryData &binaryData) = 0;
29 virtual void collectOLEList(unsigned id, unsigned level) = 0;
30 virtual void collectOLEData(unsigned id, unsigned level, const librevenge::RVNGBinaryData &oleData) = 0;
31 virtual void collectEllipse(unsigned id, unsigned level, double cx, double cy, double xleft, double yleft, double xtop, double ytop) = 0;
32 virtual void collectLine(unsigned level, const std::optional<double> &strokeWidth, const std::optional<Colour> &c, const std::optional<unsigned char> &linePattern,
33 const std::optional<unsigned char> &startMarker, const std::optional<unsigned char> &endMarker,
34 const std::optional<unsigned char> &lineCap, const std::optional<double> &rounding,
35 const std::optional<long> &qsLineColour, const std::optional<long> &qsLineMatrix) = 0;
36 virtual void collectFillAndShadow(unsigned level, const std::optional<Colour> &colourFG, const std::optional<Colour> &colourBG,
37 const std::optional<unsigned char> &fillPattern, const std::optional<double> &fillFGTransparency,
38 const std::optional<double> &fillBGTransparency, const std::optional<unsigned char> &shadowPattern,
39 const std::optional<Colour> &shfgc, const std::optional<double> &shadowOffsetX, const std::optional<double> &shadowOffsetY,
40 const std::optional<long> &qsFc, const std::optional<long> &qsSc, const std::optional<long> &qsLm) = 0;
41 virtual void collectFillAndShadow(unsigned level, const std::optional<Colour> &colourFG, const std::optional<Colour> &colourBG,
42 const std::optional<unsigned char> &fillPattern, const std::optional<double> &fillFGTransparency,
43 const std::optional<double> &fillBGTransparency, const std::optional<unsigned char> &shadowPattern,
44 const std::optional<Colour> &shfgc) = 0;
45 virtual void collectGeometry(unsigned id, unsigned level, bool noFill, bool noLine, bool noShow) = 0;
46 virtual void collectMoveTo(unsigned id, unsigned level, double x, double y) = 0;
47 virtual void collectLineTo(unsigned id, unsigned level, double x, double y) = 0;
48 virtual void collectArcTo(unsigned id, unsigned level, double x2, double y2, double bow) = 0;
49 virtual void collectNURBSTo(unsigned id, unsigned level, double x2, double y2, unsigned char xType, unsigned char yType, unsigned degree,
50 const std::vector<std::pair<double, double> > &ctrlPnts, const std::vector<double> &kntVec, const std::vector<double> &weights) = 0;
51 virtual void collectNURBSTo(unsigned id, unsigned level, double x2, double y2, double knot, double knotPrev, double weight, double weightPrev, unsigned dataID) = 0;
52 virtual void collectNURBSTo(unsigned id, unsigned level, double x2, double y2, double knot, double knotPrev, double weight, double weightPrev, const NURBSData &data) = 0;
53 virtual void collectPolylineTo(unsigned id, unsigned level, double x, double y, unsigned char xType, unsigned char yType, const std::vector<std::pair<double, double> > &points) = 0;
54 virtual void collectPolylineTo(unsigned id, unsigned level, double x, double y, unsigned dataID) = 0;
55 virtual void collectPolylineTo(unsigned id, unsigned level, double x, double y, const PolylineData &data) = 0;
56 virtual void collectShapeData(unsigned id, unsigned level, unsigned char xType, unsigned char yType, unsigned degree, double lastKnot,
57 std::vector<std::pair<double, double> > controlPoints, std::vector<double> knotVector, std::vector<double> weights) = 0;
58 virtual void collectShapeData(unsigned id, unsigned level, unsigned char xType, unsigned char yType, std::vector<std::pair<double, double> > points) = 0;
59 virtual void collectXFormData(unsigned level, const XForm &xform) = 0;
60 virtual void collectTxtXForm(unsigned level, const XForm &txtxform) = 0;
61 virtual void collectShapesOrder(unsigned id, unsigned level, const std::vector<unsigned> &shapeIds) = 0;
62 virtual void collectForeignDataType(unsigned level, unsigned foreignType, unsigned foreignFormat, double offsetX, double offsetY, double width, double height) = 0;
63 virtual void collectPageProps(unsigned id, unsigned level, double pageWidth, double pageHeight, double shadowOffsetX, double shadowOffsetY, double scale,
64 unsigned char drawingScaleUnit, const std::optional<unsigned> variationColorIndex, const std::optional<unsigned> variationStyleIndex) = 0;
65 virtual void collectPage(unsigned id, unsigned level, unsigned backgroundPageID, bool isBackgroundPage, const VSDName &pageName) = 0;
66 virtual void collectShape(unsigned id, unsigned level, unsigned parent, unsigned masterPage, unsigned masterShape, unsigned lineStyle, unsigned fillStyle, unsigned textStyle, const VSDName &aShapeType) = 0;
67 virtual void collectSplineStart(unsigned id, unsigned level, double x, double y, double secondKnot, double firstKnot, double lastKnot, unsigned degree) = 0;
68 virtual void collectSplineKnot(unsigned id, unsigned level, double x, double y, double knot) = 0;
69 virtual void collectSplineEnd() = 0;
70 virtual void collectInfiniteLine(unsigned id, unsigned level, double x1, double y1, double x2, double y2) = 0;
71 virtual void collectRelCubBezTo(unsigned id, unsigned level, double x, double y, double a, double b, double c, double d) = 0;
72 virtual void collectRelEllipticalArcTo(unsigned id, unsigned level, double x, double y, double a, double b, double c, double d) = 0;
73 virtual void collectRelLineTo(unsigned id, unsigned level, double x, double y) = 0;
74 virtual void collectRelMoveTo(unsigned id, unsigned level, double x, double y) = 0;
75 virtual void collectRelQuadBezTo(unsigned id, unsigned level, double x, double y, double a, double b) = 0;
76
77 virtual void collectUnhandledChunk(unsigned id, unsigned level) = 0;
78
79 virtual void collectText(unsigned level, const librevenge::RVNGBinaryData &textStream, TextFormat format) = 0;
80 virtual void collectCharIX(unsigned id, unsigned level, unsigned charCount, const std::optional<VSDName> &font,
81 const std::optional<Colour> &fontColour, const std::optional<double> &fontSize, const std::optional<bool> &bold,
82 const std::optional<bool> &italic, const std::optional<bool> &underline, const std::optional<bool> &doubleunderline,
83 const std::optional<bool> &strikeout, const std::optional<bool> &doublestrikeout, const std::optional<bool> &allcaps,
84 const std::optional<bool> &initcaps, const std::optional<bool> &smallcaps, const std::optional<bool> &superscript,
85 const std::optional<bool> &subscript, const std::optional<double> &scaleWidth) = 0;
86 virtual void collectDefaultCharStyle(unsigned charCount, const std::optional<VSDName> &font, const std::optional<Colour> &fontColour,
87 const std::optional<double> &fontSize, const std::optional<bool> &bold, const std::optional<bool> &italic,
88 const std::optional<bool> &underline, const std::optional<bool> &doubleunderline, const std::optional<bool> &strikeout,
89 const std::optional<bool> &doublestrikeout, const std::optional<bool> &allcaps, const std::optional<bool> &initcaps,
90 const std::optional<bool> &smallcaps, const std::optional<bool> &superscript, const std::optional<bool> &subscript,
91 const std::optional<double> &scaleWidth) = 0;
92 virtual void collectParaIX(unsigned id, unsigned level, unsigned charCount, const std::optional<double> &indFirst,
93 const std::optional<double> &indLeft, const std::optional<double> &indRight, const std::optional<double> &spLine,
94 const std::optional<double> &spBefore, const std::optional<double> &spAfter, const std::optional<unsigned char> &align,
95 const std::optional<unsigned char> &bullet, const std::optional<VSDName> &bulletStr,
96 const std::optional<VSDName> &bulletFont, const std::optional<double> &bulletFontSize,
97 const std::optional<double> &textPosAfterBullet, const std::optional<unsigned> &flags) = 0;
98 virtual void collectDefaultParaStyle(unsigned charCount, const std::optional<double> &indFirst, const std::optional<double> &indLeft,
99 const std::optional<double> &indRight, const std::optional<double> &spLine, const std::optional<double> &spBefore,
100 const std::optional<double> &spAfter, const std::optional<unsigned char> &align,
101 const std::optional<unsigned char> &bullet, const std::optional<VSDName> &bulletStr,
102 const std::optional<VSDName> &bulletFont, const std::optional<double> &bulletFontSize,
103 const std::optional<double> &textPosAfterBullet, const std::optional<unsigned> &flags) = 0;
104 virtual void collectTextBlock(unsigned level, const std::optional<double> &leftMargin, const std::optional<double> &rightMargin,
105 const std::optional<double> &topMargin, const std::optional<double> &bottomMargin,
106 const std::optional<unsigned char> &verticalAlign, const std::optional<bool> &isBgFilled,
107 const std::optional<Colour> &bgColour, const std::optional<double> &defaultTabStop,
108 const std::optional<unsigned char> &textDirection) = 0;
109 virtual void collectNameList(unsigned id, unsigned level) = 0;
110 virtual void collectName(unsigned id, unsigned level, const librevenge::RVNGBinaryData &name, TextFormat format) = 0;
111 virtual void collectPageSheet(unsigned id, unsigned level) = 0;
112 virtual void collectMisc(unsigned level, const VSDMisc &misc) = 0;
113 virtual void collectLayer(unsigned id, unsigned level, const VSDLayer &layer) = 0;
114 virtual void collectLayerMem(unsigned level, const VSDName &layerMem) = 0;
115 virtual void collectTabsDataList(unsigned level, const std::map<unsigned, VSDTabSet> &tabSets) = 0;
116
117 // Style collectors
118 virtual void collectStyleSheet(unsigned id, unsigned level,unsigned parentLineStyle, unsigned parentFillStyle, unsigned parentTextStyle) = 0;
119 virtual void collectLineStyle(unsigned level, const std::optional<double> &strokeWidth, const std::optional<Colour> &c, const std::optional<unsigned char> &linePattern,
120 const std::optional<unsigned char> &startMarker, const std::optional<unsigned char> &endMarker,
121 const std::optional<unsigned char> &lineCap, const std::optional<double> &rounding,
122 const std::optional<long> &qsLineColour, const std::optional<long> &qsLineMatrix) = 0;
123 virtual void collectFillStyle(unsigned level, const std::optional<Colour> &colourFG, const std::optional<Colour> &colourBG,
124 const std::optional<unsigned char> &fillPattern, const std::optional<double> &fillFGTransparency,
125 const std::optional<double> &fillBGTransparency, const std::optional<unsigned char> &shadowPattern,
126 const std::optional<Colour> &shfgc, const std::optional<double> &shadowOffsetX, const std::optional<double> &shadowOffsetY,
127 const std::optional<long> &qsFillColour, const std::optional<long> &qsShadowColour,
128 const std::optional<long> &qsFillMatrix) = 0;
129 virtual void collectFillStyle(unsigned level, const std::optional<Colour> &colourFG, const std::optional<Colour> &colourBG,
130 const std::optional<unsigned char> &fillPattern, const std::optional<double> &fillFGTransparency,
131 const std::optional<double> &fillBGTransparency, const std::optional<unsigned char> &shadowPattern,
132 const std::optional<Colour> &shfgc) = 0;
133 virtual void collectCharIXStyle(unsigned id, unsigned level, unsigned charCount, const std::optional<VSDName> &font,
134 const std::optional<Colour> &fontColour, const std::optional<double> &fontSize, const std::optional<bool> &bold,
135 const std::optional<bool> &italic, const std::optional<bool> &underline, const std::optional<bool> &doubleunderline,
136 const std::optional<bool> &strikeout, const std::optional<bool> &doublestrikeout, const std::optional<bool> &allcaps,
137 const std::optional<bool> &initcaps, const std::optional<bool> &smallcaps, const std::optional<bool> &superscript,
138 const std::optional<bool> &subscript, const std::optional<double> &scaleWidth) = 0;
139 virtual void collectParaIXStyle(unsigned id, unsigned level, unsigned charCount, const std::optional<double> &indFirst,
140 const std::optional<double> &indLeft, const std::optional<double> &indRight, const std::optional<double> &spLine,
141 const std::optional<double> &spBefore, const std::optional<double> &spAfter, const std::optional<unsigned char> &align,
142 const std::optional<unsigned char> &bullet, const std::optional<VSDName> &bulletStr,
143 const std::optional<VSDName> &bulletFont, const std::optional<double> &bulletFontSize,
144 const std::optional<double> &textPosAfterBullet, const std::optional<unsigned> &flags) = 0;
145 virtual void collectTextBlockStyle(unsigned level, const std::optional<double> &leftMargin, const std::optional<double> &rightMargin,
146 const std::optional<double> &topMargin, const std::optional<double> &bottomMargin,
147 const std::optional<unsigned char> &verticalAlign, const std::optional<bool> &isBgFilled,
148 const std::optional<Colour> &bgColour, const std::optional<double> &defaultTabStop,
149 const std::optional<unsigned char> &textDirection) = 0;
150
151 // Field list
152 virtual void collectFieldList(unsigned id, unsigned level) = 0;
153 virtual void collectTextField(unsigned id, unsigned level, int nameId, int formatStringId) = 0;
154 virtual void collectNumericField(unsigned id, unsigned level, unsigned short format, unsigned short cellType, double number, int formatStringId) = 0;
155
156 // Metadata
157 virtual void collectMetaData(const librevenge::RVNGPropertyList &metaData) = 0;
158
159 // Temporary hack
160 virtual void startPage(unsigned pageId) = 0;
161 virtual void endPage() = 0;
162 virtual void endPages() = 0;
163
164private:
167};
168
169} // namespace libvisio
170
171#endif /* VSDCOLLECTOR_H */
172/* vim:set shiftwidth=2 softtabstop=2 expandtab: */
virtual void collectInfiniteLine(unsigned id, unsigned level, double x1, double y1, double x2, double y2)=0
virtual void endPage()=0
virtual 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)=0
virtual void collectArcTo(unsigned id, unsigned level, double x2, double y2, double bow)=0
virtual void collectNURBSTo(unsigned id, unsigned level, double x2, double y2, double knot, double knotPrev, double weight, double weightPrev, unsigned dataID)=0
virtual 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)=0
virtual void collectEllipticalArcTo(unsigned id, unsigned level, double x3, double y3, double x2, double y2, double angle, double ecc)=0
virtual void collectShape(unsigned id, unsigned level, unsigned parent, unsigned masterPage, unsigned masterShape, unsigned lineStyle, unsigned fillStyle, unsigned textStyle, const VSDName &aShapeType)=0
virtual 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)=0
virtual void collectOLEList(unsigned id, unsigned level)=0
virtual void collectDocumentTheme(const VSDXTheme *theme)=0
virtual void collectTxtXForm(unsigned level, const XForm &txtxform)=0
virtual void collectPolylineTo(unsigned id, unsigned level, double x, double y, unsigned char xType, unsigned char yType, const std::vector< std::pair< double, double > > &points)=0
virtual void collectLayerMem(unsigned level, const VSDName &layerMem)=0
virtual void collectSplineStart(unsigned id, unsigned level, double x, double y, double secondKnot, double firstKnot, double lastKnot, unsigned degree)=0
virtual void collectXFormData(unsigned level, const XForm &xform)=0
virtual void collectMisc(unsigned level, const VSDMisc &misc)=0
virtual 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)=0
virtual void collectRelMoveTo(unsigned id, unsigned level, double x, double y)=0
virtual void startPage(unsigned pageId)=0
virtual void collectEllipse(unsigned id, unsigned level, double cx, double cy, double xleft, double yleft, double xtop, double ytop)=0
VSDCollector & operator=(const VSDCollector &)
virtual 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)=0
virtual void collectOLEData(unsigned id, unsigned level, const librevenge::RVNGBinaryData &oleData)=0
virtual void collectShapeData(unsigned id, unsigned level, unsigned char xType, unsigned char yType, std::vector< std::pair< double, double > > points)=0
virtual void endPages()=0
virtual void collectMetaData(const librevenge::RVNGPropertyList &metaData)=0
virtual void collectRelQuadBezTo(unsigned id, unsigned level, double x, double y, double a, double b)=0
virtual 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)=0
virtual 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)=0
virtual void collectNumericField(unsigned id, unsigned level, unsigned short format, unsigned short cellType, double number, int formatStringId)=0
virtual 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)=0
virtual 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)=0
virtual 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)=0
virtual 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)=0
virtual void collectPageSheet(unsigned id, unsigned level)=0
virtual void collectPolylineTo(unsigned id, unsigned level, double x, double y, const PolylineData &data)=0
virtual void collectTabsDataList(unsigned level, const std::map< unsigned, VSDTabSet > &tabSets)=0
virtual void collectLineTo(unsigned id, unsigned level, double x, double y)=0
virtual void collectRelEllipticalArcTo(unsigned id, unsigned level, double x, double y, double a, double b, double c, double d)=0
virtual void collectForeignData(unsigned level, const librevenge::RVNGBinaryData &binaryData)=0
virtual void collectName(unsigned id, unsigned level, const librevenge::RVNGBinaryData &name, TextFormat format)=0
virtual void collectGeometry(unsigned id, unsigned level, bool noFill, bool noLine, bool noShow)=0
VSDCollector(const VSDCollector &)
virtual void collectPolylineTo(unsigned id, unsigned level, double x, double y, unsigned dataID)=0
virtual 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)=0
virtual void collectSplineKnot(unsigned id, unsigned level, double x, double y, double knot)=0
virtual void collectRelCubBezTo(unsigned id, unsigned level, double x, double y, double a, double b, double c, double d)=0
virtual 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)=0
virtual void collectLayer(unsigned id, unsigned level, const VSDLayer &layer)=0
virtual void collectNURBSTo(unsigned id, unsigned level, double x2, double y2, double knot, double knotPrev, double weight, double weightPrev, const NURBSData &data)=0
virtual void collectShapesOrder(unsigned id, unsigned level, const std::vector< unsigned > &shapeIds)=0
virtual void collectText(unsigned level, const librevenge::RVNGBinaryData &textStream, TextFormat format)=0
virtual 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)=0
VSDCollector()
Definition VSDCollector.h:23
virtual void collectMoveTo(unsigned id, unsigned level, double x, double y)=0
virtual 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)=0
virtual void collectStyleSheet(unsigned id, unsigned level, unsigned parentLineStyle, unsigned parentFillStyle, unsigned parentTextStyle)=0
virtual void collectRelLineTo(unsigned id, unsigned level, double x, double y)=0
virtual void collectNameList(unsigned id, unsigned level)=0
virtual ~VSDCollector()
Definition VSDCollector.h:24
virtual 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)=0
virtual void collectForeignDataType(unsigned level, unsigned foreignType, unsigned foreignFormat, double offsetX, double offsetY, double width, double height)=0
virtual void collectPage(unsigned id, unsigned level, unsigned backgroundPageID, bool isBackgroundPage, const VSDName &pageName)=0
virtual 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)=0
virtual void collectFieldList(unsigned id, unsigned level)=0
virtual void collectSplineEnd()=0
virtual void collectUnhandledChunk(unsigned id, unsigned level)=0
virtual void collectTextField(unsigned id, unsigned level, int nameId, int formatStringId)=0
Definition VSDTypes.h:171
Definition VSDXTheme.h:85
Definition libvisio_utils.h:47
TextFormat
Definition VSDTypes.h:150
Definition VSDTypes.h:94
Definition VSDTypes.h:115
Definition VSDLayerList.h:22
Definition VSDTypes.h:204
Definition VSDTypes.h:23

Generated for libvisio by doxygen 1.14.0