VSDContentCollector.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 VSDCONTENTCOLLECTOR_H
11 #define VSDCONTENTCOLLECTOR_H
12 
13 #include <locale.h>
14 #include <sstream>
15 #include <string>
16 #include <cmath>
17 #include <map>
18 #include <memory>
19 #include <list>
20 #include <vector>
21 #include "libvisio_utils.h"
22 #include "VSDCollector.h"
23 #include "VSDParser.h"
24 #include "VSDOutputElementList.h"
25 #include "VSDStyles.h"
26 #include "VSDPages.h"
27 
28 namespace libvisio
29 {
30 
32 {
33 public:
35  librevenge::RVNGDrawingInterface *painter,
36  std::vector<std::map<unsigned, XForm> > &groupXFormsSequence,
37  std::vector<std::map<unsigned, unsigned> > &groupMembershipsSequence,
38  std::vector<std::list<unsigned> > &documentPageShapeOrders,
39  VSDStyles &styles, VSDStencils &stencils
40  );
41 
42  void collectDocumentTheme(const VSDXTheme *theme) override;
43  void collectEllipticalArcTo(unsigned id, unsigned level, double x3, double y3, double x2, double y2, double angle, double ecc) override;
44  void collectForeignData(unsigned level, const librevenge::RVNGBinaryData &binaryData) override;
45  void collectOLEList(unsigned id, unsigned level) override;
46  void collectOLEData(unsigned id, unsigned level, const librevenge::RVNGBinaryData &oleData) override;
47  void collectEllipse(unsigned id, unsigned level, double cx, double cy, double xleft, double yleft, double xtop, double ytop) override;
48  void collectLine(unsigned level, const boost::optional<double> &strokeWidth, const boost::optional<Colour> &c, const boost::optional<unsigned char> &linePattern,
49  const boost::optional<unsigned char> &startMarker, const boost::optional<unsigned char> &endMarker,
50  const boost::optional<unsigned char> &lineCap, const boost::optional<double> &rounding,
51  const boost::optional<long> &qsLineColour, const boost::optional<long> &qsLineMatrix) override;
52  void collectFillAndShadow(unsigned level, const boost::optional<Colour> &colourFG, const boost::optional<Colour> &colourBG,
53  const boost::optional<unsigned char> &fillPattern, const boost::optional<double> &fillFGTransparency,
54  const boost::optional<double> &fillBGTransparency, const boost::optional<unsigned char> &shadowPattern,
55  const boost::optional<Colour> &shfgc, const boost::optional<double> &shadowOffsetX, const boost::optional<double> &shadowOffsetY,
56  const boost::optional<long> &qsFc, const boost::optional<long> &qsSc, const boost::optional<long> &qsLm) override;
57  void collectFillAndShadow(unsigned level, const boost::optional<Colour> &colourFG, const boost::optional<Colour> &colourBG,
58  const boost::optional<unsigned char> &fillPattern, const boost::optional<double> &fillFGTransparency,
59  const boost::optional<double> &fillBGTransparency, const boost::optional<unsigned char> &shadowPattern,
60  const boost::optional<Colour> &shfgc) override;
61  void collectGeometry(unsigned id, unsigned level, bool noFill, bool noLine, bool noShow) override;
62  void collectMoveTo(unsigned id, unsigned level, double x, double y) override;
63  void collectLineTo(unsigned id, unsigned level, double x, double y) override;
64  void collectArcTo(unsigned id, unsigned level, double x2, double y2, double bow) override;
65  void collectNURBSTo(unsigned id, unsigned level, double x2, double y2, unsigned char xType, unsigned char yType, unsigned degree,
66  const std::vector<std::pair<double, double> > &ctrlPnts, const std::vector<double> &kntVec, const std::vector<double> &weights) override;
67  void collectNURBSTo(unsigned id, unsigned level, double x2, double y2, double knot, double knotPrev, double weight, double weightPrev, unsigned dataID) override;
68  void collectNURBSTo(unsigned id, unsigned level, double x2, double y2, double knot, double knotPrev, double weight, double weightPrev, const NURBSData &data) override;
69  void collectPolylineTo(unsigned id, unsigned level, double x, double y, unsigned char xType, unsigned char yType,
70  const std::vector<std::pair<double, double> > &points) override;
71  void collectPolylineTo(unsigned id, unsigned level, double x, double y, unsigned dataID) override;
72  void collectPolylineTo(unsigned id, unsigned level, double x, double y, const PolylineData &data) override;
73  void collectShapeData(unsigned id, unsigned level, unsigned char xType, unsigned char yType, unsigned degree, double lastKnot,
74  std::vector<std::pair<double, double> > controlPoints, std::vector<double> knotVector, std::vector<double> weights) override;
75  void collectShapeData(unsigned id, unsigned level, unsigned char xType, unsigned char yType, std::vector<std::pair<double, double> > points) override;
76  void collectXFormData(unsigned level, const XForm &xform) override;
77  void collectTxtXForm(unsigned level, const XForm &txtxform) override;
78  void collectShapesOrder(unsigned id, unsigned level, const std::vector<unsigned> &shapeIds) override;
79  void collectForeignDataType(unsigned level, unsigned foreignType, unsigned foreignFormat, double offsetX, double offsetY, double width, double height) override;
80  void collectPageProps(unsigned id, unsigned level, double pageWidth, double pageHeight, double shadowOffsetX, double shadowOffsetY, double scale) override;
81  void collectPage(unsigned id, unsigned level, unsigned backgroundPageID, bool isBackgroundPage, const VSDName &pageName) override;
82  void collectShape(unsigned id, unsigned level, unsigned parent, unsigned masterPage, unsigned masterShape, unsigned lineStyle, unsigned fillStyle, unsigned textStyle) override;
83  void collectSplineStart(unsigned id, unsigned level, double x, double y, double secondKnot, double firstKnot, double lastKnot, unsigned degree) override;
84  void collectSplineKnot(unsigned id, unsigned level, double x, double y, double knot) override;
85  void collectSplineEnd() override;
86  void collectInfiniteLine(unsigned id, unsigned level, double x1, double y1, double x2, double y2) override;
87  void collectRelCubBezTo(unsigned id, unsigned level, double x, double y, double a, double b, double c, double d) override;
88  void collectRelEllipticalArcTo(unsigned id, unsigned level, double x, double y, double a, double b, double c, double d) override;
89  void collectRelLineTo(unsigned id, unsigned level, double x, double y) override;
90  void collectRelMoveTo(unsigned id, unsigned level, double x, double y) override;
91  void collectRelQuadBezTo(unsigned id, unsigned level, double x, double y, double a, double b) override;
92 
93  void collectUnhandledChunk(unsigned id, unsigned level) override;
94 
95  void collectText(unsigned level, const librevenge::RVNGBinaryData &textStream, TextFormat format) override;
96  void collectCharIX(unsigned id, unsigned level, unsigned charCount, const boost::optional<VSDName> &font,
97  const boost::optional<Colour> &fontColour, const boost::optional<double> &fontSize, const boost::optional<bool> &bold,
98  const boost::optional<bool> &italic, const boost::optional<bool> &underline, const boost::optional<bool> &doubleunderline,
99  const boost::optional<bool> &strikeout, const boost::optional<bool> &doublestrikeout, const boost::optional<bool> &allcaps,
100  const boost::optional<bool> &initcaps, const boost::optional<bool> &smallcaps, const boost::optional<bool> &superscript,
101  const boost::optional<bool> &subscript, const boost::optional<double> &scaleWidth) override;
102  void collectDefaultCharStyle(unsigned charCount, const boost::optional<VSDName> &font, const boost::optional<Colour> &fontColour,
103  const boost::optional<double> &fontSize, const boost::optional<bool> &bold, const boost::optional<bool> &italic,
104  const boost::optional<bool> &underline, const boost::optional<bool> &doubleunderline, const boost::optional<bool> &strikeout,
105  const boost::optional<bool> &doublestrikeout, const boost::optional<bool> &allcaps, const boost::optional<bool> &initcaps,
106  const boost::optional<bool> &smallcaps, const boost::optional<bool> &superscript, const boost::optional<bool> &subscript,
107  const boost::optional<double> &scaleWidth) override;
108  void collectParaIX(unsigned id, unsigned level, unsigned charCount, const boost::optional<double> &indFirst,
109  const boost::optional<double> &indLeft, const boost::optional<double> &indRight, const boost::optional<double> &spLine,
110  const boost::optional<double> &spBefore, const boost::optional<double> &spAfter, const boost::optional<unsigned char> &align,
111  const boost::optional<unsigned char> &bullet, const boost::optional<VSDName> &bulletStr, const boost::optional<VSDName> &bulletFont,
112  const boost::optional<double> &bulletFontSize, const boost::optional<double> &textPosAfterBullet,
113  const boost::optional<unsigned> &flags) override;
114  void collectDefaultParaStyle(unsigned charCount, const boost::optional<double> &indFirst, const boost::optional<double> &indLeft,
115  const boost::optional<double> &indRight, const boost::optional<double> &spLine, const boost::optional<double> &spBefore,
116  const boost::optional<double> &spAfter, const boost::optional<unsigned char> &align,
117  const boost::optional<unsigned char> &bullet, const boost::optional<VSDName> &bulletStr,
118  const boost::optional<VSDName> &bulletFont, const boost::optional<double> &bulletFontSize,
119  const boost::optional<double> &textPosAfterBullet, const boost::optional<unsigned> &flags) override;
120  void collectTextBlock(unsigned level, const boost::optional<double> &leftMargin, const boost::optional<double> &rightMargin,
121  const boost::optional<double> &topMargin, const boost::optional<double> &bottomMargin,
122  const boost::optional<unsigned char> &verticalAlign, const boost::optional<bool> &isBgFilled,
123  const boost::optional<Colour> &bgColour, const boost::optional<double> &defaultTabStop,
124  const boost::optional<unsigned char> &textDirection) override;
125  void collectNameList(unsigned id, unsigned level) override;
126  void collectName(unsigned id, unsigned level, const librevenge::RVNGBinaryData &name, TextFormat format) override;
127  void collectPageSheet(unsigned id, unsigned level) override;
128  void collectMisc(unsigned level, const VSDMisc &misc) override;
129  void collectLayer(unsigned id, unsigned level, const VSDLayer &layer) override;
130  void collectLayerMem(unsigned level, const VSDName &layerMem) override;
131  void collectTabsDataList(unsigned level, const std::map<unsigned, VSDTabSet> &tabSets) override;
132 
133  // Style collectors
134  void collectStyleSheet(unsigned id, unsigned level, unsigned parentLineStyle, unsigned parentFillStyle, unsigned parentTextStyle) override;
135  void collectLineStyle(unsigned level, const boost::optional<double> &strokeWidth, const boost::optional<Colour> &c, const boost::optional<unsigned char> &linePattern,
136  const boost::optional<unsigned char> &startMarker, const boost::optional<unsigned char> &endMarker,
137  const boost::optional<unsigned char> &lineCap, const boost::optional<double> &rounding,
138  const boost::optional<long> &qsLineColour, const boost::optional<long> &qsLineMatrix) override;
139  void collectFillStyle(unsigned level, const boost::optional<Colour> &colourFG, const boost::optional<Colour> &colourBG,
140  const boost::optional<unsigned char> &fillPattern, const boost::optional<double> &fillFGTransparency,
141  const boost::optional<double> &fillBGTransparency, const boost::optional<unsigned char> &shadowPattern,
142  const boost::optional<Colour> &shfgc, const boost::optional<double> &shadowOffsetX, const boost::optional<double> &shadowOffsetY,
143  const boost::optional<long> &qsFillColour, const boost::optional<long> &qsShadowColour,
144  const boost::optional<long> &qsFillMatrix) override;
145  void collectFillStyle(unsigned level, const boost::optional<Colour> &colourFG, const boost::optional<Colour> &colourBG,
146  const boost::optional<unsigned char> &fillPattern, const boost::optional<double> &fillFGTransparency,
147  const boost::optional<double> &fillBGTransparency, const boost::optional<unsigned char> &shadowPattern,
148  const boost::optional<Colour> &shfgc) override;
149  void collectCharIXStyle(unsigned id, unsigned level, unsigned charCount, const boost::optional<VSDName> &font,
150  const boost::optional<Colour> &fontColour, const boost::optional<double> &fontSize, const boost::optional<bool> &bold,
151  const boost::optional<bool> &italic, const boost::optional<bool> &underline, const boost::optional<bool> &doubleunderline,
152  const boost::optional<bool> &strikeout, const boost::optional<bool> &doublestrikeout, const boost::optional<bool> &allcaps,
153  const boost::optional<bool> &initcaps, const boost::optional<bool> &smallcaps, const boost::optional<bool> &superscript,
154  const boost::optional<bool> &subscript, const boost::optional<double> &scaleWidth) override;
155  void collectParaIXStyle(unsigned id, unsigned level, unsigned charCount, const boost::optional<double> &indFirst,
156  const boost::optional<double> &indLeft, const boost::optional<double> &indRight, const boost::optional<double> &spLine,
157  const boost::optional<double> &spBefore, const boost::optional<double> &spAfter, const boost::optional<unsigned char> &align,
158  const boost::optional<unsigned char> &bullet, const boost::optional<VSDName> &bulletStr,
159  const boost::optional<VSDName> &bulletFont, const boost::optional<double> &bulletFontSize,
160  const boost::optional<double> &textPosAfterBullet, const boost::optional<unsigned> &flags) override;
161  void collectTextBlockStyle(unsigned level, const boost::optional<double> &leftMargin, const boost::optional<double> &rightMargin,
162  const boost::optional<double> &topMargin, const boost::optional<double> &bottomMargin,
163  const boost::optional<unsigned char> &verticalAlign, const boost::optional<bool> &isBgFilled,
164  const boost::optional<Colour> &bgColour, const boost::optional<double> &defaultTabStop,
165  const boost::optional<unsigned char> &textDirection) override;
166 
167  void collectMetaData(const librevenge::RVNGPropertyList &metaData) override;
168 
169 
170  // Field list
171  void collectFieldList(unsigned id, unsigned level) override;
172  void collectTextField(unsigned id, unsigned level, int nameId, int formatStringId) override;
173  void collectNumericField(unsigned id, unsigned level, unsigned short format, double number, int formatStringId) override;
174 
175  void startPage(unsigned pageId) override;
176  void endPage() override;
177  void endPages() override;
178 
179 
180 private:
183  librevenge::RVNGDrawingInterface *m_painter;
184 
185  void applyXForm(double &x, double &y, const XForm &xform);
186 
187  void transformPoint(double &x, double &y, XForm *txtxform = nullptr);
188  void transformAngle(double &angle, XForm *txtxform = nullptr);
189  void transformFlips(bool &flipX, bool &flipY);
190 
191  double _NURBSBasis(unsigned knot, unsigned degree, double point, const std::vector<double> &knotVector);
192 
193  void _flushShape();
194  void _flushCurrentPath(unsigned id);
195  void _flushText();
197  void _flushCurrentPage();
198 
199  void _handleLevelChange(unsigned level);
200 
201  void _handleForeignData(const librevenge::RVNGBinaryData &data);
202 
203  void _lineProperties(const VSDLineStyle &style, librevenge::RVNGPropertyList &styleProps);
204  void _fillAndShadowProperties(const VSDFillStyle &style, librevenge::RVNGPropertyList &styleProps);
205 
207  const char *_linePropertiesMarkerViewbox(unsigned marker);
208  const char *_linePropertiesMarkerPath(unsigned marker);
209  double _linePropertiesMarkerScale(unsigned marker);
210 
211  void appendCharacters(librevenge::RVNGString &text, const std::vector<unsigned char> &characters, TextFormat format);
212  void appendCharacters(librevenge::RVNGString &text, const std::vector<unsigned char> &characters);
213  void _convertDataToString(librevenge::RVNGString &result, const librevenge::RVNGBinaryData &data, TextFormat format);
214  bool parseFormatId(const char *formatString, unsigned short &result);
215  void _appendField(librevenge::RVNGString &text);
216 
217  // NURBS processing functions
218  bool _isUniform(const std::vector<double> &weights) const;
219  void _generatePolylineFromNURBS(unsigned degree, const std::vector<std::pair<double, double> > &controlPoints,
220  const std::vector<double> &knotVector, const std::vector<double> &weights);
221  void _generateBezierSegmentsFromNURBS(unsigned degree, const std::vector<std::pair<double, double> > &controlPoints,
222  const std::vector<double> &knotVector);
223  void _outputCubicBezierSegment(const std::vector<std::pair<double, double> > &points);
224  void _outputQuadraticBezierSegment(const std::vector<std::pair<double, double> > &points);
225  void _outputLinearBezierSegment(const std::vector<std::pair<double, double> > &points);
226  void _appendVisibleAndPrintable(librevenge::RVNGPropertyList &propList);
227  void _bulletFromParaFormat(VSDBullet &bullet, const VSDParaStyle &paraStyle);
228  void _listLevelFromBullet(librevenge::RVNGPropertyList &propList, const VSDBullet &bullet);
229  void _fillParagraphProperties(librevenge::RVNGPropertyList &propList, const VSDParaStyle &style);
230  void _fillTabSet(librevenge::RVNGPropertyList &propList, const VSDTabSet &tabSet);
231  void _fillCharProperties(librevenge::RVNGPropertyList &propList, const VSDCharStyle &style);
232  void _convertToPath(const std::vector<librevenge::RVNGPropertyList> &segmentVector,
233  librevenge::RVNGPropertyListVector &path, double rounding);
234 
236  double m_pageWidth;
237  double m_pageHeight;
240  double m_scale;
241  double m_x;
242  double m_y;
243  double m_originalX;
244  double m_originalY;
246  std::unique_ptr<XForm> m_txtxform;
248  std::vector<librevenge::RVNGPropertyList> m_currentFillGeometry;
249  std::vector<librevenge::RVNGPropertyList> m_currentLineGeometry;
250  std::map<unsigned, XForm> *m_groupXForms;
251  librevenge::RVNGBinaryData m_currentForeignData;
252  librevenge::RVNGBinaryData m_currentOLEData;
253  librevenge::RVNGPropertyList m_currentForeignProps;
255  unsigned m_foreignType;
256  unsigned m_foreignFormat;
261  bool m_noLine;
262  bool m_noFill;
263  bool m_noShow;
264  std::map<unsigned short, VSDFont> m_fonts;
265  unsigned m_currentLevel;
267  std::vector<std::map<unsigned, XForm> > &m_groupXFormsSequence;
268  std::vector<std::map<unsigned, unsigned> > &m_groupMembershipsSequence;
269  std::vector<std::map<unsigned, unsigned> >::iterator m_groupMemberships;
272  std::map<unsigned, VSDOutputElementList> m_pageOutputDrawing;
273  std::map<unsigned, VSDOutputElementList> m_pageOutputText;
274  std::vector<std::list<unsigned> > &m_documentPageShapeOrders;
275  std::vector<std::list<unsigned> >::iterator m_pageShapeOrder;
277 
278  std::map<unsigned, NURBSData> m_NURBSData;
279  std::map<unsigned, PolylineData> m_polylineData;
281  std::map<unsigned, librevenge::RVNGString> m_names, m_stencilNames;
282  std::vector<librevenge::RVNGString> m_fields;
284  unsigned m_fieldIndex;
285  std::vector<VSDCharStyle> m_charFormats;
286  std::vector<VSDParaStyle> m_paraFormats;
287 
291 
294 
297 
301 
303 
305  unsigned m_currentPageID;
308 
310 
311  std::vector<std::pair<double, double> > m_splineControlPoints;
312  std::vector<double> m_splineKnotVector;
315  unsigned m_splineDegree;
316  unsigned m_splineLevel;
319 
321  std::vector<unsigned> m_currentLayerMem;
322  std::vector<VSDTabSet> m_tabSets;
323 
325 };
326 
327 } // namespace libvisio
328 
329 #endif /* VSDCONTENTCOLLECTOR_H */
330 /* vim:set shiftwidth=2 softtabstop=2 expandtab: */
libvisio::VSDContentCollector::collectShapeData
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: VSDContentCollector.cpp:2323
libvisio::VSDContentCollector::collectRelEllipticalArcTo
void collectRelEllipticalArcTo(unsigned id, unsigned level, double x, double y, double a, double b, double c, double d) override
Definition: VSDContentCollector.cpp:1570
libvisio::NURBSData::points
std::vector< std::pair< double, double > > points
Definition: VSDTypes.h:103
libvisio::VSDTextBlockStyle
Definition: VSDStyles.h:495
libvisio::VSDContentCollector::m_painter
librevenge::RVNGDrawingInterface * m_painter
Definition: VSDContentCollector.h:183
libvisio::VSDContentCollector::m_isFirstGeometry
bool m_isFirstGeometry
Definition: VSDContentCollector.h:276
libvisio::VSDContentCollector::collectTextBlock
void collectTextBlock(unsigned level, const boost::optional< double > &leftMargin, const boost::optional< double > &rightMargin, const boost::optional< double > &topMargin, const boost::optional< double > &bottomMargin, const boost::optional< unsigned char > &verticalAlign, const boost::optional< bool > &isBgFilled, const boost::optional< Colour > &bgColour, const boost::optional< double > &defaultTabStop, const boost::optional< unsigned char > &textDirection) override
Definition: VSDContentCollector.cpp:2763
libvisio::VSDContentCollector::m_splineLastKnot
double m_splineLastKnot
Definition: VSDContentCollector.h:314
libvisio::VSDFillStyle::fgTransparency
double fgTransparency
Definition: VSDStyles.h:212
libvisio::VSDContentCollector::_linePropertiesMarkerPath
const char * _linePropertiesMarkerPath(unsigned marker)
Definition: VSDContentCollector.cpp:184
libvisio::VSDContentCollector::collectRelCubBezTo
void collectRelCubBezTo(unsigned id, unsigned level, double x, double y, double a, double b, double c, double d) override
Definition: VSDContentCollector.cpp:1540
libvisio::VSDContentCollector::_fillAndShadowProperties
void _fillAndShadowProperties(const VSDFillStyle &style, librevenge::RVNGPropertyList &styleProps)
Definition: VSDContentCollector.cpp:3105
libvisio::VSDFillStyle::fgColour
Colour fgColour
Definition: VSDStyles.h:209
libvisio::VSDContentCollector::_NURBSBasis
double _NURBSBasis(unsigned knot, unsigned degree, double point, const std::vector< double > &knotVector)
Definition: VSDContentCollector.cpp:2039
libvisio::VSDContentCollector::collectCharIXStyle
void collectCharIXStyle(unsigned id, unsigned level, unsigned charCount, const boost::optional< VSDName > &font, const boost::optional< Colour > &fontColour, const boost::optional< double > &fontSize, const boost::optional< bool > &bold, const boost::optional< bool > &italic, const boost::optional< bool > &underline, const boost::optional< bool > &doubleunderline, const boost::optional< bool > &strikeout, const boost::optional< bool > &doublestrikeout, const boost::optional< bool > &allcaps, const boost::optional< bool > &initcaps, const boost::optional< bool > &smallcaps, const boost::optional< bool > &superscript, const boost::optional< bool > &subscript, const boost::optional< double > &scaleWidth) override
Definition: VSDContentCollector.cpp:2862
libvisio::VSDContentCollector::_isUniform
bool _isUniform(const std::vector< double > &weights) const
Definition: VSDContentCollector.cpp:2102
libvisio::VSDContentCollector::m_documentPageShapeOrders
std::vector< std::list< unsigned > > & m_documentPageShapeOrders
Definition: VSDContentCollector.h:274
libvisio::appendUCS4
void appendUCS4(librevenge::RVNGString &text, UChar32 ucs4Character)
Definition: libvisio_utils.cpp:134
libvisio::VSDNumericField
Definition: VSDFieldList.h:58
libvisio::VSDContentCollector::collectStyleSheet
void collectStyleSheet(unsigned id, unsigned level, unsigned parentLineStyle, unsigned parentFillStyle, unsigned parentTextStyle) override
Definition: VSDContentCollector.cpp:2804
libvisio::VSDLineStyle::endMarker
unsigned char endMarker
Definition: VSDStyles.h:101
libvisio::VSDContentCollector::collectEllipse
void collectEllipse(unsigned id, unsigned level, double cx, double cy, double xleft, double yleft, double xtop, double ytop) override
Definition: VSDContentCollector.cpp:1398
libvisio::VSD_TEXT_TURKISH
@ VSD_TEXT_TURKISH
Definition: VSDTypes.h:162
libvisio::VSDContentCollector::m_backgroundPageID
unsigned m_backgroundPageID
Definition: VSDContentCollector.h:304
libvisio::VSDContentCollector::transformPoint
void transformPoint(double &x, double &y, XForm *txtxform=nullptr)
Definition: VSDContentCollector.cpp:2381
libvisio::VSDCharStyle::initcaps
bool initcaps
Definition: VSDStyles.h:341
libvisio::VSDContentCollector::m_styles
VSDStyles m_styles
Definition: VSDContentCollector.h:296
libvisio::VSDContentCollector::collectParaIX
void collectParaIX(unsigned id, unsigned level, unsigned charCount, const boost::optional< double > &indFirst, const boost::optional< double > &indLeft, const boost::optional< double > &indRight, const boost::optional< double > &spLine, const boost::optional< double > &spBefore, const boost::optional< double > &spAfter, const boost::optional< unsigned char > &align, const boost::optional< unsigned char > &bullet, const boost::optional< VSDName > &bulletStr, const boost::optional< VSDName > &bulletFont, const boost::optional< double > &bulletFontSize, const boost::optional< double > &textPosAfterBullet, const boost::optional< unsigned > &flags) override
Definition: VSDContentCollector.cpp:2700
libvisio::getColourString
const librevenge::RVNGString getColourString(const Colour &c)
Definition: libvisio_utils.cpp:105
libvisio::VSDParaStyle::spAfter
double spAfter
Definition: VSDStyles.h:442
libvisio::VSDCharStyle::charCount
unsigned charCount
Definition: VSDStyles.h:330
libvisio::VSDContentCollector::m_splineY
double m_splineY
Definition: VSDContentCollector.h:313
libvisio::VSDBullet::m_textPosAfterBullet
double m_textPosAfterBullet
Definition: VSDTypes.h:242
libvisio::VSDContentCollector::transformFlips
void transformFlips(bool &flipX, bool &flipY)
Definition: VSDContentCollector.cpp:2443
libvisio::VSDContentCollector::collectCharIX
void collectCharIX(unsigned id, unsigned level, unsigned charCount, const boost::optional< VSDName > &font, const boost::optional< Colour > &fontColour, const boost::optional< double > &fontSize, const boost::optional< bool > &bold, const boost::optional< bool > &italic, const boost::optional< bool > &underline, const boost::optional< bool > &doubleunderline, const boost::optional< bool > &strikeout, const boost::optional< bool > &doublestrikeout, const boost::optional< bool > &allcaps, const boost::optional< bool > &initcaps, const boost::optional< bool > &smallcaps, const boost::optional< bool > &superscript, const boost::optional< bool > &subscript, const boost::optional< double > &scaleWidth) override
Definition: VSDContentCollector.cpp:2727
libvisio::VSDContentCollector::collectGeometry
void collectGeometry(unsigned id, unsigned level, bool noFill, bool noLine, bool noShow) override
Definition: VSDContentCollector.cpp:1784
libvisio::VSDBullet
Definition: VSDTypes.h:238
libvisio::VSDFillStyle
Definition: VSDStyles.h:162
libvisio::VSDContentCollector::m_lineStyle
VSDLineStyle m_lineStyle
Definition: VSDContentCollector.h:288
libvisio::VSDCharStyle::doubleunderline
bool doubleunderline
Definition: VSDStyles.h:337
libvisio::VSDFieldListElement::getString
virtual librevenge::RVNGString getString(const std::map< unsigned, librevenge::RVNGString > &)=0
libvisio::VSDLineStyle::colour
Colour colour
Definition: VSDStyles.h:98
libvisio::VSDContentCollector::collectLineStyle
void collectLineStyle(unsigned level, const boost::optional< double > &strokeWidth, const boost::optional< Colour > &c, const boost::optional< unsigned char > &linePattern, const boost::optional< unsigned char > &startMarker, const boost::optional< unsigned char > &endMarker, const boost::optional< unsigned char > &lineCap, const boost::optional< double > &rounding, const boost::optional< long > &qsLineColour, const boost::optional< long > &qsLineMatrix) override
Definition: VSDContentCollector.cpp:2815
libvisio::VSDPage
Definition: VSDPages.h:20
libvisio::VSDLineStyle::width
double width
Definition: VSDStyles.h:97
libvisio::VSDContentCollector::collectLineTo
void collectLineTo(unsigned id, unsigned level, double x, double y) override
Definition: VSDContentCollector.cpp:1817
libvisio::VSDCharStyle::allcaps
bool allcaps
Definition: VSDStyles.h:340
libvisio::VSDFieldListElement
Definition: VSDFieldList.h:25
libvisio::VSDContentCollector::operator=
VSDContentCollector & operator=(const VSDContentCollector &)
libvisio::VSDContentCollector::_flushText
void _flushText()
Definition: VSDContentCollector.cpp:602
libvisio::VSDContentCollector::m_layerList
VSDLayerList m_layerList
Definition: VSDContentCollector.h:309
libvisio::VSDContentCollector::collectPageSheet
void collectPageSheet(unsigned id, unsigned level) override
Definition: VSDContentCollector.cpp:2797
libvisio::VSDContentCollector::parseFormatId
bool parseFormatId(const char *formatString, unsigned short &result)
Definition: VSDContentCollector.cpp:3559
libvisio::VSDFieldListElement::setFormat
virtual void setFormat(unsigned short)=0
libvisio::VSDContentCollector::collectSplineStart
void collectSplineStart(unsigned id, unsigned level, double x, double y, double secondKnot, double firstKnot, double lastKnot, unsigned degree) override
Definition: VSDContentCollector.cpp:2652
libvisio::VSDContentCollector::m_fieldIndex
unsigned m_fieldIndex
Definition: VSDContentCollector.h:284
libvisio::VSDContentCollector::m_isPageStarted
bool m_isPageStarted
Definition: VSDContentCollector.h:235
libvisio::PolylineData::points
std::vector< std::pair< double, double > > points
Definition: VSDTypes.h:126
libvisio::VSDContentCollector::collectEllipticalArcTo
void collectEllipticalArcTo(unsigned id, unsigned level, double x3, double y3, double x2, double y2, double angle, double ecc) override
Definition: VSDContentCollector.cpp:1325
libvisio::VSDContentCollector::_fillCharProperties
void _fillCharProperties(librevenge::RVNGPropertyList &propList, const VSDCharStyle &style)
Definition: VSDContentCollector.cpp:1121
libvisio::VSDContentCollector::_generatePolylineFromNURBS
void _generatePolylineFromNURBS(unsigned degree, const std::vector< std::pair< double, double > > &controlPoints, const std::vector< double > &knotVector, const std::vector< double > &weights)
Definition: VSDContentCollector.cpp:2062
libvisio::VSDContentCollector::collectDefaultCharStyle
void collectDefaultCharStyle(unsigned charCount, const boost::optional< VSDName > &font, const boost::optional< Colour > &fontColour, const boost::optional< double > &fontSize, const boost::optional< bool > &bold, const boost::optional< bool > &italic, const boost::optional< bool > &underline, const boost::optional< bool > &doubleunderline, const boost::optional< bool > &strikeout, const boost::optional< bool > &doublestrikeout, const boost::optional< bool > &allcaps, const boost::optional< bool > &initcaps, const boost::optional< bool > &smallcaps, const boost::optional< bool > &superscript, const boost::optional< bool > &subscript, const boost::optional< double > &scaleWidth) override
Definition: VSDContentCollector.cpp:2751
libvisio::XForm
Definition: VSDTypes.h:23
libvisio::VSDContentCollector::collectTextBlockStyle
void collectTextBlockStyle(unsigned level, const boost::optional< double > &leftMargin, const boost::optional< double > &rightMargin, const boost::optional< double > &topMargin, const boost::optional< double > &bottomMargin, const boost::optional< unsigned char > &verticalAlign, const boost::optional< bool > &isBgFilled, const boost::optional< Colour > &bgColour, const boost::optional< double > &defaultTabStop, const boost::optional< unsigned char > &textDirection) override
Definition: VSDContentCollector.cpp:2874
libvisio::VSDContentCollector::collectPage
void collectPage(unsigned id, unsigned level, unsigned backgroundPageID, bool isBackgroundPage, const VSDName &pageName) override
Definition: VSDContentCollector.cpp:2513
libvisio::VSDContentCollector::m_x
double m_x
Definition: VSDContentCollector.h:241
LIBVISIO_EPSILON
#define LIBVISIO_EPSILON
Definition: VSDContentCollector.cpp:1324
libvisio::VSDFillStyle::shadowOffsetX
double shadowOffsetX
Definition: VSDStyles.h:216
libvisio::VSDCollector
Definition: VSDCollector.h:21
libvisio::NURBSData::yType
unsigned char yType
Definition: VSDTypes.h:100
libvisio::VSDContentCollector::m_y
double m_y
Definition: VSDContentCollector.h:242
libvisio::VSDBullet::m_bulletFont
librevenge::RVNGString m_bulletFont
Definition: VSDTypes.h:240
libvisio::VSDContentCollector::m_splineLevel
unsigned m_splineLevel
Definition: VSDContentCollector.h:316
libvisio::VSDFillStyle::shadowPattern
unsigned char shadowPattern
Definition: VSDStyles.h:215
libvisio::VSDParaStyle::indFirst
double indFirst
Definition: VSDStyles.h:437
libvisio::VSDParaStyle::indRight
double indRight
Definition: VSDStyles.h:439
libvisio::VSDLineStyle::cap
unsigned char cap
Definition: VSDStyles.h:102
VSDContentCollector.h
libvisio::VSDContentCollector::m_charFormats
std::vector< VSDCharStyle > m_charFormats
Definition: VSDContentCollector.h:285
libvisio::VSDContentCollector::endPages
void endPages() override
Definition: VSDContentCollector.cpp:3554
libvisio::VSDContentCollector::collectRelMoveTo
void collectRelMoveTo(unsigned id, unsigned level, double x, double y) override
Definition: VSDContentCollector.cpp:1586
libvisio::VSDContentCollector::collectParaIXStyle
void collectParaIXStyle(unsigned id, unsigned level, unsigned charCount, const boost::optional< double > &indFirst, const boost::optional< double > &indLeft, const boost::optional< double > &indRight, const boost::optional< double > &spLine, const boost::optional< double > &spBefore, const boost::optional< double > &spAfter, const boost::optional< unsigned char > &align, const boost::optional< unsigned char > &bullet, const boost::optional< VSDName > &bulletStr, const boost::optional< VSDName > &bulletFont, const boost::optional< double > &bulletFontSize, const boost::optional< double > &textPosAfterBullet, const boost::optional< unsigned > &flags) override
Definition: VSDContentCollector.cpp:2847
VSD_DEBUG_MSG
#define VSD_DEBUG_MSG(M)
Definition: libvisio_utils.h:42
libvisio::VSDContentCollector::m_groupMemberships
std::vector< std::map< unsigned, unsigned > >::iterator m_groupMemberships
Definition: VSDContentCollector.h:269
libvisio::VSDContentCollector::_fillTabSet
void _fillTabSet(librevenge::RVNGPropertyList &propList, const VSDTabSet &tabSet)
Definition: VSDContentCollector.cpp:1195
libvisio::VSDStencils
Definition: VSDStencils.h:78
libvisio::VSDContentCollector::collectNURBSTo
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: VSDContentCollector.cpp:2119
libvisio::VSDParaStyle::textPosAfterBullet
double textPosAfterBullet
Definition: VSDStyles.h:448
libvisio::VSDContentCollector::m_groupXFormsSequence
std::vector< std::map< unsigned, XForm > > & m_groupXFormsSequence
Definition: VSDContentCollector.h:267
VSD_EPSILON
#define VSD_EPSILON
Definition: libvisio_utils.h:23
libvisio::VSDContentCollector::m_currentOLEData
librevenge::RVNGBinaryData m_currentOLEData
Definition: VSDContentCollector.h:252
libvisio::VSDContentCollector::m_pageWidth
double m_pageWidth
Definition: VSDContentCollector.h:236
libvisio::VSDContentCollector::_flushCurrentPath
void _flushCurrentPath(unsigned id)
Definition: VSDContentCollector.cpp:316
libvisio::VSDContentCollector::VSDContentCollector
VSDContentCollector(librevenge::RVNGDrawingInterface *painter, std::vector< std::map< unsigned, XForm > > &groupXFormsSequence, std::vector< std::map< unsigned, unsigned > > &groupMembershipsSequence, std::vector< std::list< unsigned > > &documentPageShapeOrders, VSDStyles &styles, VSDStencils &stencils)
Definition: VSDContentCollector.cpp:117
libvisio::VSDParaStyle::bulletFont
VSDName bulletFont
Definition: VSDStyles.h:446
libvisio::PolylineData::xType
unsigned char xType
Definition: VSDTypes.h:124
libvisio::VSDContentCollector::m_foreignType
unsigned m_foreignType
Definition: VSDContentCollector.h:255
libvisio::VSDContentCollector::m_txtxform
std::unique_ptr< XForm > m_txtxform
Definition: VSDContentCollector.h:246
libvisio::VSDContentCollector::m_currentFillGeometry
std::vector< librevenge::RVNGPropertyList > m_currentFillGeometry
Definition: VSDContentCollector.h:248
libvisio::VSDContentCollector::m_stencils
VSDStencils m_stencils
Definition: VSDContentCollector.h:298
libvisio::VSDContentCollector::m_pages
VSDPages m_pages
Definition: VSDContentCollector.h:307
libvisio::VSDContentCollector::applyXForm
void applyXForm(double &x, double &y, const XForm &xform)
Definition: VSDContentCollector.cpp:2362
libvisio::VSDContentCollector::_outputLinearBezierSegment
void _outputLinearBezierSegment(const std::vector< std::pair< double, double > > &points)
Definition: VSDContentCollector.cpp:1935
libvisio::VSDContentCollector::m_defaultCharStyle
VSDCharStyle m_defaultCharStyle
Definition: VSDContentCollector.h:292
libvisio::VSDContentCollector::collectPolylineTo
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: VSDContentCollector.cpp:2242
libvisio::VSDContentCollector::_flushShape
void _flushShape()
Definition: VSDContentCollector.cpp:252
libvisio::VSDContentCollector::collectTabsDataList
void collectTabsDataList(unsigned level, const std::map< unsigned, VSDTabSet > &tabSets) override
Definition: VSDContentCollector.cpp:2741
libvisio::VSDContentCollector::collectForeignDataType
void collectForeignDataType(unsigned level, unsigned foreignType, unsigned foreignFormat, double offsetX, double offsetY, double width, double height) override
Definition: VSDContentCollector.cpp:2489
libvisio::VSDContentCollector::collectFillStyle
void collectFillStyle(unsigned level, const boost::optional< Colour > &colourFG, const boost::optional< Colour > &colourBG, const boost::optional< unsigned char > &fillPattern, const boost::optional< double > &fillFGTransparency, const boost::optional< double > &fillBGTransparency, const boost::optional< unsigned char > &shadowPattern, const boost::optional< Colour > &shfgc, const boost::optional< double > &shadowOffsetX, const boost::optional< double > &shadowOffsetY, const boost::optional< long > &qsFillColour, const boost::optional< long > &qsShadowColour, const boost::optional< long > &qsFillMatrix) override
Definition: VSDContentCollector.cpp:2825
libvisio::VSDCharStyle::italic
bool italic
Definition: VSDStyles.h:335
libvisio::VSDContentCollector::collectText
void collectText(unsigned level, const librevenge::RVNGBinaryData &textStream, TextFormat format) override
Definition: VSDContentCollector.cpp:2691
libvisio::VSDParaStyle::spLine
double spLine
Definition: VSDStyles.h:440
libvisio::VSDContentCollector::collectForeignData
void collectForeignData(unsigned level, const librevenge::RVNGBinaryData &binaryData) override
Definition: VSDContentCollector.cpp:1645
libvisio::VSDContentCollector::m_currentForeignData
librevenge::RVNGBinaryData m_currentForeignData
Definition: VSDContentCollector.h:251
libvisio::VSDTabSet
Definition: VSDTypes.h:229
libvisio::VSDContentCollector::m_isBackgroundPage
bool m_isBackgroundPage
Definition: VSDContentCollector.h:318
libvisio::readU32
uint32_t readU32(librevenge::RVNGInputStream *input)
Definition: libvisio_utils.cpp:55
libvisio::VSDContentCollector::m_noShow
bool m_noShow
Definition: VSDContentCollector.h:263
libvisio::VSDContentCollector::m_shadowOffsetX
double m_shadowOffsetX
Definition: VSDContentCollector.h:238
libvisio::VSDContentCollector::collectTextField
void collectTextField(unsigned id, unsigned level, int nameId, int formatStringId) override
Definition: VSDContentCollector.cpp:3415
libvisio::VSDContentCollector::m_pageShapeOrder
std::vector< std::list< unsigned > >::iterator m_pageShapeOrder
Definition: VSDContentCollector.h:275
libvisio::VSDTabSet::m_tabStops
std::map< unsigned, VSDTabStop > m_tabStops
Definition: VSDTypes.h:231
libvisio::VSDContentCollector::m_currentForeignProps
librevenge::RVNGPropertyList m_currentForeignProps
Definition: VSDContentCollector.h:253
libvisio::VSDContentCollector::collectFieldList
void collectFieldList(unsigned id, unsigned level) override
Definition: VSDContentCollector.cpp:3409
VSDInternalStream.h
libvisio::VSDContentCollector::m_NURBSData
std::map< unsigned, NURBSData > m_NURBSData
Definition: VSDContentCollector.h:278
VSDStyles.h
libvisio::VSDContentCollector::collectMetaData
void collectMetaData(const librevenge::RVNGPropertyList &metaData) override
Definition: VSDContentCollector.cpp:3508
libvisio::VSDOptionalParaStyle
Definition: VSDStyles.h:349
libvisio::VSDCharStyle::font
VSDName font
Definition: VSDStyles.h:331
libvisio::VSDContentCollector::m_scale
double m_scale
Definition: VSDContentCollector.h:240
libvisio::VSDContentCollector::collectFillAndShadow
void collectFillAndShadow(unsigned level, const boost::optional< Colour > &colourFG, const boost::optional< Colour > &colourBG, const boost::optional< unsigned char > &fillPattern, const boost::optional< double > &fillFGTransparency, const boost::optional< double > &fillBGTransparency, const boost::optional< unsigned char > &shadowPattern, const boost::optional< Colour > &shfgc, const boost::optional< double > &shadowOffsetX, const boost::optional< double > &shadowOffsetY, const boost::optional< long > &qsFc, const boost::optional< long > &qsSc, const boost::optional< long > &qsLm) override
Definition: VSDContentCollector.cpp:1626
libvisio::VSDFillStyle::pattern
unsigned char pattern
Definition: VSDStyles.h:211
libvisio::Colour
Definition: VSDTypes.h:73
libvisio::VSDContentCollector::_generateBezierSegmentsFromNURBS
void _generateBezierSegmentsFromNURBS(unsigned degree, const std::vector< std::pair< double, double > > &controlPoints, const std::vector< double > &knotVector)
Definition: VSDContentCollector.cpp:1953
libvisio::VSDCharStyle::colour
Colour colour
Definition: VSDStyles.h:332
libvisio::XForm::pinLocY
double pinLocY
Definition: VSDTypes.h:29
libvisio::NURBSData::weights
std::vector< double > weights
Definition: VSDTypes.h:102
VSD_NUM_ELEMENTS
#define VSD_NUM_ELEMENTS(array)
Definition: libvisio_utils.h:46
VSDPages.h
libvisio::VSDFieldList
Definition: VSDFieldList.h:82
libvisio::VSDContentCollector::collectLayerMem
void collectLayerMem(unsigned level, const VSDName &layerMem) override
Definition: VSDContentCollector.cpp:3745
libvisio::VSDParaStyle::charCount
unsigned charCount
Definition: VSDStyles.h:436
VSDCollector.h
libvisio::VSDTextField
Definition: VSDFieldList.h:38
libvisio::VSDContentCollector::_convertDataToString
void _convertDataToString(librevenge::RVNGString &result, const librevenge::RVNGBinaryData &data, TextFormat format)
Definition: VSDContentCollector.cpp:2779
libvisio::VSDContentCollector::m_noFill
bool m_noFill
Definition: VSDContentCollector.h:262
libvisio::VSD_TEXT_CHINESE_TRADITIONAL
@ VSD_TEXT_CHINESE_TRADITIONAL
Definition: VSDTypes.h:173
libvisio::VSDContentCollector::_listLevelFromBullet
void _listLevelFromBullet(librevenge::RVNGPropertyList &propList, const VSDBullet &bullet)
Definition: VSDContentCollector.cpp:3844
libvisio::VSDContentCollector::_outputCubicBezierSegment
void _outputCubicBezierSegment(const std::vector< std::pair< double, double > > &points)
Definition: VSDContentCollector.cpp:1884
libvisio::VSDLineStyle
Definition: VSDStyles.h:65
libvisio::VSDContentCollector::m_currentStyleSheet
unsigned m_currentStyleSheet
Definition: VSDContentCollector.h:295
libvisio::VSDContentCollector::m_currentPageID
unsigned m_currentPageID
Definition: VSDContentCollector.h:305
libvisio::XForm::pinLocX
double pinLocX
Definition: VSDTypes.h:28
libvisio::VSDContentCollector::m_splineKnotVector
std::vector< double > m_splineKnotVector
Definition: VSDContentCollector.h:312
libvisio::VSDContentCollector::collectPageProps
void collectPageProps(unsigned id, unsigned level, double pageWidth, double pageHeight, double shadowOffsetX, double shadowOffsetY, double scale) override
Definition: VSDContentCollector.cpp:2500
libvisio::VSDName::m_format
TextFormat m_format
Definition: VSDTypes.h:196
libvisio::readU16
uint16_t readU16(librevenge::RVNGInputStream *input)
Definition: libvisio_utils.cpp:34
libvisio::VSDParaStyle
Definition: VSDStyles.h:404
libvisio::VSD_TEXT_GREEK
@ VSD_TEXT_GREEK
Definition: VSDTypes.h:161
libvisio::VSDContentCollector::m_pageOutputDrawing
std::map< unsigned, VSDOutputElementList > m_pageOutputDrawing
Definition: VSDContentCollector.h:272
libvisio::VSDCharStyle::size
double size
Definition: VSDStyles.h:333
libvisio::VSDOptionalCharStyle
Definition: VSDStyles.h:224
VSD_APPROX_EQUAL
#define VSD_APPROX_EQUAL(x, y)
Definition: libvisio_utils.h:25
MAX_ALLOWED_NURBS_DEGREE
#define MAX_ALLOWED_NURBS_DEGREE
Definition: VSDContentCollector.cpp:2117
VSD_ALMOST_ZERO
#define VSD_ALMOST_ZERO(m)
Definition: libvisio_utils.h:24
libvisio::VSDContentCollector::_handleForeignData
void _handleForeignData(const librevenge::RVNGBinaryData &data)
Definition: VSDContentCollector.cpp:1665
libvisio::VSDContentCollector::collectRelLineTo
void collectRelLineTo(unsigned id, unsigned level, double x, double y) override
Definition: VSDContentCollector.cpp:1579
libvisio::VSDContentCollector::m_shadowOffsetY
double m_shadowOffsetY
Definition: VSDContentCollector.h:239
libvisio::VSDTextField::getString
librevenge::RVNGString getString(const std::map< unsigned, librevenge::RVNGString > &strVec) override
Definition: VSDFieldList.cpp:24
libvisio::VSDFieldListElement::clone
virtual VSDFieldListElement * clone()=0
libvisio::VSDContentCollector::m_documentTheme
const VSDXTheme * m_documentTheme
Definition: VSDContentCollector.h:324
libvisio::VSDContentCollector::_lineProperties
void _lineProperties(const VSDLineStyle &style, librevenge::RVNGPropertyList &styleProps)
Definition: VSDContentCollector.cpp:2883
libvisio::VSDContentCollector::endPage
void endPage() override
Definition: VSDContentCollector.cpp:3535
libvisio::VSDFillStyle::bgColour
Colour bgColour
Definition: VSDStyles.h:210
libvisio::VSDGeometryListElement
Definition: VSDGeometryList.h:27
libvisio::VSDBullet::m_bulletFontSize
double m_bulletFontSize
Definition: VSDTypes.h:241
libvisio::VSDGeometryListElement::getDataID
virtual unsigned getDataID() const
Definition: VSDGeometryList.h:34
libvisio::VSDContentCollector::_flushCurrentPage
void _flushCurrentPage()
Definition: VSDContentCollector.cpp:1272
libvisio::VSDContentCollector::m_foreignFormat
unsigned m_foreignFormat
Definition: VSDContentCollector.h:256
libvisio::VSDCharStyle::underline
bool underline
Definition: VSDStyles.h:336
libvisio::VSDContentCollector::_convertToPath
void _convertToPath(const std::vector< librevenge::RVNGPropertyList > &segmentVector, librevenge::RVNGPropertyListVector &path, double rounding)
Definition: VSDContentCollector.cpp:487
libvisio::VSDContentCollector::m_isShapeStarted
bool m_isShapeStarted
Definition: VSDContentCollector.h:266
libvisio::VSDParaStyle::bullet
unsigned char bullet
Definition: VSDStyles.h:444
libvisio::VSDContentCollector::collectUnhandledChunk
void collectUnhandledChunk(unsigned id, unsigned level) override
Definition: VSDContentCollector.cpp:2647
libvisio::VSDParaStyle::align
unsigned char align
Definition: VSDStyles.h:443
libvisio::VSDContentCollector::m_fillStyle
VSDFillStyle m_fillStyle
Definition: VSDContentCollector.h:289
libvisio::VSDContentCollector::collectNumericField
void collectNumericField(unsigned id, unsigned level, unsigned short format, double number, int formatStringId) override
Definition: VSDContentCollector.cpp:3438
libvisio::VSDCharStyle::override
void override(const VSDOptionalCharStyle &style, const VSDXTheme *)
Definition: VSDStyles.h:311
libvisio::VSD_TEXT_UTF8
@ VSD_TEXT_UTF8
Definition: VSDTypes.h:174
libvisio::VSDContentCollector::m_currentLayerList
VSDLayerList m_currentLayerList
Definition: VSDContentCollector.h:320
libvisio::VSDContentCollector::m_foreignOffsetX
double m_foreignOffsetX
Definition: VSDContentCollector.h:257
libvisio::VSDContentCollector::m_currentLevel
unsigned m_currentLevel
Definition: VSDContentCollector.h:265
libvisio::VSDCharStyle::scaleWidth
double scaleWidth
Definition: VSDStyles.h:345
libvisio::VSD_TEXT_UTF16
@ VSD_TEXT_UTF16
Definition: VSDTypes.h:175
libvisio::VSDOptionalLineStyle
Definition: VSDStyles.h:24
libvisio::VSDContentCollector::m_isStencilStarted
bool m_isStencilStarted
Definition: VSDContentCollector.h:300
libvisio::VSDContentCollector::collectSplineEnd
void collectSplineEnd() override
Definition: VSDContentCollector.cpp:2673
libvisio::VSDParaStyle::indLeft
double indLeft
Definition: VSDStyles.h:438
libvisio::VSDContentCollector::startPage
void startPage(unsigned pageId) override
Definition: VSDContentCollector.cpp:3513
libvisio::VSDContentCollector::m_currentShapeId
unsigned m_currentShapeId
Definition: VSDContentCollector.h:254
libvisio::VSDContentCollector::collectSplineKnot
void collectSplineKnot(unsigned id, unsigned level, double x, double y, double knot) override
Definition: VSDContentCollector.cpp:2664
libvisio::VSDContentCollector::collectRelQuadBezTo
void collectRelQuadBezTo(unsigned id, unsigned level, double x, double y, double a, double b) override
Definition: VSDContentCollector.cpp:1593
libvisio::XForm::pinY
double pinY
Definition: VSDTypes.h:25
libvisio::PolylineData
Definition: VSDTypes.h:123
libvisio::VSDContentCollector::VSDContentCollector
VSDContentCollector(const VSDContentCollector &)
libvisio::VSDLayer
Definition: VSDLayerList.h:22
libvisio::VSD_TEXT_HEBREW
@ VSD_TEXT_HEBREW
Definition: VSDTypes.h:164
libvisio::VSDContentCollector::collectLayer
void collectLayer(unsigned id, unsigned level, const VSDLayer &layer) override
Definition: VSDContentCollector.cpp:3767
libvisio::VSDCharStyle::doublestrikeout
bool doublestrikeout
Definition: VSDStyles.h:339
libvisio::VSDLayerList
Definition: VSDLayerList.h:34
libvisio::VSDContentCollector::collectDocumentTheme
void collectDocumentTheme(const VSDXTheme *theme) override
Definition: VSDContentCollector.cpp:1318
libvisio::VSDContentCollector::_applyLinePattern
void _applyLinePattern()
libvisio::VSDContentCollector::m_foreignHeight
double m_foreignHeight
Definition: VSDContentCollector.h:260
libvisio::XForm::pinX
double pinX
Definition: VSDTypes.h:24
libvisio::VSDCharStyle::smallcaps
bool smallcaps
Definition: VSDStyles.h:342
libvisio::VSDContentCollector::m_names
std::map< unsigned, librevenge::RVNGString > m_names
Definition: VSDContentCollector.h:281
libvisio::VSDContentCollector::m_currentText
libvisio::VSDName m_currentText
Definition: VSDContentCollector.h:280
libvisio::VSDContentCollector
Definition: VSDContentCollector.h:32
libvisio::VSDContentCollector::m_currentGeometryCount
unsigned m_currentGeometryCount
Definition: VSDContentCollector.h:302
libvisio::VSDStyles
Definition: VSDStyles.h:533
libvisio::VSDMisc
Definition: VSDTypes.h:211
libvisio::VSDFieldListElement::setValue
virtual void setValue(double)=0
libvisio::NURBSData::xType
unsigned char xType
Definition: VSDTypes.h:99
libvisio::VSDCharStyle::strikeout
bool strikeout
Definition: VSDStyles.h:338
libvisio::PolylineData::yType
unsigned char yType
Definition: VSDTypes.h:125
libvisio::VSDContentCollector::m_shapeOutputText
VSDOutputElementList * m_shapeOutputText
Definition: VSDContentCollector.h:271
libvisio::VSDContentCollector::m_pageOutputText
std::map< unsigned, VSDOutputElementList > m_pageOutputText
Definition: VSDContentCollector.h:273
libvisio::VSDContentCollector::appendCharacters
void appendCharacters(librevenge::RVNGString &text, const std::vector< unsigned char > &characters, TextFormat format)
Definition: VSDContentCollector.cpp:3580
libvisio::VSDParaStyle::bulletFontSize
double bulletFontSize
Definition: VSDStyles.h:447
libvisio::VSDContentCollector::m_misc
VSDMisc m_misc
Definition: VSDContentCollector.h:247
libvisio::VSDContentCollector::collectShape
void collectShape(unsigned id, unsigned level, unsigned parent, unsigned masterPage, unsigned masterShape, unsigned lineStyle, unsigned fillStyle, unsigned textStyle) override
Definition: VSDContentCollector.cpp:2523
libvisio::VSDContentCollector::m_foreignOffsetY
double m_foreignOffsetY
Definition: VSDContentCollector.h:258
libvisio::VSDFillStyle::shadowOffsetY
double shadowOffsetY
Definition: VSDStyles.h:217
libvisio::VSD_TEXT_RUSSIAN
@ VSD_TEXT_RUSSIAN
Definition: VSDTypes.h:167
libvisio::VSDContentCollector::m_stencilFields
VSDFieldList m_stencilFields
Definition: VSDContentCollector.h:283
libvisio::VSDFillStyle::shadowFgColour
Colour shadowFgColour
Definition: VSDStyles.h:214
libvisio::VSDContentCollector::collectXFormData
void collectXFormData(unsigned level, const XForm &xform) override
Definition: VSDContentCollector.cpp:2348
libvisio::VSDContentCollector::_outputQuadraticBezierSegment
void _outputQuadraticBezierSegment(const std::vector< std::pair< double, double > > &points)
Definition: VSDContentCollector.cpp:1912
libvisio::VSDContentCollector::m_currentPageNumber
unsigned m_currentPageNumber
Definition: VSDContentCollector.h:270
libvisio::VSD_TEXT_THAI
@ VSD_TEXT_THAI
Definition: VSDTypes.h:168
libvisio::VSDCharStyle::subscript
bool subscript
Definition: VSDStyles.h:344
libvisio::VSDContentCollector::collectLine
void collectLine(unsigned level, const boost::optional< double > &strokeWidth, const boost::optional< Colour > &c, const boost::optional< unsigned char > &linePattern, const boost::optional< unsigned char > &startMarker, const boost::optional< unsigned char > &endMarker, const boost::optional< unsigned char > &lineCap, const boost::optional< double > &rounding, const boost::optional< long > &qsLineColour, const boost::optional< long > &qsLineMatrix) override
Definition: VSDContentCollector.cpp:1618
libvisio::VSDContentCollector::transformAngle
void transformAngle(double &angle, XForm *txtxform=nullptr)
Definition: VSDContentCollector.cpp:2424
libvisio::VSDContentCollector::m_shapeOutputDrawing
VSDOutputElementList * m_shapeOutputDrawing
Definition: VSDContentCollector.h:271
libvisio::VSDContentCollector::m_textBlockStyle
VSDTextBlockStyle m_textBlockStyle
Definition: VSDContentCollector.h:290
libvisio::VSD_TEXT_KOREAN
@ VSD_TEXT_KOREAN
Definition: VSDTypes.h:171
libvisio::VSDContentCollector::m_originalX
double m_originalX
Definition: VSDContentCollector.h:243
libvisio::XForm::flipX
bool flipX
Definition: VSDTypes.h:31
libvisio::VSDContentCollector::m_paraFormats
std::vector< VSDParaStyle > m_paraFormats
Definition: VSDContentCollector.h:286
VSDOutputElementList.h
libvisio::XForm::flipY
bool flipY
Definition: VSDTypes.h:32
libvisio::VSD_TEXT_ARABIC
@ VSD_TEXT_ARABIC
Definition: VSDTypes.h:165
libvisio::TextFormat
TextFormat
Definition: VSDTypes.h:158
libvisio::VSDContentCollector::m_stencilNames
std::map< unsigned, librevenge::RVNGString > m_stencilNames
Definition: VSDContentCollector.h:281
libvisio::VSDContentCollector::m_fields
std::vector< librevenge::RVNGString > m_fields
Definition: VSDContentCollector.h:282
libvisio::VSDXTheme
Definition: VSDXTheme.h:77
libvisio::NURBSData::knots
std::vector< double > knots
Definition: VSDTypes.h:101
libvisio::VSDContentCollector::_linePropertiesMarkerViewbox
const char * _linePropertiesMarkerViewbox(unsigned marker)
Definition: VSDContentCollector.cpp:148
libvisio::VSDPages
Definition: VSDPages.h:35
libvisio::VSDLineStyle::pattern
unsigned char pattern
Definition: VSDStyles.h:99
libvisio::VSDContentCollector::m_groupMembershipsSequence
std::vector< std::map< unsigned, unsigned > > & m_groupMembershipsSequence
Definition: VSDContentCollector.h:268
libvisio::VSDName::m_data
librevenge::RVNGBinaryData m_data
Definition: VSDTypes.h:195
libvisio::VSDOutputElementList
Definition: VSDOutputElementList.h:25
libvisio::VSDFillStyle::bgTransparency
double bgTransparency
Definition: VSDStyles.h:213
libvisio::VSDBullet::m_bulletStr
librevenge::RVNGString m_bulletStr
Definition: VSDTypes.h:239
libvisio::VSDContentCollector::m_polylineData
std::map< unsigned, PolylineData > m_polylineData
Definition: VSDContentCollector.h:279
libvisio::VSDContentCollector::collectName
void collectName(unsigned id, unsigned level, const librevenge::RVNGBinaryData &name, TextFormat format) override
Definition: VSDContentCollector.cpp:2788
libvisio::VSDShape
Definition: VSDStencils.h:27
libvisio::VSDContentCollector::m_xform
XForm m_xform
Definition: VSDContentCollector.h:245
libvisio::VSDParaStyle::spBefore
double spBefore
Definition: VSDStyles.h:441
libvisio::XForm::angle
double angle
Definition: VSDTypes.h:30
libvisio::VSDCharStyle::bold
bool bold
Definition: VSDStyles.h:334
libvisio::VSDContentCollector::m_pageHeight
double m_pageHeight
Definition: VSDContentCollector.h:237
libvisio::VSDName::empty
bool empty() const
Definition: VSDTypes.h:186
libvisio::VSDContentCollector::collectOLEData
void collectOLEData(unsigned id, unsigned level, const librevenge::RVNGBinaryData &oleData) override
Definition: VSDContentCollector.cpp:1659
libvisio::VSDParaStyle::flags
unsigned flags
Definition: VSDStyles.h:449
libvisio::VSDContentCollector::m_currentLineGeometry
std::vector< librevenge::RVNGPropertyList > m_currentLineGeometry
Definition: VSDContentCollector.h:249
libvisio::VSD_TEXT_CHINESE_SIMPLIFIED
@ VSD_TEXT_CHINESE_SIMPLIFIED
Definition: VSDTypes.h:172
libvisio::Colour::a
unsigned char a
Definition: VSDTypes.h:92
libvisio::VSDContentCollector::_bulletFromParaFormat
void _bulletFromParaFormat(VSDBullet &bullet, const VSDParaStyle &paraStyle)
Definition: VSDContentCollector.cpp:3788
libvisio::VSDContentCollector::collectTxtXForm
void collectTxtXForm(unsigned level, const XForm &txtxform) override
Definition: VSDContentCollector.cpp:2354
libvisio::VSD_TEXT_SYMBOL
@ VSD_TEXT_SYMBOL
Definition: VSDTypes.h:160
libvisio::VSDName
Definition: VSDTypes.h:179
libvisio::VSDContentCollector::m_originalY
double m_originalY
Definition: VSDContentCollector.h:244
libvisio::VSDContentCollector::m_defaultParaStyle
VSDParaStyle m_defaultParaStyle
Definition: VSDContentCollector.h:293
libvisio::NURBSData::degree
unsigned degree
Definition: VSDTypes.h:98
libvisio::VSDParaStyle::bulletStr
VSDName bulletStr
Definition: VSDStyles.h:445
libvisio::VSDLineStyle::startMarker
unsigned char startMarker
Definition: VSDStyles.h:100
MINUS_ONE
#define MINUS_ONE
Definition: VSDTypes.h:18
libvisio::VSDContentCollector::m_tabSets
std::vector< VSDTabSet > m_tabSets
Definition: VSDContentCollector.h:322
libvisio::VSDContentCollector::m_fonts
std::map< unsigned short, VSDFont > m_fonts
Definition: VSDContentCollector.h:264
libvisio::VSDContentCollector::_appendField
void _appendField(librevenge::RVNGString &text)
Definition: VSDContentCollector.cpp:3731
libvisio::NURBSData::lastKnot
double lastKnot
Definition: VSDTypes.h:97
libvisio::VSDContentCollector::m_splineControlPoints
std::vector< std::pair< double, double > > m_splineControlPoints
Definition: VSDContentCollector.h:311
libvisio::VSDContentCollector::collectArcTo
void collectArcTo(unsigned id, unsigned level, double x2, double y2, double bow) override
Definition: VSDContentCollector.cpp:1835
libvisio::VSDOptionalFillStyle
Definition: VSDStyles.h:109
libvisio::VSDContentCollector::_fillParagraphProperties
void _fillParagraphProperties(librevenge::RVNGPropertyList &propList, const VSDParaStyle &style)
Definition: VSDContentCollector.cpp:1156
libvisio::VSDContentCollector::collectMoveTo
void collectMoveTo(unsigned id, unsigned level, double x, double y) override
Definition: VSDContentCollector.cpp:1799
libvisio_utils.h
libvisio::VSDContentCollector::collectMisc
void collectMisc(unsigned level, const VSDMisc &misc) override
Definition: VSDContentCollector.cpp:3739
libvisio::VSD_TEXT_CENTRAL_EUROPE
@ VSD_TEXT_CENTRAL_EUROPE
Definition: VSDTypes.h:169
M_PI
#define M_PI
Definition: VSDContentCollector.cpp:34
libvisio::VSDNumericField::getString
librevenge::RVNGString getString(const std::map< unsigned, librevenge::RVNGString > &) override
Definition: VSDFieldList.cpp:65
libvisio::VSD_TEXT_BALTIC
@ VSD_TEXT_BALTIC
Definition: VSDTypes.h:166
libvisio::VSDContentCollector::m_groupXForms
std::map< unsigned, XForm > * m_groupXForms
Definition: VSDContentCollector.h:250
libvisio::VSDContentCollector::m_splineX
double m_splineX
Definition: VSDContentCollector.h:313
libvisio::VSDContentCollector::collectDefaultParaStyle
void collectDefaultParaStyle(unsigned charCount, const boost::optional< double > &indFirst, const boost::optional< double > &indLeft, const boost::optional< double > &indRight, const boost::optional< double > &spLine, const boost::optional< double > &spBefore, const boost::optional< double > &spAfter, const boost::optional< unsigned char > &align, const boost::optional< unsigned char > &bullet, const boost::optional< VSDName > &bulletStr, const boost::optional< VSDName > &bulletFont, const boost::optional< double > &bulletFontSize, const boost::optional< double > &textPosAfterBullet, const boost::optional< unsigned > &flags) override
Definition: VSDContentCollector.cpp:2715
libvisio::NURBSData
Definition: VSDTypes.h:96
libvisio::VSDContentCollector::m_stencilShape
const VSDShape * m_stencilShape
Definition: VSDContentCollector.h:299
libvisio::VSDContentCollector::m_foreignWidth
double m_foreignWidth
Definition: VSDContentCollector.h:259
libvisio::VSDOptionalTextBlockStyle
Definition: VSDStyles.h:453
libvisio::VSD_TEXT_JAPANESE
@ VSD_TEXT_JAPANESE
Definition: VSDTypes.h:170
libvisio::VSDContentCollector::collectNameList
void collectNameList(unsigned id, unsigned level) override
Definition: VSDContentCollector.cpp:2772
libvisio::VSDContentCollector::_appendVisibleAndPrintable
void _appendVisibleAndPrintable(librevenge::RVNGPropertyList &propList)
Definition: VSDContentCollector.cpp:3773
libvisio::VSDContentCollector::m_currentPage
VSDPage m_currentPage
Definition: VSDContentCollector.h:306
libvisio::VSDContentCollector::_linePropertiesMarkerScale
double _linePropertiesMarkerScale(unsigned marker)
Definition: VSDContentCollector.cpp:233
libvisio::VSDContentCollector::m_splineDegree
unsigned m_splineDegree
Definition: VSDContentCollector.h:315
libvisio::VSDContentCollector::collectOLEList
void collectOLEList(unsigned id, unsigned level) override
Definition: VSDContentCollector.cpp:1651
libvisio::VSDContentCollector::m_currentLayerMem
std::vector< unsigned > m_currentLayerMem
Definition: VSDContentCollector.h:321
libvisio::VSDContentCollector::m_currentShapeLevel
unsigned m_currentShapeLevel
Definition: VSDContentCollector.h:317
libvisio::VSDCharStyle
Definition: VSDStyles.h:288
libvisio
Definition: libvisio_utils.h:49
libvisio::VSDParaStyle::override
void override(const VSDOptionalParaStyle &style, const VSDXTheme *)
Definition: VSDStyles.h:419
libvisio::VSDContentCollector::m_noLine
bool m_noLine
Definition: VSDContentCollector.h:261
libvisio::VSDContentCollector::collectInfiniteLine
void collectInfiniteLine(unsigned id, unsigned level, double x1, double y1, double x2, double y2) override
Definition: VSDContentCollector.cpp:1451
libvisio::VSDCharStyle::superscript
bool superscript
Definition: VSDStyles.h:343
libvisio::VSD_TEXT_VIETNAMESE
@ VSD_TEXT_VIETNAMESE
Definition: VSDTypes.h:163
libvisio::VSDContentCollector::_handleLevelChange
void _handleLevelChange(unsigned level)
Definition: VSDContentCollector.cpp:3468
VSD_NUM_POLYLINES_PER_KNOT
#define VSD_NUM_POLYLINES_PER_KNOT
Definition: VSDContentCollector.cpp:2060
libvisio::VSDContentCollector::collectShapesOrder
void collectShapesOrder(unsigned id, unsigned level, const std::vector< unsigned > &shapeIds) override
Definition: VSDContentCollector.cpp:2484
libvisio::VSDContentCollector::_flushCurrentForeignData
void _flushCurrentForeignData()
Definition: VSDContentCollector.cpp:1224
VSDParser.h

Generated for libvisio by doxygen 1.8.20