10#ifndef VSDCONTENTCOLLECTOR_H
11#define VSDCONTENTCOLLECTOR_H
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,
40 const std::optional<unsigned> &varStyInd
44 void collectEllipticalArcTo(
unsigned id,
unsigned level,
double x3,
double y3,
double x2,
double y2,
double angle,
double ecc)
override;
45 void collectForeignData(
unsigned level,
const librevenge::RVNGBinaryData &binaryData)
override;
47 void collectOLEData(
unsigned id,
unsigned level,
const librevenge::RVNGBinaryData &oleData)
override;
48 void collectEllipse(
unsigned id,
unsigned level,
double cx,
double cy,
double xleft,
double yleft,
double xtop,
double ytop)
override;
49 void collectLine(
unsigned level,
const std::optional<double> &strokeWidth,
const std::optional<Colour> &c,
const std::optional<unsigned char> &linePattern,
50 const std::optional<unsigned char> &startMarker,
const std::optional<unsigned char> &endMarker,
51 const std::optional<unsigned char> &lineCap,
const std::optional<double> &rounding,
52 const std::optional<long> &qsLineColour,
const std::optional<long> &qsLineMatrix)
override;
53 void collectFillAndShadow(
unsigned level,
const std::optional<Colour> &colourFG,
const std::optional<Colour> &colourBG,
54 const std::optional<unsigned char> &fillPattern,
const std::optional<double> &fillFGTransparency,
55 const std::optional<double> &fillBGTransparency,
const std::optional<unsigned char> &shadowPattern,
56 const std::optional<Colour> &shfgc,
const std::optional<double> &shadowOffsetX,
const std::optional<double> &shadowOffsetY,
57 const std::optional<long> &qsFc,
const std::optional<long> &qsSc,
const std::optional<long> &qsLm)
override;
58 void collectFillAndShadow(
unsigned level,
const std::optional<Colour> &colourFG,
const std::optional<Colour> &colourBG,
59 const std::optional<unsigned char> &fillPattern,
const std::optional<double> &fillFGTransparency,
60 const std::optional<double> &fillBGTransparency,
const std::optional<unsigned char> &shadowPattern,
61 const std::optional<Colour> &shfgc)
override;
62 void collectGeometry(
unsigned id,
unsigned level,
bool noFill,
bool noLine,
bool noShow)
override;
63 void collectMoveTo(
unsigned id,
unsigned level,
double x,
double y)
override;
64 void collectLineTo(
unsigned id,
unsigned level,
double x,
double y)
override;
65 void collectArcTo(
unsigned id,
unsigned level,
double x2,
double y2,
double bow)
override;
66 void collectNURBSTo(
unsigned id,
unsigned level,
double x2,
double y2,
unsigned char xType,
unsigned char yType,
unsigned degree,
67 const std::vector<std::pair<double, double> > &ctrlPnts,
const std::vector<double> &kntVec,
const std::vector<double> &weights)
override;
68 void collectNURBSTo(
unsigned id,
unsigned level,
double x2,
double y2,
double knot,
double knotPrev,
double weight,
double weightPrev,
unsigned dataID)
override;
69 void collectNURBSTo(
unsigned id,
unsigned level,
double x2,
double y2,
double knot,
double knotPrev,
double weight,
double weightPrev,
const NURBSData &data)
override;
70 void collectPolylineTo(
unsigned id,
unsigned level,
double x,
double y,
unsigned char xType,
unsigned char yType,
71 const std::vector<std::pair<double, double> > &points)
override;
72 void collectPolylineTo(
unsigned id,
unsigned level,
double x,
double y,
unsigned dataID)
override;
74 void collectShapeData(
unsigned id,
unsigned level,
unsigned char xType,
unsigned char yType,
unsigned degree,
double lastKnot,
75 std::vector<std::pair<double, double> > controlPoints, std::vector<double> knotVector, std::vector<double> weights)
override;
76 void collectShapeData(
unsigned id,
unsigned level,
unsigned char xType,
unsigned char yType, std::vector<std::pair<double, double> > points)
override;
79 void collectShapesOrder(
unsigned id,
unsigned level,
const std::vector<unsigned> &shapeIds)
override;
80 void collectForeignDataType(
unsigned level,
unsigned foreignType,
unsigned foreignFormat,
double offsetX,
double offsetY,
double width,
double height)
override;
81 void collectPageProps(
unsigned id,
unsigned level,
double pageWidth,
double pageHeight,
double shadowOffsetX,
double shadowOffsetY,
double scale,
82 unsigned char drawingScaleUnit,
const std::optional<unsigned> variationColorIndex,
const std::optional<unsigned> variationStyleIndex)
override;
83 void collectPage(
unsigned id,
unsigned level,
unsigned backgroundPageID,
bool isBackgroundPage,
const VSDName &pageName)
override;
84 void collectShape(
unsigned id,
unsigned level,
unsigned parent,
unsigned masterPage,
unsigned masterShape,
unsigned lineStyle,
unsigned fillStyle,
unsigned textStyle,
const VSDName &aShapeType)
override;
85 void collectSplineStart(
unsigned id,
unsigned level,
double x,
double y,
double secondKnot,
double firstKnot,
double lastKnot,
unsigned degree)
override;
86 void collectSplineKnot(
unsigned id,
unsigned level,
double x,
double y,
double knot)
override;
88 void collectInfiniteLine(
unsigned id,
unsigned level,
double x1,
double y1,
double x2,
double y2)
override;
89 void collectRelCubBezTo(
unsigned id,
unsigned level,
double x,
double y,
double a,
double b,
double c,
double d)
override;
90 void collectRelEllipticalArcTo(
unsigned id,
unsigned level,
double x,
double y,
double a,
double b,
double c,
double d)
override;
91 void collectRelLineTo(
unsigned id,
unsigned level,
double x,
double y)
override;
92 void collectRelMoveTo(
unsigned id,
unsigned level,
double x,
double y)
override;
93 void collectRelQuadBezTo(
unsigned id,
unsigned level,
double x,
double y,
double a,
double b)
override;
97 void collectText(
unsigned level,
const librevenge::RVNGBinaryData &textStream,
TextFormat format)
override;
98 void collectCharIX(
unsigned id,
unsigned level,
unsigned charCount,
const std::optional<VSDName> &font,
99 const std::optional<Colour> &fontColour,
const std::optional<double> &fontSize,
const std::optional<bool> &bold,
100 const std::optional<bool> &italic,
const std::optional<bool> &underline,
const std::optional<bool> &doubleunderline,
101 const std::optional<bool> &strikeout,
const std::optional<bool> &doublestrikeout,
const std::optional<bool> &allcaps,
102 const std::optional<bool> &initcaps,
const std::optional<bool> &smallcaps,
const std::optional<bool> &superscript,
103 const std::optional<bool> &subscript,
const std::optional<double> &scaleWidth)
override;
104 void collectDefaultCharStyle(
unsigned charCount,
const std::optional<VSDName> &font,
const std::optional<Colour> &fontColour,
105 const std::optional<double> &fontSize,
const std::optional<bool> &bold,
const std::optional<bool> &italic,
106 const std::optional<bool> &underline,
const std::optional<bool> &doubleunderline,
const std::optional<bool> &strikeout,
107 const std::optional<bool> &doublestrikeout,
const std::optional<bool> &allcaps,
const std::optional<bool> &initcaps,
108 const std::optional<bool> &smallcaps,
const std::optional<bool> &superscript,
const std::optional<bool> &subscript,
109 const std::optional<double> &scaleWidth)
override;
110 void collectParaIX(
unsigned id,
unsigned level,
unsigned charCount,
const std::optional<double> &indFirst,
111 const std::optional<double> &indLeft,
const std::optional<double> &indRight,
const std::optional<double> &spLine,
112 const std::optional<double> &spBefore,
const std::optional<double> &spAfter,
const std::optional<unsigned char> &align,
113 const std::optional<unsigned char> &bullet,
const std::optional<VSDName> &bulletStr,
const std::optional<VSDName> &bulletFont,
114 const std::optional<double> &bulletFontSize,
const std::optional<double> &textPosAfterBullet,
115 const std::optional<unsigned> &flags)
override;
116 void collectDefaultParaStyle(
unsigned charCount,
const std::optional<double> &indFirst,
const std::optional<double> &indLeft,
117 const std::optional<double> &indRight,
const std::optional<double> &spLine,
const std::optional<double> &spBefore,
118 const std::optional<double> &spAfter,
const std::optional<unsigned char> &align,
119 const std::optional<unsigned char> &bullet,
const std::optional<VSDName> &bulletStr,
120 const std::optional<VSDName> &bulletFont,
const std::optional<double> &bulletFontSize,
121 const std::optional<double> &textPosAfterBullet,
const std::optional<unsigned> &flags)
override;
122 void collectTextBlock(
unsigned level,
const std::optional<double> &leftMargin,
const std::optional<double> &rightMargin,
123 const std::optional<double> &topMargin,
const std::optional<double> &bottomMargin,
124 const std::optional<unsigned char> &verticalAlign,
const std::optional<bool> &isBgFilled,
125 const std::optional<Colour> &bgColour,
const std::optional<double> &defaultTabStop,
126 const std::optional<unsigned char> &textDirection)
override;
128 void collectName(
unsigned id,
unsigned level,
const librevenge::RVNGBinaryData &name,
TextFormat format)
override;
133 void collectTabsDataList(
unsigned level,
const std::map<unsigned, VSDTabSet> &tabSets)
override;
136 void collectStyleSheet(
unsigned id,
unsigned level,
unsigned parentLineStyle,
unsigned parentFillStyle,
unsigned parentTextStyle)
override;
137 void collectLineStyle(
unsigned level,
const std::optional<double> &strokeWidth,
const std::optional<Colour> &c,
const std::optional<unsigned char> &linePattern,
138 const std::optional<unsigned char> &startMarker,
const std::optional<unsigned char> &endMarker,
139 const std::optional<unsigned char> &lineCap,
const std::optional<double> &rounding,
140 const std::optional<long> &qsLineColour,
const std::optional<long> &qsLineMatrix)
override;
141 void collectFillStyle(
unsigned level,
const std::optional<Colour> &colourFG,
const std::optional<Colour> &colourBG,
142 const std::optional<unsigned char> &fillPattern,
const std::optional<double> &fillFGTransparency,
143 const std::optional<double> &fillBGTransparency,
const std::optional<unsigned char> &shadowPattern,
144 const std::optional<Colour> &shfgc,
const std::optional<double> &shadowOffsetX,
const std::optional<double> &shadowOffsetY,
145 const std::optional<long> &qsFillColour,
const std::optional<long> &qsShadowColour,
146 const std::optional<long> &qsFillMatrix)
override;
147 void collectFillStyle(
unsigned level,
const std::optional<Colour> &colourFG,
const std::optional<Colour> &colourBG,
148 const std::optional<unsigned char> &fillPattern,
const std::optional<double> &fillFGTransparency,
149 const std::optional<double> &fillBGTransparency,
const std::optional<unsigned char> &shadowPattern,
150 const std::optional<Colour> &shfgc)
override;
151 void collectCharIXStyle(
unsigned id,
unsigned level,
unsigned charCount,
const std::optional<VSDName> &font,
152 const std::optional<Colour> &fontColour,
const std::optional<double> &fontSize,
const std::optional<bool> &bold,
153 const std::optional<bool> &italic,
const std::optional<bool> &underline,
const std::optional<bool> &doubleunderline,
154 const std::optional<bool> &strikeout,
const std::optional<bool> &doublestrikeout,
const std::optional<bool> &allcaps,
155 const std::optional<bool> &initcaps,
const std::optional<bool> &smallcaps,
const std::optional<bool> &superscript,
156 const std::optional<bool> &subscript,
const std::optional<double> &scaleWidth)
override;
157 void collectParaIXStyle(
unsigned id,
unsigned level,
unsigned charCount,
const std::optional<double> &indFirst,
158 const std::optional<double> &indLeft,
const std::optional<double> &indRight,
const std::optional<double> &spLine,
159 const std::optional<double> &spBefore,
const std::optional<double> &spAfter,
const std::optional<unsigned char> &align,
160 const std::optional<unsigned char> &bullet,
const std::optional<VSDName> &bulletStr,
161 const std::optional<VSDName> &bulletFont,
const std::optional<double> &bulletFontSize,
162 const std::optional<double> &textPosAfterBullet,
const std::optional<unsigned> &flags)
override;
163 void collectTextBlockStyle(
unsigned level,
const std::optional<double> &leftMargin,
const std::optional<double> &rightMargin,
164 const std::optional<double> &topMargin,
const std::optional<double> &bottomMargin,
165 const std::optional<unsigned char> &verticalAlign,
const std::optional<bool> &isBgFilled,
166 const std::optional<Colour> &bgColour,
const std::optional<double> &defaultTabStop,
167 const std::optional<unsigned char> &textDirection)
override;
169 void collectMetaData(
const librevenge::RVNGPropertyList &metaData)
override;
174 void collectTextField(
unsigned id,
unsigned level,
int nameId,
int formatStringId)
override;
175 void collectNumericField(
unsigned id,
unsigned level,
unsigned short format,
unsigned short cellType,
double number,
int formatStringId)
override;
177 void startPage(
unsigned pageId)
override;
193 double _NURBSBasis(
unsigned knot,
unsigned degree,
double point,
const std::vector<double> &knotVector);
215 void appendCharacters(librevenge::RVNGString &text,
const std::vector<unsigned char> &characters);
217 bool parseFormatId(
const char *formatString,
unsigned short &result);
221 bool _isUniform(
const std::vector<double> &weights)
const;
223 const std::vector<double> &knotVector,
const std::vector<double> &weights);
225 const std::vector<double> &knotVector);
235 void _convertToPath(
const std::vector<librevenge::RVNGPropertyList> &segmentVector,
236 librevenge::RVNGPropertyListVector &path,
double rounding);
VSDCollector()
Definition VSDCollector.h:23
void _flushText()
Definition VSDContentCollector.cpp:669
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:2131
void _flushCurrentPage()
Definition VSDContentCollector.cpp:1336
unsigned m_splineDegree
Definition VSDContentCollector.h:323
void collectForeignData(unsigned level, const librevenge::RVNGBinaryData &binaryData) override
Definition VSDContentCollector.cpp:1710
librevenge::RVNGBinaryData m_currentOLEData
Definition VSDContentCollector.h:256
VSDLineStyle m_lineStyle
Definition VSDContentCollector.h:293
void collectRelEllipticalArcTo(unsigned id, unsigned level, double x, double y, double a, double b, double c, double d) override
Definition VSDContentCollector.cpp:1634
const VSDShape * m_stencilShape
Definition VSDContentCollector.h:307
void collectInfiniteLine(unsigned id, unsigned level, double x1, double y1, double x2, double y2) override
Definition VSDContentCollector.cpp:1515
void _outputQuadraticBezierSegment(const std::vector< std::pair< double, double > > &points)
Definition VSDContentCollector.cpp:1977
unsigned m_currentStyleSheet
Definition VSDContentCollector.h:300
bool m_isPageStarted
Definition VSDContentCollector.h:238
double m_foreignOffsetY
Definition VSDContentCollector.h:263
const char * _linePropertiesMarkerViewbox(unsigned marker)
Definition VSDContentCollector.cpp:152
librevenge::RVNGBinaryData m_currentForeignData
Definition VSDContentCollector.h:255
std::vector< librevenge::RVNGPropertyList > m_currentFillGeometry
Definition VSDContentCollector.h:252
VSDLayerList m_currentLayerList
Definition VSDContentCollector.h:328
double m_pageHeight
Definition VSDContentCollector.h:240
VSDOutputElementList * m_shapeOutputDrawing
Definition VSDContentCollector.h:276
unsigned m_foreignFormat
Definition VSDContentCollector.h:261
void collectLine(unsigned level, const std::optional< double > &strokeWidth, const std::optional< Colour > &c, const std::optional< unsigned char > &linePattern, const std::optional< unsigned char > &startMarker, const std::optional< unsigned char > &endMarker, const std::optional< unsigned char > &lineCap, const std::optional< double > &rounding, const std::optional< long > &qsLineColour, const std::optional< long > &qsLineMatrix) override
Definition VSDContentCollector.cpp:1682
std::map< unsigned, VSDOutputElementList > m_pageOutputText
Definition VSDContentCollector.h:278
double m_splineLastKnot
Definition VSDContentCollector.h:322
VSDContentCollector & operator=(const VSDContentCollector &)
void transformFlips(bool &flipX, bool &flipY)
Definition VSDContentCollector.cpp:2512
std::vector< librevenge::RVNGPropertyList > m_currentLineGeometry
Definition VSDContentCollector.h:253
VSDTextBlockStyle m_textBlockStyle
Definition VSDContentCollector.h:295
VSDStyles m_styles
Definition VSDContentCollector.h:301
std::vector< std::map< unsigned, unsigned > > & m_groupMembershipsSequence
Definition VSDContentCollector.h:273
std::map< unsigned short, VSDFont > m_fonts
Definition VSDContentCollector.h:269
VSDPage m_currentPage
Definition VSDContentCollector.h:314
double _linePropertiesMarkerScale(unsigned marker)
Definition VSDContentCollector.cpp:301
void collectSplineEnd() override
Definition VSDContentCollector.cpp:2753
void _outputLinearBezierSegment(const std::vector< std::pair< double, double > > &points)
Definition VSDContentCollector.cpp:2000
double m_shadowOffsetY
Definition VSDContentCollector.h:242
void _convertDataToString(librevenge::RVNGString &result, const librevenge::RVNGBinaryData &data, TextFormat format)
Definition VSDContentCollector.cpp:2859
double m_splineY
Definition VSDContentCollector.h:321
void collectStyleSheet(unsigned id, unsigned level, unsigned parentLineStyle, unsigned parentFillStyle, unsigned parentTextStyle) override
Definition VSDContentCollector.cpp:2884
unsigned m_splineLevel
Definition VSDContentCollector.h:324
std::map< unsigned, NURBSData > m_NURBSData
Definition VSDContentCollector.h:283
double m_y
Definition VSDContentCollector.h:246
void transformPoint(double &x, double &y, XForm *txtxform=nullptr)
Definition VSDContentCollector.cpp:2450
bool _isDefaultShapeFormat()
Definition VSDContentCollector.cpp:3594
std::vector< std::pair< double, double > > m_splineControlPoints
Definition VSDContentCollector.h:319
VSDFieldList m_stencilFields
Definition VSDContentCollector.h:288
void collectMetaData(const librevenge::RVNGPropertyList &metaData) override
Definition VSDContentCollector.cpp:3611
void collectLayerMem(unsigned level, const VSDName &layerMem) override
Definition VSDContentCollector.cpp:3848
VSDParaStyle m_defaultParaStyle
Definition VSDContentCollector.h:298
bool m_noFill
Definition VSDContentCollector.h:267
double m_shadowOffsetX
Definition VSDContentCollector.h:241
unsigned m_currentLevel
Definition VSDContentCollector.h:270
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:2392
void collectDocumentTheme(const VSDXTheme *theme) override
Definition VSDContentCollector.cpp:1382
std::map< unsigned, VSDOutputElementList > m_pageOutputDrawing
Definition VSDContentCollector.h:277
void _convertToPath(const std::vector< librevenge::RVNGPropertyList > &segmentVector, librevenge::RVNGPropertyListVector &path, double rounding)
Definition VSDContentCollector.cpp:554
std::vector< librevenge::RVNGString > m_fields
Definition VSDContentCollector.h:287
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, const std::optional< unsigned > &varColInd, const std::optional< unsigned > &varStyInd)
Definition VSDContentCollector.cpp:118
VSDFillStyle m_fillStyle
Definition VSDContentCollector.h:294
bool m_isBackgroundPage
Definition VSDContentCollector.h:326
void collectRelLineTo(unsigned id, unsigned level, double x, double y) override
Definition VSDContentCollector.cpp:1643
void collectUnhandledChunk(unsigned id, unsigned level) override
Definition VSDContentCollector.cpp:2727
std::vector< double > m_splineKnotVector
Definition VSDContentCollector.h:320
VSDLayerList m_layerList
Definition VSDContentCollector.h:317
void collectTextField(unsigned id, unsigned level, int nameId, int formatStringId) override
Definition VSDContentCollector.cpp:3501
const char * _linePropertiesMarkerPath(unsigned marker)
Definition VSDContentCollector.cpp:194
std::optional< unsigned > m_variationStyleIndex
Definition VSDContentCollector.h:304
unsigned char m_defaultDrawingUnit
Definition VSDContentCollector.h:244
double m_x
Definition VSDContentCollector.h:245
void _outputCubicBezierSegment(const std::vector< std::pair< double, double > > &points)
Definition VSDContentCollector.cpp:1949
unsigned m_foreignType
Definition VSDContentCollector.h:260
void _fillParagraphProperties(librevenge::RVNGPropertyList &propList, const VSDParaStyle &style)
Definition VSDContentCollector.cpp:1220
double m_foreignWidth
Definition VSDContentCollector.h:264
void _generateBezierSegmentsFromNURBS(unsigned degree, const std::vector< std::pair< double, double > > &controlPoints, const std::vector< double > &knotVector)
Definition VSDContentCollector.cpp:2018
void _flushShape()
Definition VSDContentCollector.cpp:320
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:2311
void collectXFormData(unsigned level, const XForm &xform) override
Definition VSDContentCollector.cpp:2417
void collectParaIX(unsigned id, unsigned level, unsigned charCount, const std::optional< double > &indFirst, const std::optional< double > &indLeft, const std::optional< double > &indRight, const std::optional< double > &spLine, const std::optional< double > &spBefore, const std::optional< double > &spAfter, const std::optional< unsigned char > &align, const std::optional< unsigned char > &bullet, const std::optional< VSDName > &bulletStr, const std::optional< VSDName > &bulletFont, const std::optional< double > &bulletFontSize, const std::optional< double > &textPosAfterBullet, const std::optional< unsigned > &flags) override
Definition VSDContentCollector.cpp:2780
void _handleForeignData(const librevenge::RVNGBinaryData &data)
Definition VSDContentCollector.cpp:1730
unsigned m_parentShapeId
Definition VSDContentCollector.h:259
std::map< unsigned, PolylineData > m_polylineData
Definition VSDContentCollector.h:284
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:2188
void applyXForm(double &x, double &y, const XForm &xform)
Definition VSDContentCollector.cpp:2431
unsigned m_fieldIndex
Definition VSDContentCollector.h:289
void collectPageSheet(unsigned id, unsigned level) override
Definition VSDContentCollector.cpp:2877
void _fillTabSet(librevenge::RVNGPropertyList &propList, const VSDTabSet &tabSet)
Definition VSDContentCollector.cpp:1259
bool m_noLine
Definition VSDContentCollector.h:266
std::vector< std::map< unsigned, XForm > > & m_groupXFormsSequence
Definition VSDContentCollector.h:272
void collectPage(unsigned id, unsigned level, unsigned backgroundPageID, bool isBackgroundPage, const VSDName &pageName) override
Definition VSDContentCollector.cpp:2587
void collectRelMoveTo(unsigned id, unsigned level, double x, double y) override
Definition VSDContentCollector.cpp:1650
void collectEllipse(unsigned id, unsigned level, double cx, double cy, double xleft, double yleft, double xtop, double ytop) override
Definition VSDContentCollector.cpp:1462
void collectMoveTo(unsigned id, unsigned level, double x, double y) override
Definition VSDContentCollector.cpp:1864
void collectTxtXForm(unsigned level, const XForm &txtxform) override
Definition VSDContentCollector.cpp:2423
bool m_isFirstGeometry
Definition VSDContentCollector.h:281
VSDMisc m_misc
Definition VSDContentCollector.h:251
VSDContentCollector(const VSDContentCollector &)
std::unique_ptr< XForm > m_txtxform
Definition VSDContentCollector.h:250
void collectFieldList(unsigned id, unsigned level) override
Definition VSDContentCollector.cpp:3495
void _fillAndShadowProperties(const VSDFillStyle &style, librevenge::RVNGPropertyList &styleProps)
Definition VSDContentCollector.cpp:3191
VSDPages m_pages
Definition VSDContentCollector.h:315
void collectText(unsigned level, const librevenge::RVNGBinaryData &textStream, TextFormat format) override
Definition VSDContentCollector.cpp:2771
std::map< unsigned, XForm > * m_groupXForms
Definition VSDContentCollector.h:254
bool m_noShow
Definition VSDContentCollector.h:268
std::vector< VSDParaStyle > m_paraFormats
Definition VSDContentCollector.h:291
unsigned m_currentShapeLevel
Definition VSDContentCollector.h:325
void collectOLEData(unsigned id, unsigned level, const librevenge::RVNGBinaryData &oleData) override
Definition VSDContentCollector.cpp:1724
XForm m_xform
Definition VSDContentCollector.h:249
unsigned m_currentGeometryCount
Definition VSDContentCollector.h:310
librevenge::RVNGPropertyList m_currentForeignProps
Definition VSDContentCollector.h:257
void _fillCharProperties(librevenge::RVNGPropertyList &propList, const VSDCharStyle &style)
Definition VSDContentCollector.cpp:1185
void _handleLevelChange(unsigned level)
Definition VSDContentCollector.cpp:3554
VSDOutputElementList * m_shapeOutputText
Definition VSDContentCollector.h:276
void _appendVisibleAndPrintable(librevenge::RVNGPropertyList &propList)
Definition VSDContentCollector.cpp:3876
void _flushCurrentPath(unsigned id)
Definition VSDContentCollector.cpp:384
void appendCharacters(librevenge::RVNGString &text, const std::vector< unsigned char > &characters, TextFormat format)
Definition VSDContentCollector.cpp:3683
std::map< unsigned, librevenge::RVNGString > m_names
Definition VSDContentCollector.h:286
void transformAngle(double &angle, XForm *txtxform=nullptr)
Definition VSDContentCollector.cpp:2493
void collectShape(unsigned id, unsigned level, unsigned parent, unsigned masterPage, unsigned masterShape, unsigned lineStyle, unsigned fillStyle, unsigned textStyle, const VSDName &aShapeType) override
Definition VSDContentCollector.cpp:2597
void collectLineStyle(unsigned level, const std::optional< double > &strokeWidth, const std::optional< Colour > &c, const std::optional< unsigned char > &linePattern, const std::optional< unsigned char > &startMarker, const std::optional< unsigned char > &endMarker, const std::optional< unsigned char > &lineCap, const std::optional< double > &rounding, const std::optional< long > &qsLineColour, const std::optional< long > &qsLineMatrix) override
Definition VSDContentCollector.cpp:2895
void collectNameList(unsigned id, unsigned level) override
Definition VSDContentCollector.cpp:2852
void collectDefaultParaStyle(unsigned charCount, const std::optional< double > &indFirst, const std::optional< double > &indLeft, const std::optional< double > &indRight, const std::optional< double > &spLine, const std::optional< double > &spBefore, const std::optional< double > &spAfter, const std::optional< unsigned char > &align, const std::optional< unsigned char > &bullet, const std::optional< VSDName > &bulletStr, const std::optional< VSDName > &bulletFont, const std::optional< double > &bulletFontSize, const std::optional< double > &textPosAfterBullet, const std::optional< unsigned > &flags) override
Definition VSDContentCollector.cpp:2795
double _NURBSBasis(unsigned knot, unsigned degree, double point, const std::vector< double > &knotVector)
Definition VSDContentCollector.cpp:2108
void collectRelQuadBezTo(unsigned id, unsigned level, double x, double y, double a, double b) override
Definition VSDContentCollector.cpp:1657
std::vector< unsigned > m_currentLayerMem
Definition VSDContentCollector.h:329
void collectNumericField(unsigned id, unsigned level, unsigned short format, unsigned short cellType, double number, int formatStringId) override
Definition VSDContentCollector.cpp:3524
VSDCharStyle m_defaultCharStyle
Definition VSDContentCollector.h:297
std::optional< unsigned > m_variationColorIndex
Definition VSDContentCollector.h:303
bool _isUniform(const std::vector< double > &weights) const
Definition VSDContentCollector.cpp:2171
void collectCharIX(unsigned id, unsigned level, unsigned charCount, const std::optional< VSDName > &font, const std::optional< Colour > &fontColour, const std::optional< double > &fontSize, const std::optional< bool > &bold, const std::optional< bool > &italic, const std::optional< bool > &underline, const std::optional< bool > &doubleunderline, const std::optional< bool > &strikeout, const std::optional< bool > &doublestrikeout, const std::optional< bool > &allcaps, const std::optional< bool > &initcaps, const std::optional< bool > &smallcaps, const std::optional< bool > &superscript, const std::optional< bool > &subscript, const std::optional< double > &scaleWidth) override
Definition VSDContentCollector.cpp:2807
unsigned m_currentPageID
Definition VSDContentCollector.h:313
void collectTextBlock(unsigned level, const std::optional< double > &leftMargin, const std::optional< double > &rightMargin, const std::optional< double > &topMargin, const std::optional< double > &bottomMargin, const std::optional< unsigned char > &verticalAlign, const std::optional< bool > &isBgFilled, const std::optional< Colour > &bgColour, const std::optional< double > &defaultTabStop, const std::optional< unsigned char > &textDirection) override
Definition VSDContentCollector.cpp:2843
void collectMisc(unsigned level, const VSDMisc &misc) override
Definition VSDContentCollector.cpp:3842
void collectLayer(unsigned id, unsigned level, const VSDLayer &layer) override
Definition VSDContentCollector.cpp:3870
bool m_isShapeStarted
Definition VSDContentCollector.h:271
bool parseFormatId(const char *formatString, unsigned short &result)
Definition VSDContentCollector.cpp:3662
void collectPageProps(unsigned id, unsigned level, double pageWidth, double pageHeight, double shadowOffsetX, double shadowOffsetY, double scale, unsigned char drawingScaleUnit, const std::optional< unsigned > variationColorIndex, const std::optional< unsigned > variationStyleIndex) override
Definition VSDContentCollector.cpp:2569
void collectForeignDataType(unsigned level, unsigned foreignType, unsigned foreignFormat, double offsetX, double offsetY, double width, double height) override
Definition VSDContentCollector.cpp:2558
void _bulletFromParaFormat(VSDBullet &bullet, const VSDParaStyle ¶Style)
Definition VSDContentCollector.cpp:3891
bool m_isStencilStarted
Definition VSDContentCollector.h:308
libvisio::VSDName m_currentText
Definition VSDContentCollector.h:285
void collectName(unsigned id, unsigned level, const librevenge::RVNGBinaryData &name, TextFormat format) override
Definition VSDContentCollector.cpp:2868
void collectRelCubBezTo(unsigned id, unsigned level, double x, double y, double a, double b, double c, double d) override
Definition VSDContentCollector.cpp:1604
const VSDXTheme * m_documentTheme
Definition VSDContentCollector.h:332
std::vector< VSDTabSet > m_tabSets
Definition VSDContentCollector.h:330
void collectEllipticalArcTo(unsigned id, unsigned level, double x3, double y3, double x2, double y2, double angle, double ecc) override
Definition VSDContentCollector.cpp:1389
void collectFillStyle(unsigned level, const std::optional< Colour > &colourFG, const std::optional< Colour > &colourBG, const std::optional< unsigned char > &fillPattern, const std::optional< double > &fillFGTransparency, const std::optional< double > &fillBGTransparency, const std::optional< unsigned char > &shadowPattern, const std::optional< Colour > &shfgc, const std::optional< double > &shadowOffsetX, const std::optional< double > &shadowOffsetY, const std::optional< long > &qsFillColour, const std::optional< long > &qsShadowColour, const std::optional< long > &qsFillMatrix) override
Definition VSDContentCollector.cpp:2905
double m_foreignOffsetX
Definition VSDContentCollector.h:262
std::vector< VSDCharStyle > m_charFormats
Definition VSDContentCollector.h:290
unsigned m_currentShapeId
Definition VSDContentCollector.h:258
void collectFillAndShadow(unsigned level, const std::optional< Colour > &colourFG, const std::optional< Colour > &colourBG, const std::optional< unsigned char > &fillPattern, const std::optional< double > &fillFGTransparency, const std::optional< double > &fillBGTransparency, const std::optional< unsigned char > &shadowPattern, const std::optional< Colour > &shfgc, const std::optional< double > &shadowOffsetX, const std::optional< double > &shadowOffsetY, const std::optional< long > &qsFc, const std::optional< long > &qsSc, const std::optional< long > &qsLm) override
Definition VSDContentCollector.cpp:1690
double m_originalX
Definition VSDContentCollector.h:247
void endPages() override
Definition VSDContentCollector.cpp:3657
void collectDefaultCharStyle(unsigned charCount, const std::optional< VSDName > &font, const std::optional< Colour > &fontColour, const std::optional< double > &fontSize, const std::optional< bool > &bold, const std::optional< bool > &italic, const std::optional< bool > &underline, const std::optional< bool > &doubleunderline, const std::optional< bool > &strikeout, const std::optional< bool > &doublestrikeout, const std::optional< bool > &allcaps, const std::optional< bool > &initcaps, const std::optional< bool > &smallcaps, const std::optional< bool > &superscript, const std::optional< bool > &subscript, const std::optional< double > &scaleWidth) override
Definition VSDContentCollector.cpp:2831
void collectOLEList(unsigned id, unsigned level) override
Definition VSDContentCollector.cpp:1716
void endPage() override
Definition VSDContentCollector.cpp:3638
VSDStencils m_stencils
Definition VSDContentCollector.h:306
void _appendField(librevenge::RVNGString &text)
Definition VSDContentCollector.cpp:3834
void collectGeometry(unsigned id, unsigned level, bool noFill, bool noLine, bool noShow) override
Definition VSDContentCollector.cpp:1849
std::vector< std::list< unsigned > > & m_documentPageShapeOrders
Definition VSDContentCollector.h:279
void collectSplineStart(unsigned id, unsigned level, double x, double y, double secondKnot, double firstKnot, double lastKnot, unsigned degree) override
Definition VSDContentCollector.cpp:2732
void startPage(unsigned pageId) override
Definition VSDContentCollector.cpp:3616
std::vector< std::list< unsigned > >::iterator m_pageShapeOrder
Definition VSDContentCollector.h:280
std::vector< std::map< unsigned, unsigned > >::iterator m_groupMemberships
Definition VSDContentCollector.h:274
void collectArcTo(unsigned id, unsigned level, double x2, double y2, double bow) override
Definition VSDContentCollector.cpp:1900
double m_pageWidth
Definition VSDContentCollector.h:239
double m_scale
Definition VSDContentCollector.h:243
unsigned m_backgroundPageID
Definition VSDContentCollector.h:312
double m_originalY
Definition VSDContentCollector.h:248
librevenge::RVNGString m_currentShapeType
Definition VSDContentCollector.h:333
void collectTabsDataList(unsigned level, const std::map< unsigned, VSDTabSet > &tabSets) override
Definition VSDContentCollector.cpp:2821
unsigned m_currentPageNumber
Definition VSDContentCollector.h:275
void collectTextBlockStyle(unsigned level, const std::optional< double > &leftMargin, const std::optional< double > &rightMargin, const std::optional< double > &topMargin, const std::optional< double > &bottomMargin, const std::optional< unsigned char > &verticalAlign, const std::optional< bool > &isBgFilled, const std::optional< Colour > &bgColour, const std::optional< double > &defaultTabStop, const std::optional< unsigned char > &textDirection) override
Definition VSDContentCollector.cpp:2954
librevenge::RVNGDrawingInterface * m_painter
Definition VSDContentCollector.h:185
void _listLevelFromBullet(librevenge::RVNGPropertyList &propList, const VSDBullet &bullet)
Definition VSDContentCollector.cpp:3947
void collectCharIXStyle(unsigned id, unsigned level, unsigned charCount, const std::optional< VSDName > &font, const std::optional< Colour > &fontColour, const std::optional< double > &fontSize, const std::optional< bool > &bold, const std::optional< bool > &italic, const std::optional< bool > &underline, const std::optional< bool > &doubleunderline, const std::optional< bool > &strikeout, const std::optional< bool > &doublestrikeout, const std::optional< bool > &allcaps, const std::optional< bool > &initcaps, const std::optional< bool > &smallcaps, const std::optional< bool > &superscript, const std::optional< bool > &subscript, const std::optional< double > &scaleWidth) override
Definition VSDContentCollector.cpp:2942
std::map< unsigned, librevenge::RVNGString > m_stencilNames
Definition VSDContentCollector.h:286
double m_foreignHeight
Definition VSDContentCollector.h:265
void collectShapesOrder(unsigned id, unsigned level, const std::vector< unsigned > &shapeIds) override
Definition VSDContentCollector.cpp:2553
void collectLineTo(unsigned id, unsigned level, double x, double y) override
Definition VSDContentCollector.cpp:1882
void _flushCurrentForeignData()
Definition VSDContentCollector.cpp:1288
void collectParaIXStyle(unsigned id, unsigned level, unsigned charCount, const std::optional< double > &indFirst, const std::optional< double > &indLeft, const std::optional< double > &indRight, const std::optional< double > &spLine, const std::optional< double > &spBefore, const std::optional< double > &spAfter, const std::optional< unsigned char > &align, const std::optional< unsigned char > &bullet, const std::optional< VSDName > &bulletStr, const std::optional< VSDName > &bulletFont, const std::optional< double > &bulletFontSize, const std::optional< double > &textPosAfterBullet, const std::optional< unsigned > &flags) override
Definition VSDContentCollector.cpp:2927
void collectSplineKnot(unsigned id, unsigned level, double x, double y, double knot) override
Definition VSDContentCollector.cpp:2744
void _lineProperties(const VSDLineStyle &style, librevenge::RVNGPropertyList &styleProps)
Definition VSDContentCollector.cpp:2963
double m_splineX
Definition VSDContentCollector.h:321
Definition VSDFieldList.h:88
Definition VSDLayerList.h:34
Definition VSDTypes.h:171
Definition VSDOutputElementList.h:25
Definition VSDStencils.h:28
Definition VSDStencils.h:80
Definition VSDStyles.h:512
Definition VSDXTheme.h:85
Definition libvisio_utils.h:47
TextFormat
Definition VSDTypes.h:150
Definition VSDTypes.h:115
Definition VSDTypes.h:232
Definition VSDStyles.h:285
Definition VSDStyles.h:158
Definition VSDLayerList.h:22
Definition VSDStyles.h:63
Definition VSDTypes.h:204
Definition VSDStyles.h:391
Definition VSDTypes.h:223
Definition VSDStyles.h:476