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, 
unsigned char drawingScaleUnit) 
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);
 
 
VSDCollector()
Definition VSDCollector.h:23
void _flushText()
Definition VSDContentCollector.cpp:667
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:2128
void _flushCurrentPage()
Definition VSDContentCollector.cpp:1334
unsigned m_splineDegree
Definition VSDContentCollector.h:316
void collectForeignData(unsigned level, const librevenge::RVNGBinaryData &binaryData) override
Definition VSDContentCollector.cpp:1707
librevenge::RVNGBinaryData m_currentOLEData
Definition VSDContentCollector.h:253
VSDLineStyle m_lineStyle
Definition VSDContentCollector.h:289
void collectRelEllipticalArcTo(unsigned id, unsigned level, double x, double y, double a, double b, double c, double d) override
Definition VSDContentCollector.cpp:1632
const VSDShape * m_stencilShape
Definition VSDContentCollector.h:300
void collectInfiniteLine(unsigned id, unsigned level, double x1, double y1, double x2, double y2) override
Definition VSDContentCollector.cpp:1513
void _outputQuadraticBezierSegment(const std::vector< std::pair< double, double > > &points)
Definition VSDContentCollector.cpp:1974
unsigned m_currentStyleSheet
Definition VSDContentCollector.h:296
bool m_isPageStarted
Definition VSDContentCollector.h:235
double m_foreignOffsetY
Definition VSDContentCollector.h:259
const char * _linePropertiesMarkerViewbox(unsigned marker)
Definition VSDContentCollector.cpp:150
librevenge::RVNGBinaryData m_currentForeignData
Definition VSDContentCollector.h:252
std::vector< librevenge::RVNGPropertyList > m_currentFillGeometry
Definition VSDContentCollector.h:249
VSDLayerList m_currentLayerList
Definition VSDContentCollector.h:321
double m_pageHeight
Definition VSDContentCollector.h:237
VSDOutputElementList * m_shapeOutputDrawing
Definition VSDContentCollector.h:272
unsigned m_foreignFormat
Definition VSDContentCollector.h:257
std::map< unsigned, VSDOutputElementList > m_pageOutputText
Definition VSDContentCollector.h:274
double m_splineLastKnot
Definition VSDContentCollector.h:315
VSDContentCollector & operator=(const VSDContentCollector &)
void transformFlips(bool &flipX, bool &flipY)
Definition VSDContentCollector.cpp:2509
std::vector< librevenge::RVNGPropertyList > m_currentLineGeometry
Definition VSDContentCollector.h:250
VSDTextBlockStyle m_textBlockStyle
Definition VSDContentCollector.h:291
VSDStyles m_styles
Definition VSDContentCollector.h:297
std::vector< std::map< unsigned, unsigned > > & m_groupMembershipsSequence
Definition VSDContentCollector.h:269
std::map< unsigned short, VSDFont > m_fonts
Definition VSDContentCollector.h:265
VSDPage m_currentPage
Definition VSDContentCollector.h:307
double _linePropertiesMarkerScale(unsigned marker)
Definition VSDContentCollector.cpp:299
void collectSplineEnd() override
Definition VSDContentCollector.cpp:2741
void _outputLinearBezierSegment(const std::vector< std::pair< double, double > > &points)
Definition VSDContentCollector.cpp:1997
double m_shadowOffsetY
Definition VSDContentCollector.h:239
void _convertDataToString(librevenge::RVNGString &result, const librevenge::RVNGBinaryData &data, TextFormat format)
Definition VSDContentCollector.cpp:2847
double m_splineY
Definition VSDContentCollector.h:314
void collectStyleSheet(unsigned id, unsigned level, unsigned parentLineStyle, unsigned parentFillStyle, unsigned parentTextStyle) override
Definition VSDContentCollector.cpp:2872
unsigned m_splineLevel
Definition VSDContentCollector.h:317
std::map< unsigned, NURBSData > m_NURBSData
Definition VSDContentCollector.h:279
double m_y
Definition VSDContentCollector.h:243
void transformPoint(double &x, double &y, XForm *txtxform=nullptr)
Definition VSDContentCollector.cpp:2447
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:2831
std::vector< std::pair< double, double > > m_splineControlPoints
Definition VSDContentCollector.h:312
VSDFieldList m_stencilFields
Definition VSDContentCollector.h:284
void collectMetaData(const librevenge::RVNGPropertyList &metaData) override
Definition VSDContentCollector.cpp:3582
void collectLayerMem(unsigned level, const VSDName &layerMem) override
Definition VSDContentCollector.cpp:3819
VSDParaStyle m_defaultParaStyle
Definition VSDContentCollector.h:294
bool m_noFill
Definition VSDContentCollector.h:263
double m_shadowOffsetX
Definition VSDContentCollector.h:238
unsigned m_currentLevel
Definition VSDContentCollector.h:266
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:2389
void collectDocumentTheme(const VSDXTheme *theme) override
Definition VSDContentCollector.cpp:1380
std::map< unsigned, VSDOutputElementList > m_pageOutputDrawing
Definition VSDContentCollector.h:273
void _convertToPath(const std::vector< librevenge::RVNGPropertyList > &segmentVector, librevenge::RVNGPropertyListVector &path, double rounding)
Definition VSDContentCollector.cpp:552
std::vector< librevenge::RVNGString > m_fields
Definition VSDContentCollector.h:283
VSDFillStyle m_fillStyle
Definition VSDContentCollector.h:290
bool m_isBackgroundPage
Definition VSDContentCollector.h:319
void collectRelLineTo(unsigned id, unsigned level, double x, double y) override
Definition VSDContentCollector.cpp:1641
void collectUnhandledChunk(unsigned id, unsigned level) override
Definition VSDContentCollector.cpp:2715
std::vector< double > m_splineKnotVector
Definition VSDContentCollector.h:313
VSDLayerList m_layerList
Definition VSDContentCollector.h:310
void collectTextField(unsigned id, unsigned level, int nameId, int formatStringId) override
Definition VSDContentCollector.cpp:3489
const char * _linePropertiesMarkerPath(unsigned marker)
Definition VSDContentCollector.cpp:192
unsigned char m_defaultDrawingUnit
Definition VSDContentCollector.h:241
double m_x
Definition VSDContentCollector.h:242
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:2930
void _outputCubicBezierSegment(const std::vector< std::pair< double, double > > &points)
Definition VSDContentCollector.cpp:1946
unsigned m_foreignType
Definition VSDContentCollector.h:256
void _fillParagraphProperties(librevenge::RVNGPropertyList &propList, const VSDParaStyle &style)
Definition VSDContentCollector.cpp:1218
double m_foreignWidth
Definition VSDContentCollector.h:260
void _generateBezierSegmentsFromNURBS(unsigned degree, const std::vector< std::pair< double, double > > &controlPoints, const std::vector< double > &knotVector)
Definition VSDContentCollector.cpp:2015
void _flushShape()
Definition VSDContentCollector.cpp:318
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:2795
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:2308
void collectXFormData(unsigned level, const XForm &xform) override
Definition VSDContentCollector.cpp:2414
void _handleForeignData(const librevenge::RVNGBinaryData &data)
Definition VSDContentCollector.cpp:1727
std::map< unsigned, PolylineData > m_polylineData
Definition VSDContentCollector.h:280
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:2185
void applyXForm(double &x, double &y, const XForm &xform)
Definition VSDContentCollector.cpp:2428
unsigned m_fieldIndex
Definition VSDContentCollector.h:285
void collectPageSheet(unsigned id, unsigned level) override
Definition VSDContentCollector.cpp:2865
void _fillTabSet(librevenge::RVNGPropertyList &propList, const VSDTabSet &tabSet)
Definition VSDContentCollector.cpp:1257
bool m_noLine
Definition VSDContentCollector.h:262
std::vector< std::map< unsigned, XForm > > & m_groupXFormsSequence
Definition VSDContentCollector.h:268
void collectPage(unsigned id, unsigned level, unsigned backgroundPageID, bool isBackgroundPage, const VSDName &pageName) override
Definition VSDContentCollector.cpp:2581
void collectRelMoveTo(unsigned id, unsigned level, double x, double y) override
Definition VSDContentCollector.cpp:1648
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:2942
void collectShape(unsigned id, unsigned level, unsigned parent, unsigned masterPage, unsigned masterShape, unsigned lineStyle, unsigned fillStyle, unsigned textStyle) override
Definition VSDContentCollector.cpp:2591
void collectEllipse(unsigned id, unsigned level, double cx, double cy, double xleft, double yleft, double xtop, double ytop) override
Definition VSDContentCollector.cpp:1460
void collectMoveTo(unsigned id, unsigned level, double x, double y) override
Definition VSDContentCollector.cpp:1861
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:1688
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:1680
void collectTxtXForm(unsigned level, const XForm &txtxform) override
Definition VSDContentCollector.cpp:2420
bool m_isFirstGeometry
Definition VSDContentCollector.h:277
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:2768
VSDMisc m_misc
Definition VSDContentCollector.h:248
VSDContentCollector(const VSDContentCollector &)
std::unique_ptr< XForm > m_txtxform
Definition VSDContentCollector.h:247
void collectFieldList(unsigned id, unsigned level) override
Definition VSDContentCollector.cpp:3483
void _fillAndShadowProperties(const VSDFillStyle &style, librevenge::RVNGPropertyList &styleProps)
Definition VSDContentCollector.cpp:3179
VSDPages m_pages
Definition VSDContentCollector.h:308
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:2819
void collectText(unsigned level, const librevenge::RVNGBinaryData &textStream, TextFormat format) override
Definition VSDContentCollector.cpp:2759
std::map< unsigned, XForm > * m_groupXForms
Definition VSDContentCollector.h:251
bool m_noShow
Definition VSDContentCollector.h:264
std::vector< VSDParaStyle > m_paraFormats
Definition VSDContentCollector.h:287
unsigned m_currentShapeLevel
Definition VSDContentCollector.h:318
void collectOLEData(unsigned id, unsigned level, const librevenge::RVNGBinaryData &oleData) override
Definition VSDContentCollector.cpp:1721
XForm m_xform
Definition VSDContentCollector.h:246
unsigned m_currentGeometryCount
Definition VSDContentCollector.h:303
librevenge::RVNGPropertyList m_currentForeignProps
Definition VSDContentCollector.h:254
void _fillCharProperties(librevenge::RVNGPropertyList &propList, const VSDCharStyle &style)
Definition VSDContentCollector.cpp:1183
void _handleLevelChange(unsigned level)
Definition VSDContentCollector.cpp:3542
VSDOutputElementList * m_shapeOutputText
Definition VSDContentCollector.h:272
void _appendVisibleAndPrintable(librevenge::RVNGPropertyList &propList)
Definition VSDContentCollector.cpp:3847
void _flushCurrentPath(unsigned id)
Definition VSDContentCollector.cpp:382
void appendCharacters(librevenge::RVNGString &text, const std::vector< unsigned char > &characters, TextFormat format)
Definition VSDContentCollector.cpp:3654
std::map< unsigned, librevenge::RVNGString > m_names
Definition VSDContentCollector.h:282
void transformAngle(double &angle, XForm *txtxform=nullptr)
Definition VSDContentCollector.cpp:2490
void collectNameList(unsigned id, unsigned level) override
Definition VSDContentCollector.cpp:2840
void collectPageProps(unsigned id, unsigned level, double pageWidth, double pageHeight, double shadowOffsetX, double shadowOffsetY, double scale, unsigned char drawingScaleUnit) override
Definition VSDContentCollector.cpp:2566
double _NURBSBasis(unsigned knot, unsigned degree, double point, const std::vector< double > &knotVector)
Definition VSDContentCollector.cpp:2105
void collectRelQuadBezTo(unsigned id, unsigned level, double x, double y, double a, double b) override
Definition VSDContentCollector.cpp:1655
std::vector< unsigned > m_currentLayerMem
Definition VSDContentCollector.h:322
void collectNumericField(unsigned id, unsigned level, unsigned short format, unsigned short cellType, double number, int formatStringId) override
Definition VSDContentCollector.cpp:3512
VSDCharStyle m_defaultCharStyle
Definition VSDContentCollector.h:293
bool _isUniform(const std::vector< double > &weights) const
Definition VSDContentCollector.cpp:2168
unsigned m_currentPageID
Definition VSDContentCollector.h:306
void collectMisc(unsigned level, const VSDMisc &misc) override
Definition VSDContentCollector.cpp:3813
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:2893
void collectLayer(unsigned id, unsigned level, const VSDLayer &layer) override
Definition VSDContentCollector.cpp:3841
bool m_isShapeStarted
Definition VSDContentCollector.h:267
bool parseFormatId(const char *formatString, unsigned short &result)
Definition VSDContentCollector.cpp:3633
void collectForeignDataType(unsigned level, unsigned foreignType, unsigned foreignFormat, double offsetX, double offsetY, double width, double height) override
Definition VSDContentCollector.cpp:2555
void _bulletFromParaFormat(VSDBullet &bullet, const VSDParaStyle ¶Style)
Definition VSDContentCollector.cpp:3862
bool m_isStencilStarted
Definition VSDContentCollector.h:301
libvisio::VSDName m_currentText
Definition VSDContentCollector.h:281
void collectName(unsigned id, unsigned level, const librevenge::RVNGBinaryData &name, TextFormat format) override
Definition VSDContentCollector.cpp:2856
void collectRelCubBezTo(unsigned id, unsigned level, double x, double y, double a, double b, double c, double d) override
Definition VSDContentCollector.cpp:1602
const VSDXTheme * m_documentTheme
Definition VSDContentCollector.h:325
std::vector< VSDTabSet > m_tabSets
Definition VSDContentCollector.h:323
void collectEllipticalArcTo(unsigned id, unsigned level, double x3, double y3, double x2, double y2, double angle, double ecc) override
Definition VSDContentCollector.cpp:1387
double m_foreignOffsetX
Definition VSDContentCollector.h:258
std::vector< VSDCharStyle > m_charFormats
Definition VSDContentCollector.h:286
unsigned m_currentShapeId
Definition VSDContentCollector.h:255
double m_originalX
Definition VSDContentCollector.h:244
void endPages() override
Definition VSDContentCollector.cpp:3628
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:2783
void collectOLEList(unsigned id, unsigned level) override
Definition VSDContentCollector.cpp:1713
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:2915
void endPage() override
Definition VSDContentCollector.cpp:3609
VSDStencils m_stencils
Definition VSDContentCollector.h:299
void _appendField(librevenge::RVNGString &text)
Definition VSDContentCollector.cpp:3805
void collectGeometry(unsigned id, unsigned level, bool noFill, bool noLine, bool noShow) override
Definition VSDContentCollector.cpp:1846
std::vector< std::list< unsigned > > & m_documentPageShapeOrders
Definition VSDContentCollector.h:275
void collectSplineStart(unsigned id, unsigned level, double x, double y, double secondKnot, double firstKnot, double lastKnot, unsigned degree) override
Definition VSDContentCollector.cpp:2720
void startPage(unsigned pageId) override
Definition VSDContentCollector.cpp:3587
std::vector< std::list< unsigned > >::iterator m_pageShapeOrder
Definition VSDContentCollector.h:276
std::vector< std::map< unsigned, unsigned > >::iterator m_groupMemberships
Definition VSDContentCollector.h:270
void collectArcTo(unsigned id, unsigned level, double x2, double y2, double bow) override
Definition VSDContentCollector.cpp:1897
double m_pageWidth
Definition VSDContentCollector.h:236
double m_scale
Definition VSDContentCollector.h:240
unsigned m_backgroundPageID
Definition VSDContentCollector.h:305
double m_originalY
Definition VSDContentCollector.h:245
void collectTabsDataList(unsigned level, const std::map< unsigned, VSDTabSet > &tabSets) override
Definition VSDContentCollector.cpp:2809
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:2883
unsigned m_currentPageNumber
Definition VSDContentCollector.h:271
librevenge::RVNGDrawingInterface * m_painter
Definition VSDContentCollector.h:183
void _listLevelFromBullet(librevenge::RVNGPropertyList &propList, const VSDBullet &bullet)
Definition VSDContentCollector.cpp:3918
std::map< unsigned, librevenge::RVNGString > m_stencilNames
Definition VSDContentCollector.h:282
double m_foreignHeight
Definition VSDContentCollector.h:261
void collectShapesOrder(unsigned id, unsigned level, const std::vector< unsigned > &shapeIds) override
Definition VSDContentCollector.cpp:2550
void collectLineTo(unsigned id, unsigned level, double x, double y) override
Definition VSDContentCollector.cpp:1879
void _flushCurrentForeignData()
Definition VSDContentCollector.cpp:1286
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
void collectSplineKnot(unsigned id, unsigned level, double x, double y, double knot) override
Definition VSDContentCollector.cpp:2732
void _lineProperties(const VSDLineStyle &style, librevenge::RVNGPropertyList &styleProps)
Definition VSDContentCollector.cpp:2951
double m_splineX
Definition VSDContentCollector.h:314
Definition VSDFieldList.h:88
Definition VSDLayerList.h:34
Definition VSDTypes.h:171
Definition VSDOutputElementList.h:25
Definition VSDStencils.h:28
Definition VSDStencils.h:79
Definition VSDStyles.h:494
Definition VSDXTheme.h:77
Definition libvisio_utils.h:49
TextFormat
Definition VSDTypes.h:150
Definition VSDTypes.h:115
Definition VSDTypes.h:232
Definition VSDStyles.h:267
Definition VSDStyles.h:152
Definition VSDLayerList.h:22
Definition VSDStyles.h:63
Definition VSDTypes.h:204
Definition VSDStyles.h:373
Definition VSDTypes.h:223
Definition VSDStyles.h:458