Go to the documentation of this file.
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,
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;
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;
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;
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;
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;
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;
126 void collectName(
unsigned id,
unsigned level,
const librevenge::RVNGBinaryData &name,
TextFormat format)
override;
131 void collectTabsDataList(
unsigned level,
const std::map<unsigned, VSDTabSet> &tabSets)
override;
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;
167 void collectMetaData(
const librevenge::RVNGPropertyList &metaData)
override;
172 void collectTextField(
unsigned id,
unsigned level,
int nameId,
int formatStringId)
override;
173 void collectNumericField(
unsigned id,
unsigned level,
unsigned short format,
unsigned short cellType,
double number,
int formatStringId)
override;
175 void startPage(
unsigned pageId)
override;
191 double _NURBSBasis(
unsigned knot,
unsigned degree,
double point,
const std::vector<double> &knotVector);
212 void appendCharacters(librevenge::RVNGString &text,
const std::vector<unsigned char> &characters);
214 bool parseFormatId(
const char *formatString,
unsigned short &result);
218 bool _isUniform(
const std::vector<double> &weights)
const;
220 const std::vector<double> &knotVector,
const std::vector<double> &weights);
222 const std::vector<double> &knotVector);
232 void _convertToPath(
const std::vector<librevenge::RVNGPropertyList> &segmentVector,
233 librevenge::RVNGPropertyListVector &path,
double rounding);
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:2384
void collectRelEllipticalArcTo(unsigned id, unsigned level, double x, double y, double a, double b, double c, double d) override
Definition: VSDContentCollector.cpp:1627
std::vector< std::pair< double, double > > points
Definition: VSDTypes.h:101
Definition: VSDStyles.h:458
librevenge::RVNGDrawingInterface * m_painter
Definition: VSDContentCollector.h:183
bool m_isFirstGeometry
Definition: VSDContentCollector.h:276
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:2824
double m_splineLastKnot
Definition: VSDContentCollector.h:314
double fgTransparency
Definition: VSDStyles.h:197
const char * _linePropertiesMarkerPath(unsigned marker)
Definition: VSDContentCollector.cpp:187
void collectRelCubBezTo(unsigned id, unsigned level, double x, double y, double a, double b, double c, double d) override
Definition: VSDContentCollector.cpp:1597
void _fillAndShadowProperties(const VSDFillStyle &style, librevenge::RVNGPropertyList &styleProps)
Definition: VSDContentCollector.cpp:3172
Colour fgColour
Definition: VSDStyles.h:194
double _NURBSBasis(unsigned knot, unsigned degree, double point, const std::vector< double > &knotVector)
Definition: VSDContentCollector.cpp:2100
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:2923
bool _isUniform(const std::vector< double > &weights) const
Definition: VSDContentCollector.cpp:2163
std::vector< std::list< unsigned > > & m_documentPageShapeOrders
Definition: VSDContentCollector.h:274
void appendUCS4(librevenge::RVNGString &text, UChar32 ucs4Character)
Definition: libvisio_utils.cpp:132
Definition: VSDFieldList.h:60
void collectStyleSheet(unsigned id, unsigned level, unsigned parentLineStyle, unsigned parentFillStyle, unsigned parentTextStyle) override
Definition: VSDContentCollector.cpp:2865
unsigned char endMarker
Definition: VSDStyles.h:96
void collectEllipse(unsigned id, unsigned level, double cx, double cy, double xleft, double yleft, double xtop, double ytop) override
Definition: VSDContentCollector.cpp:1455
@ VSD_TEXT_TURKISH
Definition: VSDTypes.h:154
unsigned m_backgroundPageID
Definition: VSDContentCollector.h:304
void transformPoint(double &x, double &y, XForm *txtxform=nullptr)
Definition: VSDContentCollector.cpp:2442
bool initcaps
Definition: VSDStyles.h:315
VSDStyles m_styles
Definition: VSDContentCollector.h:296
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:2761
const librevenge::RVNGString getColourString(const Colour &c)
Definition: libvisio_utils.cpp:103
double spAfter
Definition: VSDStyles.h:409
unsigned charCount
Definition: VSDStyles.h:304
double m_splineY
Definition: VSDContentCollector.h:313
double m_textPosAfterBullet
Definition: VSDTypes.h:236
void transformFlips(bool &flipX, bool &flipY)
Definition: VSDContentCollector.cpp:2504
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:2788
void collectGeometry(unsigned id, unsigned level, bool noFill, bool noLine, bool noShow) override
Definition: VSDContentCollector.cpp:1841
Definition: VSDTypes.h:231
Definition: VSDStyles.h:151
VSDLineStyle m_lineStyle
Definition: VSDContentCollector.h:288
bool doubleunderline
Definition: VSDStyles.h:311
virtual librevenge::RVNGString getString(const std::map< unsigned, librevenge::RVNGString > &)=0
Colour colour
Definition: VSDStyles.h:93
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:2876
Definition: VSDPages.h:19
double width
Definition: VSDStyles.h:92
void collectLineTo(unsigned id, unsigned level, double x, double y) override
Definition: VSDContentCollector.cpp:1874
bool allcaps
Definition: VSDStyles.h:314
Definition: VSDFieldList.h:25
VSDContentCollector & operator=(const VSDContentCollector &)
void _flushText()
Definition: VSDContentCollector.cpp:662
VSDLayerList m_layerList
Definition: VSDContentCollector.h:309
void collectPageSheet(unsigned id, unsigned level) override
Definition: VSDContentCollector.cpp:2858
bool parseFormatId(const char *formatString, unsigned short &result)
Definition: VSDContentCollector.cpp:3626
void collectSplineStart(unsigned id, unsigned level, double x, double y, double secondKnot, double firstKnot, double lastKnot, unsigned degree) override
Definition: VSDContentCollector.cpp:2713
unsigned m_fieldIndex
Definition: VSDContentCollector.h:284
bool m_isPageStarted
Definition: VSDContentCollector.h:235
std::vector< std::pair< double, double > > points
Definition: VSDTypes.h:118
void collectEllipticalArcTo(unsigned id, unsigned level, double x3, double y3, double x2, double y2, double angle, double ecc) override
Definition: VSDContentCollector.cpp:1382
void _fillCharProperties(librevenge::RVNGPropertyList &propList, const VSDCharStyle &style)
Definition: VSDContentCollector.cpp:1178
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:2123
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:2812
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:2935
void collectPage(unsigned id, unsigned level, unsigned backgroundPageID, bool isBackgroundPage, const VSDName &pageName) override
Definition: VSDContentCollector.cpp:2574
double m_x
Definition: VSDContentCollector.h:241
#define LIBVISIO_EPSILON
Definition: VSDContentCollector.cpp:1381
double shadowOffsetX
Definition: VSDStyles.h:201
Definition: VSDCollector.h:20
unsigned char yType
Definition: VSDTypes.h:98
double m_y
Definition: VSDContentCollector.h:242
librevenge::RVNGString m_bulletFont
Definition: VSDTypes.h:234
unsigned m_splineLevel
Definition: VSDContentCollector.h:316
unsigned char shadowPattern
Definition: VSDStyles.h:200
double indFirst
Definition: VSDStyles.h:404
double indRight
Definition: VSDStyles.h:406
unsigned char cap
Definition: VSDStyles.h:97
std::vector< VSDCharStyle > m_charFormats
Definition: VSDContentCollector.h:285
void endPages() override
Definition: VSDContentCollector.cpp:3621
void collectRelMoveTo(unsigned id, unsigned level, double x, double y) override
Definition: VSDContentCollector.cpp:1643
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:2908
#define VSD_DEBUG_MSG(M)
Definition: libvisio_utils.h:42
std::vector< std::map< unsigned, unsigned > >::iterator m_groupMemberships
Definition: VSDContentCollector.h:269
void _fillTabSet(librevenge::RVNGPropertyList &propList, const VSDTabSet &tabSet)
Definition: VSDContentCollector.cpp:1252
Definition: VSDStencils.h:78
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:2180
double textPosAfterBullet
Definition: VSDStyles.h:415
std::vector< std::map< unsigned, XForm > > & m_groupXFormsSequence
Definition: VSDContentCollector.h:267
#define VSD_EPSILON
Definition: libvisio_utils.h:23
librevenge::RVNGBinaryData m_currentOLEData
Definition: VSDContentCollector.h:252
double m_pageWidth
Definition: VSDContentCollector.h:236
void _flushCurrentPath(unsigned id)
Definition: VSDContentCollector.cpp:377
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:118
VSDName bulletFont
Definition: VSDStyles.h:413
unsigned char xType
Definition: VSDTypes.h:116
unsigned m_foreignType
Definition: VSDContentCollector.h:255
std::unique_ptr< XForm > m_txtxform
Definition: VSDContentCollector.h:246
std::vector< librevenge::RVNGPropertyList > m_currentFillGeometry
Definition: VSDContentCollector.h:248
VSDStencils m_stencils
Definition: VSDContentCollector.h:298
VSDPages m_pages
Definition: VSDContentCollector.h:307
void applyXForm(double &x, double &y, const XForm &xform)
Definition: VSDContentCollector.cpp:2423
void _outputLinearBezierSegment(const std::vector< std::pair< double, double > > &points)
Definition: VSDContentCollector.cpp:1992
VSDCharStyle m_defaultCharStyle
Definition: VSDContentCollector.h:292
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:2303
void _flushShape()
Definition: VSDContentCollector.cpp:313
void collectTabsDataList(unsigned level, const std::map< unsigned, VSDTabSet > &tabSets) override
Definition: VSDContentCollector.cpp:2802
void collectForeignDataType(unsigned level, unsigned foreignType, unsigned foreignFormat, double offsetX, double offsetY, double width, double height) override
Definition: VSDContentCollector.cpp:2550
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:2886
bool italic
Definition: VSDStyles.h:309
void collectText(unsigned level, const librevenge::RVNGBinaryData &textStream, TextFormat format) override
Definition: VSDContentCollector.cpp:2752
double spLine
Definition: VSDStyles.h:407
void collectForeignData(unsigned level, const librevenge::RVNGBinaryData &binaryData) override
Definition: VSDContentCollector.cpp:1702
librevenge::RVNGBinaryData m_currentForeignData
Definition: VSDContentCollector.h:251
Definition: VSDTypes.h:222
bool m_isBackgroundPage
Definition: VSDContentCollector.h:318
uint32_t readU32(librevenge::RVNGInputStream *input)
Definition: libvisio_utils.cpp:53
bool m_noShow
Definition: VSDContentCollector.h:263
double m_shadowOffsetX
Definition: VSDContentCollector.h:238
void collectTextField(unsigned id, unsigned level, int nameId, int formatStringId) override
Definition: VSDContentCollector.cpp:3482
std::vector< std::list< unsigned > >::iterator m_pageShapeOrder
Definition: VSDContentCollector.h:275
std::map< unsigned, VSDTabStop > m_tabStops
Definition: VSDTypes.h:225
librevenge::RVNGPropertyList m_currentForeignProps
Definition: VSDContentCollector.h:253
void collectFieldList(unsigned id, unsigned level) override
Definition: VSDContentCollector.cpp:3476
std::map< unsigned, NURBSData > m_NURBSData
Definition: VSDContentCollector.h:278
void collectMetaData(const librevenge::RVNGPropertyList &metaData) override
Definition: VSDContentCollector.cpp:3575
Definition: VSDStyles.h:322
VSDName font
Definition: VSDStyles.h:305
double m_scale
Definition: VSDContentCollector.h:240
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:1683
unsigned char pattern
Definition: VSDStyles.h:196
Definition: VSDTypes.h:70
void _generateBezierSegmentsFromNURBS(unsigned degree, const std::vector< std::pair< double, double > > &controlPoints, const std::vector< double > &knotVector)
Definition: VSDContentCollector.cpp:2010
Colour colour
Definition: VSDStyles.h:306
std::vector< double > weights
Definition: VSDTypes.h:100
#define VSD_NUM_ELEMENTS(array)
Definition: libvisio_utils.h:46
Definition: VSDFieldList.h:87
void collectLayerMem(unsigned level, const VSDName &layerMem) override
Definition: VSDContentCollector.cpp:3812
unsigned charCount
Definition: VSDStyles.h:403
Definition: VSDFieldList.h:39
void _convertDataToString(librevenge::RVNGString &result, const librevenge::RVNGBinaryData &data, TextFormat format)
Definition: VSDContentCollector.cpp:2840
bool m_noFill
Definition: VSDContentCollector.h:262
@ VSD_TEXT_CHINESE_TRADITIONAL
Definition: VSDTypes.h:165
void _listLevelFromBullet(librevenge::RVNGPropertyList &propList, const VSDBullet &bullet)
Definition: VSDContentCollector.cpp:3911
void _outputCubicBezierSegment(const std::vector< std::pair< double, double > > &points)
Definition: VSDContentCollector.cpp:1941
Definition: VSDStyles.h:62
unsigned m_currentStyleSheet
Definition: VSDContentCollector.h:295
unsigned m_currentPageID
Definition: VSDContentCollector.h:305
std::vector< double > m_splineKnotVector
Definition: VSDContentCollector.h:312
void collectPageProps(unsigned id, unsigned level, double pageWidth, double pageHeight, double shadowOffsetX, double shadowOffsetY, double scale) override
Definition: VSDContentCollector.cpp:2561
TextFormat m_format
Definition: VSDTypes.h:189
uint16_t readU16(librevenge::RVNGInputStream *input)
Definition: libvisio_utils.cpp:32
Definition: VSDStyles.h:373
@ VSD_TEXT_GREEK
Definition: VSDTypes.h:153
std::map< unsigned, VSDOutputElementList > m_pageOutputDrawing
Definition: VSDContentCollector.h:272
double size
Definition: VSDStyles.h:307
Definition: VSDStyles.h:208
#define VSD_APPROX_EQUAL(x, y)
Definition: libvisio_utils.h:25
#define MAX_ALLOWED_NURBS_DEGREE
Definition: VSDContentCollector.cpp:2178
#define VSD_ALMOST_ZERO(m)
Definition: libvisio_utils.h:24
void _handleForeignData(const librevenge::RVNGBinaryData &data)
Definition: VSDContentCollector.cpp:1722
void collectRelLineTo(unsigned id, unsigned level, double x, double y) override
Definition: VSDContentCollector.cpp:1636
double m_shadowOffsetY
Definition: VSDContentCollector.h:239
librevenge::RVNGString getString(const std::map< unsigned, librevenge::RVNGString > &strVec) override
Definition: VSDFieldList.cpp:27
virtual VSDFieldListElement * clone()=0
const VSDXTheme * m_documentTheme
Definition: VSDContentCollector.h:324
void _lineProperties(const VSDLineStyle &style, librevenge::RVNGPropertyList &styleProps)
Definition: VSDContentCollector.cpp:2944
void endPage() override
Definition: VSDContentCollector.cpp:3602
Colour bgColour
Definition: VSDStyles.h:195
Definition: VSDGeometryList.h:26
double m_bulletFontSize
Definition: VSDTypes.h:235
virtual unsigned getDataID() const
Definition: VSDGeometryList.h:34
void _flushCurrentPage()
Definition: VSDContentCollector.cpp:1329
unsigned m_foreignFormat
Definition: VSDContentCollector.h:256
bool underline
Definition: VSDStyles.h:310
void _convertToPath(const std::vector< librevenge::RVNGPropertyList > &segmentVector, librevenge::RVNGPropertyListVector &path, double rounding)
Definition: VSDContentCollector.cpp:547
bool m_isShapeStarted
Definition: VSDContentCollector.h:266
unsigned char bullet
Definition: VSDStyles.h:411
void collectUnhandledChunk(unsigned id, unsigned level) override
Definition: VSDContentCollector.cpp:2708
unsigned char align
Definition: VSDStyles.h:410
VSDFillStyle m_fillStyle
Definition: VSDContentCollector.h:289
void override(const VSDOptionalCharStyle &style, const VSDXTheme *)
Definition: VSDStyles.h:285
@ VSD_TEXT_UTF8
Definition: VSDTypes.h:166
VSDLayerList m_currentLayerList
Definition: VSDContentCollector.h:320
double m_foreignOffsetX
Definition: VSDContentCollector.h:257
unsigned m_currentLevel
Definition: VSDContentCollector.h:265
double scaleWidth
Definition: VSDStyles.h:319
@ VSD_TEXT_UTF16
Definition: VSDTypes.h:167
Definition: VSDStyles.h:23
bool m_isStencilStarted
Definition: VSDContentCollector.h:300
void collectSplineEnd() override
Definition: VSDContentCollector.cpp:2734
double indLeft
Definition: VSDStyles.h:405
void startPage(unsigned pageId) override
Definition: VSDContentCollector.cpp:3580
unsigned m_currentShapeId
Definition: VSDContentCollector.h:254
void collectSplineKnot(unsigned id, unsigned level, double x, double y, double knot) override
Definition: VSDContentCollector.cpp:2725
void collectRelQuadBezTo(unsigned id, unsigned level, double x, double y, double a, double b) override
Definition: VSDContentCollector.cpp:1650
Definition: VSDTypes.h:114
Definition: VSDLayerList.h:21
@ VSD_TEXT_HEBREW
Definition: VSDTypes.h:156
void collectLayer(unsigned id, unsigned level, const VSDLayer &layer) override
Definition: VSDContentCollector.cpp:3834
bool doublestrikeout
Definition: VSDStyles.h:313
Definition: VSDLayerList.h:33
void collectDocumentTheme(const VSDXTheme *theme) override
Definition: VSDContentCollector.cpp:1375
double m_foreignHeight
Definition: VSDContentCollector.h:260
bool smallcaps
Definition: VSDStyles.h:316
std::map< unsigned, librevenge::RVNGString > m_names
Definition: VSDContentCollector.h:281
libvisio::VSDName m_currentText
Definition: VSDContentCollector.h:280
Definition: VSDContentCollector.h:31
unsigned m_currentGeometryCount
Definition: VSDContentCollector.h:302
Definition: VSDStyles.h:494
Definition: VSDTypes.h:203
virtual void setValue(double)=0
unsigned char xType
Definition: VSDTypes.h:97
bool strikeout
Definition: VSDStyles.h:312
unsigned char yType
Definition: VSDTypes.h:117
VSDOutputElementList * m_shapeOutputText
Definition: VSDContentCollector.h:271
std::map< unsigned, VSDOutputElementList > m_pageOutputText
Definition: VSDContentCollector.h:273
void appendCharacters(librevenge::RVNGString &text, const std::vector< unsigned char > &characters, TextFormat format)
Definition: VSDContentCollector.cpp:3647
double bulletFontSize
Definition: VSDStyles.h:414
VSDMisc m_misc
Definition: VSDContentCollector.h:247
void collectShape(unsigned id, unsigned level, unsigned parent, unsigned masterPage, unsigned masterShape, unsigned lineStyle, unsigned fillStyle, unsigned textStyle) override
Definition: VSDContentCollector.cpp:2584
double m_foreignOffsetY
Definition: VSDContentCollector.h:258
double shadowOffsetY
Definition: VSDStyles.h:202
@ VSD_TEXT_RUSSIAN
Definition: VSDTypes.h:159
VSDFieldList m_stencilFields
Definition: VSDContentCollector.h:283
Colour shadowFgColour
Definition: VSDStyles.h:199
void collectXFormData(unsigned level, const XForm &xform) override
Definition: VSDContentCollector.cpp:2409
void _outputQuadraticBezierSegment(const std::vector< std::pair< double, double > > &points)
Definition: VSDContentCollector.cpp:1969
unsigned m_currentPageNumber
Definition: VSDContentCollector.h:270
@ VSD_TEXT_THAI
Definition: VSDTypes.h:160
bool subscript
Definition: VSDStyles.h:318
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:1675
void transformAngle(double &angle, XForm *txtxform=nullptr)
Definition: VSDContentCollector.cpp:2485
VSDOutputElementList * m_shapeOutputDrawing
Definition: VSDContentCollector.h:271
VSDTextBlockStyle m_textBlockStyle
Definition: VSDContentCollector.h:290
@ VSD_TEXT_KOREAN
Definition: VSDTypes.h:163
double m_originalX
Definition: VSDContentCollector.h:243
std::vector< VSDParaStyle > m_paraFormats
Definition: VSDContentCollector.h:286
@ VSD_TEXT_ARABIC
Definition: VSDTypes.h:157
TextFormat
Definition: VSDTypes.h:149
std::map< unsigned, librevenge::RVNGString > m_stencilNames
Definition: VSDContentCollector.h:281
std::vector< librevenge::RVNGString > m_fields
Definition: VSDContentCollector.h:282
Definition: VSDXTheme.h:76
std::vector< double > knots
Definition: VSDTypes.h:99
const char * _linePropertiesMarkerViewbox(unsigned marker)
Definition: VSDContentCollector.cpp:149
Definition: VSDPages.h:34
unsigned char pattern
Definition: VSDStyles.h:94
std::vector< std::map< unsigned, unsigned > > & m_groupMembershipsSequence
Definition: VSDContentCollector.h:268
librevenge::RVNGBinaryData m_data
Definition: VSDTypes.h:188
Definition: VSDOutputElementList.h:24
double bgTransparency
Definition: VSDStyles.h:198
librevenge::RVNGString m_bulletStr
Definition: VSDTypes.h:233
std::map< unsigned, PolylineData > m_polylineData
Definition: VSDContentCollector.h:279
void collectName(unsigned id, unsigned level, const librevenge::RVNGBinaryData &name, TextFormat format) override
Definition: VSDContentCollector.cpp:2849
Definition: VSDStencils.h:27
XForm m_xform
Definition: VSDContentCollector.h:245
double spBefore
Definition: VSDStyles.h:408
bool bold
Definition: VSDStyles.h:308
double m_pageHeight
Definition: VSDContentCollector.h:237
bool empty() const
Definition: VSDTypes.h:179
void collectOLEData(unsigned id, unsigned level, const librevenge::RVNGBinaryData &oleData) override
Definition: VSDContentCollector.cpp:1716
unsigned flags
Definition: VSDStyles.h:416
std::vector< librevenge::RVNGPropertyList > m_currentLineGeometry
Definition: VSDContentCollector.h:249
@ VSD_TEXT_CHINESE_SIMPLIFIED
Definition: VSDTypes.h:164
unsigned char a
Definition: VSDTypes.h:90
void _bulletFromParaFormat(VSDBullet &bullet, const VSDParaStyle ¶Style)
Definition: VSDContentCollector.cpp:3855
void collectTxtXForm(unsigned level, const XForm &txtxform) override
Definition: VSDContentCollector.cpp:2415
@ VSD_TEXT_SYMBOL
Definition: VSDTypes.h:152
Definition: VSDTypes.h:170
double m_originalY
Definition: VSDContentCollector.h:244
#define VSD_FIELD_FORMAT_Unknown
Definition: VSDDocumentStructure.h:283
VSDParaStyle m_defaultParaStyle
Definition: VSDContentCollector.h:293
unsigned degree
Definition: VSDTypes.h:96
VSDName bulletStr
Definition: VSDStyles.h:412
unsigned char startMarker
Definition: VSDStyles.h:95
#define MINUS_ONE
Definition: VSDTypes.h:18
std::vector< VSDTabSet > m_tabSets
Definition: VSDContentCollector.h:322
std::map< unsigned short, VSDFont > m_fonts
Definition: VSDContentCollector.h:264
void collectNumericField(unsigned id, unsigned level, unsigned short format, unsigned short cellType, double number, int formatStringId) override
Definition: VSDContentCollector.cpp:3505
void _appendField(librevenge::RVNGString &text)
Definition: VSDContentCollector.cpp:3798
double lastKnot
Definition: VSDTypes.h:95
std::vector< std::pair< double, double > > m_splineControlPoints
Definition: VSDContentCollector.h:311
void collectArcTo(unsigned id, unsigned level, double x2, double y2, double bow) override
Definition: VSDContentCollector.cpp:1892
Definition: VSDStyles.h:103
void _fillParagraphProperties(librevenge::RVNGPropertyList &propList, const VSDParaStyle &style)
Definition: VSDContentCollector.cpp:1213
void collectMoveTo(unsigned id, unsigned level, double x, double y) override
Definition: VSDContentCollector.cpp:1856
void collectMisc(unsigned level, const VSDMisc &misc) override
Definition: VSDContentCollector.cpp:3806
@ VSD_TEXT_CENTRAL_EUROPE
Definition: VSDTypes.h:161
#define M_PI
Definition: VSDContentCollector.cpp:35
librevenge::RVNGString getString(const std::map< unsigned, librevenge::RVNGString > &) override
Definition: VSDFieldList.cpp:221
@ VSD_TEXT_BALTIC
Definition: VSDTypes.h:158
std::map< unsigned, XForm > * m_groupXForms
Definition: VSDContentCollector.h:250
double m_splineX
Definition: VSDContentCollector.h:313
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:2776
Definition: VSDTypes.h:93
const VSDShape * m_stencilShape
Definition: VSDContentCollector.h:299
double m_foreignWidth
Definition: VSDContentCollector.h:259
Definition: VSDStyles.h:419
@ VSD_TEXT_JAPANESE
Definition: VSDTypes.h:162
void collectNameList(unsigned id, unsigned level) override
Definition: VSDContentCollector.cpp:2833
void _appendVisibleAndPrintable(librevenge::RVNGPropertyList &propList)
Definition: VSDContentCollector.cpp:3840
VSDPage m_currentPage
Definition: VSDContentCollector.h:306
double _linePropertiesMarkerScale(unsigned marker)
Definition: VSDContentCollector.cpp:294
unsigned m_splineDegree
Definition: VSDContentCollector.h:315
void collectOLEList(unsigned id, unsigned level) override
Definition: VSDContentCollector.cpp:1708
std::vector< unsigned > m_currentLayerMem
Definition: VSDContentCollector.h:321
unsigned m_currentShapeLevel
Definition: VSDContentCollector.h:317
Definition: VSDStyles.h:267
Definition: libvisio_utils.h:48
void override(const VSDOptionalParaStyle &style, const VSDXTheme *)
Definition: VSDStyles.h:386
bool m_noLine
Definition: VSDContentCollector.h:261
void collectInfiniteLine(unsigned id, unsigned level, double x1, double y1, double x2, double y2) override
Definition: VSDContentCollector.cpp:1508
bool superscript
Definition: VSDStyles.h:317
@ VSD_TEXT_VIETNAMESE
Definition: VSDTypes.h:155
void _handleLevelChange(unsigned level)
Definition: VSDContentCollector.cpp:3535
#define VSD_NUM_POLYLINES_PER_KNOT
Definition: VSDContentCollector.cpp:2121
void collectShapesOrder(unsigned id, unsigned level, const std::vector< unsigned > &shapeIds) override
Definition: VSDContentCollector.cpp:2545
void _flushCurrentForeignData()
Definition: VSDContentCollector.cpp:1281
Generated for libvisio by
doxygen 1.8.17