10 #ifndef VSDCONTENTCOLLECTOR_H    11 #define VSDCONTENTCOLLECTOR_H    34     librevenge::RVNGDrawingInterface *painter,
    35     std::vector<std::map<unsigned, XForm> > &groupXFormsSequence,
    36     std::vector<std::map<unsigned, unsigned> > &groupMembershipsSequence,
    37     std::vector<std::list<unsigned> > &documentPageShapeOrders,
    45   void collectEllipticalArcTo(
unsigned id, 
unsigned level, 
double x3, 
double y3, 
double x2, 
double y2, 
double angle, 
double ecc);
    48   void collectOLEData(
unsigned id, 
unsigned level, 
const librevenge::RVNGBinaryData &oleData);
    49   void collectEllipse(
unsigned id, 
unsigned level, 
double cx, 
double cy, 
double xleft, 
double yleft, 
double xtop, 
double ytop);
    50   void collectLine(
unsigned level, 
const boost::optional<double> &strokeWidth, 
const boost::optional<Colour> &c, 
const boost::optional<unsigned char> &linePattern,
    51                    const boost::optional<unsigned char> &startMarker, 
const boost::optional<unsigned char> &endMarker,
    52                    const boost::optional<unsigned char> &lineCap, 
const boost::optional<double> &rounding);
    53   void collectFillAndShadow(
unsigned level, 
const boost::optional<Colour> &colourFG, 
const boost::optional<Colour> &colourBG,
    54                             const boost::optional<unsigned char> &fillPattern, 
const boost::optional<double> &fillFGTransparency,
    55                             const boost::optional<double> &fillBGTransparency, 
const boost::optional<unsigned char> &shadowPattern,
    56                             const boost::optional<Colour> &shfgc, 
const boost::optional<double> &shadowOffsetX, 
const boost::optional<double> &shadowOffsetY);
    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);
    61   void collectThemeReference(
unsigned level, 
const boost::optional<long> &lineColour, 
const boost::optional<long> &fillColour,
    62                              const boost::optional<long> &shadowColour, 
const boost::optional<long> &fontColour);
    63   void collectGeometry(
unsigned id, 
unsigned level, 
bool noFill, 
bool noLine, 
bool noShow);
    64   void collectMoveTo(
unsigned id, 
unsigned level, 
double x, 
double y);
    65   void collectLineTo(
unsigned id, 
unsigned level, 
double x, 
double y);
    66   void collectArcTo(
unsigned id, 
unsigned level, 
double x2, 
double y2, 
double bow);
    67   void collectNURBSTo(
unsigned id, 
unsigned level, 
double x2, 
double y2, 
unsigned char xType, 
unsigned char yType, 
unsigned degree,
    68                       const std::vector<std::pair<double, double> > &ctrlPnts, 
const std::vector<double> &kntVec, 
const std::vector<double> &weights);
    69   void collectNURBSTo(
unsigned id, 
unsigned level, 
double x2, 
double y2, 
double knot, 
double knotPrev, 
double weight, 
double weightPrev, 
unsigned dataID);
    70   void collectNURBSTo(
unsigned id, 
unsigned level, 
double x2, 
double y2, 
double knot, 
double knotPrev, 
double weight, 
double weightPrev, 
const NURBSData &data);
    71   void collectPolylineTo(
unsigned id, 
unsigned level, 
double x, 
double y, 
unsigned char xType, 
unsigned char yType,
    72                          const std::vector<std::pair<double, double> > &points);
    73   void collectPolylineTo(
unsigned id, 
unsigned level, 
double x, 
double y, 
unsigned dataID);
    75   void collectShapeData(
unsigned id, 
unsigned level, 
unsigned char xType, 
unsigned char yType, 
unsigned degree, 
double lastKnot,
    76                         std::vector<std::pair<double, double> > controlPoints, std::vector<double> knotVector, std::vector<double> weights);
    77   void collectShapeData(
unsigned id, 
unsigned level, 
unsigned char xType, 
unsigned char yType, std::vector<std::pair<double, double> > points);
    80   void collectShapesOrder(
unsigned id, 
unsigned level, 
const std::vector<unsigned> &shapeIds);
    81   void collectForeignDataType(
unsigned level, 
unsigned foreignType, 
unsigned foreignFormat, 
double offsetX, 
double offsetY, 
double width, 
double height);
    82   void collectPageProps(
unsigned id, 
unsigned level, 
double pageWidth, 
double pageHeight, 
double shadowOffsetX, 
double shadowOffsetY, 
double scale);
    83   void collectPage(
unsigned id, 
unsigned level, 
unsigned backgroundPageID, 
bool isBackgroundPage, 
const VSDName &pageName);
    84   void collectShape(
unsigned id, 
unsigned level, 
unsigned parent, 
unsigned masterPage, 
unsigned masterShape, 
unsigned lineStyle, 
unsigned fillStyle, 
unsigned textStyle);
    85   void collectSplineStart(
unsigned id, 
unsigned level, 
double x, 
double y, 
double secondKnot, 
double firstKnot, 
double lastKnot, 
unsigned degree);
    86   void collectSplineKnot(
unsigned id, 
unsigned level, 
double x, 
double y, 
double knot);
    88   void collectInfiniteLine(
unsigned id, 
unsigned level, 
double x1, 
double y1, 
double x2, 
double y2);
    89   void collectRelCubBezTo(
unsigned id, 
unsigned level, 
double x, 
double y, 
double a, 
double b, 
double c, 
double d);
    93   void collectRelQuadBezTo(
unsigned id, 
unsigned level, 
double x, 
double y, 
double a, 
double b);
    98   void collectCharIX(
unsigned id, 
unsigned level, 
unsigned charCount, 
const boost::optional<VSDName> &font,
    99                      const boost::optional<Colour> &fontColour, 
const boost::optional<double> &fontSize, 
const boost::optional<bool> &bold,
   100                      const boost::optional<bool> &italic, 
const boost::optional<bool> &underline, 
const boost::optional<bool> &doubleunderline,
   101                      const boost::optional<bool> &strikeout, 
const boost::optional<bool> &doublestrikeout, 
const boost::optional<bool> &allcaps,
   102                      const boost::optional<bool> &initcaps, 
const boost::optional<bool> &smallcaps, 
const boost::optional<bool> &superscript,
   103                      const boost::optional<bool> &subscript);
   104   void collectDefaultCharStyle(
unsigned charCount, 
const boost::optional<VSDName> &font, 
const boost::optional<Colour> &fontColour,
   105                                const boost::optional<double> &fontSize, 
const boost::optional<bool> &bold, 
const boost::optional<bool> &italic,
   106                                const boost::optional<bool> &underline, 
const boost::optional<bool> &doubleunderline, 
const boost::optional<bool> &strikeout,
   107                                const boost::optional<bool> &doublestrikeout, 
const boost::optional<bool> &allcaps, 
const boost::optional<bool> &initcaps,
   108                                const boost::optional<bool> &smallcaps, 
const boost::optional<bool> &superscript, 
const boost::optional<bool> &subscript);
   109   void collectParaIX(
unsigned id, 
unsigned level, 
unsigned charCount, 
const boost::optional<double> &indFirst,
   110                      const boost::optional<double> &indLeft, 
const boost::optional<double> &indRight, 
const boost::optional<double> &spLine,
   111                      const boost::optional<double> &spBefore, 
const boost::optional<double> &spAfter, 
const boost::optional<unsigned char> &align,
   112                      const boost::optional<unsigned char> &bullet, 
const boost::optional<VSDName> &bulletStr, 
const boost::optional<VSDName> &bulletFont,
   113                      const boost::optional<double> &bulletFontSize, 
const boost::optional<double> &textPosAfterBullet,
   114                      const boost::optional<unsigned> &flags);
   115   void collectDefaultParaStyle(
unsigned charCount, 
const boost::optional<double> &indFirst, 
const boost::optional<double> &indLeft,
   116                                const boost::optional<double> &indRight, 
const boost::optional<double> &spLine, 
const boost::optional<double> &spBefore,
   117                                const boost::optional<double> &spAfter, 
const boost::optional<unsigned char> &align,
   118                                const boost::optional<unsigned char> &bullet, 
const boost::optional<VSDName> &bulletStr,
   119                                const boost::optional<VSDName> &bulletFont, 
const boost::optional<double> &bulletFontSize,
   120                                const boost::optional<double> &textPosAfterBullet, 
const boost::optional<unsigned> &flags);
   121   void collectTextBlock(
unsigned level, 
const boost::optional<double> &leftMargin, 
const boost::optional<double> &rightMargin,
   122                         const boost::optional<double> &topMargin, 
const boost::optional<double> &bottomMargin,
   123                         const boost::optional<unsigned char> &verticalAlign, 
const boost::optional<bool> &isBgFilled,
   124                         const boost::optional<Colour> &bgColour, 
const boost::optional<double> &defaultTabStop,
   125                         const boost::optional<unsigned char> &textDirection);
   127   void collectName(
unsigned id, 
unsigned level,  
const librevenge::RVNGBinaryData &name, 
TextFormat format);
   135   void collectStyleSheet(
unsigned id, 
unsigned level, 
unsigned parentLineStyle, 
unsigned parentFillStyle, 
unsigned parentTextStyle);
   136   void collectLineStyle(
unsigned level, 
const boost::optional<double> &strokeWidth, 
const boost::optional<Colour> &c, 
const boost::optional<unsigned char> &linePattern,
   137                         const boost::optional<unsigned char> &startMarker, 
const boost::optional<unsigned char> &endMarker,
   138                         const boost::optional<unsigned char> &lineCap, 
const boost::optional<double> &rounding);
   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   void collectFillStyle(
unsigned level, 
const boost::optional<Colour> &colourFG, 
const boost::optional<Colour> &colourBG,
   144                         const boost::optional<unsigned char> &fillPattern, 
const boost::optional<double> &fillFGTransparency,
   145                         const boost::optional<double> &fillBGTransparency, 
const boost::optional<unsigned char> &shadowPattern,
   146                         const boost::optional<Colour> &shfgc);
   147   void collectCharIXStyle(
unsigned id, 
unsigned level, 
unsigned charCount, 
const boost::optional<VSDName> &font,
   148                           const boost::optional<Colour> &fontColour, 
const boost::optional<double> &fontSize, 
const boost::optional<bool> &bold,
   149                           const boost::optional<bool> &italic, 
const boost::optional<bool> &underline, 
const boost::optional<bool> &doubleunderline,
   150                           const boost::optional<bool> &strikeout, 
const boost::optional<bool> &doublestrikeout, 
const boost::optional<bool> &allcaps,
   151                           const boost::optional<bool> &initcaps, 
const boost::optional<bool> &smallcaps, 
const boost::optional<bool> &superscript,
   152                           const boost::optional<bool> &subscript);
   153   void collectParaIXStyle(
unsigned id, 
unsigned level, 
unsigned charCount, 
const boost::optional<double> &indFirst,
   154                           const boost::optional<double> &indLeft, 
const boost::optional<double> &indRight, 
const boost::optional<double> &spLine,
   155                           const boost::optional<double> &spBefore, 
const boost::optional<double> &spAfter, 
const boost::optional<unsigned char> &align,
   156                           const boost::optional<unsigned char> &bullet, 
const boost::optional<VSDName> &bulletStr,
   157                           const boost::optional<VSDName> &bulletFont, 
const boost::optional<double> &bulletFontSize,
   158                           const boost::optional<double> &textPosAfterBullet, 
const boost::optional<unsigned> &flags);
   159   void collectTextBlockStyle(
unsigned level, 
const boost::optional<double> &leftMargin, 
const boost::optional<double> &rightMargin,
   160                              const boost::optional<double> &topMargin, 
const boost::optional<double> &bottomMargin,
   161                              const boost::optional<unsigned char> &verticalAlign, 
const boost::optional<bool> &isBgFilled,
   162                              const boost::optional<Colour> &bgColour, 
const boost::optional<double> &defaultTabStop,
   163                              const boost::optional<unsigned char> &textDirection);
   164   void collectStyleThemeReference(
unsigned level, 
const boost::optional<long> &lineColour, 
const boost::optional<long> &fillColour,
   165                                   const boost::optional<long> &shadowColour, 
const boost::optional<long> &fontColour);
   167   virtual void collectMetaData(
const librevenge::RVNGPropertyList &metaData);
   172   void collectTextField(
unsigned id, 
unsigned level, 
int nameId, 
int formatStringId);
   173   void collectNumericField(
unsigned id, 
unsigned level, 
unsigned short format, 
double number, 
int formatStringId);
   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);
 std::vector< std::list< unsigned > >::iterator m_pageShapeOrder
Definition: VSDContentCollector.h:275
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:36
Definition: VSDStyles.h:499
std::vector< std::map< unsigned, unsigned > >::iterator m_groupMemberships
Definition: VSDContentCollector.h:269
void _generateBezierSegmentsFromNURBS(unsigned degree, const std::vector< std::pair< double, double > > &controlPoints, const std::vector< double > &knotVector)
Definition: VSDContentCollector.cpp:1628
bool m_noLine
Definition: VSDContentCollector.h:261
Definition: VSDStencils.h:26
void collectThemeReference(unsigned level, const boost::optional< long > &lineColour, const boost::optional< long > &fillColour, const boost::optional< long > &shadowColour, const boost::optional< long > &fontColour)
Definition: VSDContentCollector.cpp:1314
void collectShape(unsigned id, unsigned level, unsigned parent, unsigned masterPage, unsigned masterShape, unsigned lineStyle, unsigned fillStyle, unsigned textStyle)
Definition: VSDContentCollector.cpp:2177
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)
Definition: VSDContentCollector.cpp:2511
void transformAngle(double &angle, XForm *txtxform=0)
Definition: VSDContentCollector.cpp:2079
virtual ~VSDContentCollector()
Definition: VSDContentCollector.h:40
XForm m_xform
Definition: VSDContentCollector.h:245
bool parseFormatId(const char *formatString, unsigned short &result)
Definition: VSDContentCollector.cpp:3222
void collectText(unsigned level, const librevenge::RVNGBinaryData &textStream, TextFormat format)
Definition: VSDContentCollector.cpp:2342
void _convertToPath(const std::vector< librevenge::RVNGPropertyList > &segmentVector, librevenge::RVNGPropertyListVector &path, double rounding)
Definition: VSDContentCollector.cpp:364
bool m_isPageStarted
Definition: VSDContentCollector.h:235
void _fillCharProperties(librevenge::RVNGPropertyList &propList, const VSDCharStyle &style)
Definition: VSDContentCollector.cpp:799
std::vector< librevenge::RVNGString > m_fields
Definition: VSDContentCollector.h:282
std::vector< std::map< unsigned, XForm > > & m_groupXFormsSequence
Definition: VSDContentCollector.h:267
VSDLayerList m_currentLayerList
Definition: VSDContentCollector.h:322
std::vector< VSDParaStyle > m_paraFormats
Definition: VSDContentCollector.h:286
bool m_noShow
Definition: VSDContentCollector.h:263
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)
Definition: VSDContentCollector.cpp:2406
void collectMoveTo(unsigned id, unsigned level, double x, double y)
Definition: VSDContentCollector.cpp:1474
void collectEllipticalArcTo(unsigned id, unsigned level, double x3, double y3, double x2, double y2, double angle, double ecc)
Definition: VSDContentCollector.cpp:997
Definition: VSDLayerList.h:33
Definition: VSDStyles.h:103
void collectRelLineTo(unsigned id, unsigned level, double x, double y)
Definition: VSDContentCollector.cpp:1250
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)
Definition: VSDContentCollector.cpp:1976
double m_originalX
Definition: VSDContentCollector.h:243
Definition: VSDTypes.h:96
void collectForeignData(unsigned level, const librevenge::RVNGBinaryData &binaryData)
Definition: VSDContentCollector.cpp:1321
Definition: VSDTypes.h:233
void endPage()
Definition: VSDContentCollector.cpp:3198
const char * _linePropertiesMarkerViewbox(unsigned marker)
Definition: VSDContentCollector.cpp:67
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)
Definition: VSDContentCollector.cpp:1297
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:1731
void appendCharacters(librevenge::RVNGString &text, const std::vector< unsigned char > &characters, TextFormat format)
Definition: VSDContentCollector.cpp:3252
unsigned m_currentLevel
Definition: VSDContentCollector.h:265
librevenge::RVNGDrawingInterface * m_painter
Definition: VSDContentCollector.h:183
double m_shadowOffsetX
Definition: VSDContentCollector.h:238
Definition: VSDStyles.h:461
Definition: VSDTypes.h:224
void collectMisc(unsigned level, const VSDMisc &misc)
Definition: VSDContentCollector.cpp:3411
void _flushCurrentPage()
Definition: VSDContentCollector.cpp:950
void collectOLEData(unsigned id, unsigned level, const librevenge::RVNGBinaryData &oleData)
Definition: VSDContentCollector.cpp:1335
bool m_noFill
Definition: VSDContentCollector.h:262
void collectEllipse(unsigned id, unsigned level, double cx, double cy, double xleft, double yleft, double xtop, double ytop)
Definition: VSDContentCollector.cpp:1070
void collectUnhandledChunk(unsigned id, unsigned level)
Definition: VSDContentCollector.cpp:2298
void _flushShape()
Definition: VSDContentCollector.cpp:171
void collectStyleSheet(unsigned id, unsigned level, unsigned parentLineStyle, unsigned parentFillStyle, unsigned parentTextStyle)
Definition: VSDContentCollector.cpp:2457
Definition: VSDPages.h:34
VSDParaStyle m_defaultParaStyle
Definition: VSDContentCollector.h:295
unsigned m_splineDegree
Definition: VSDContentCollector.h:317
void collectNumericField(unsigned id, unsigned level, unsigned short format, double number, int formatStringId)
Definition: VSDContentCollector.cpp:3096
void collectSplineEnd()
Definition: VSDContentCollector.cpp:2324
void collectName(unsigned id, unsigned level, const librevenge::RVNGBinaryData &name, TextFormat format)
Definition: VSDContentCollector.cpp:2441
double m_scale
Definition: VSDContentCollector.h:240
void collectArcTo(unsigned id, unsigned level, double x2, double y2, double bow)
Definition: VSDContentCollector.cpp:1510
double m_splineX
Definition: VSDContentCollector.h:315
void collectNameList(unsigned id, unsigned level)
Definition: VSDContentCollector.cpp:2425
std::vector< std::map< unsigned, unsigned > > & m_groupMembershipsSequence
Definition: VSDContentCollector.h:268
void collectForeignDataType(unsigned level, unsigned foreignType, unsigned foreignFormat, double offsetX, double offsetY, double width, double height)
Definition: VSDContentCollector.cpp:2143
bool _isUniform(const std::vector< double > &weights) const 
Definition: VSDContentCollector.cpp:1767
void collectGeometry(unsigned id, unsigned level, bool noFill, bool noLine, bool noShow)
Definition: VSDContentCollector.cpp:1459
Definition: VSDTypes.h:206
double m_pageHeight
Definition: VSDContentCollector.h:237
double m_foreignOffsetY
Definition: VSDContentCollector.h:258
void collectTextField(unsigned id, unsigned level, int nameId, int formatStringId)
Definition: VSDContentCollector.cpp:3073
void _outputQuadraticBezierSegment(const std::vector< std::pair< double, double > > &points)
Definition: VSDContentCollector.cpp:1587
std::vector< std::list< unsigned > > & m_documentPageShapeOrders
Definition: VSDContentCollector.h:274
const VSDShape * m_stencilShape
Definition: VSDContentCollector.h:301
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)
Definition: VSDContentCollector.cpp:2523
void startPage(unsigned pageId)
Definition: VSDContentCollector.cpp:3174
VSDPage m_currentPage
Definition: VSDContentCollector.h:308
std::vector< librevenge::RVNGPropertyList > m_currentFillGeometry
Definition: VSDContentCollector.h:248
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)
Definition: VSDContentCollector.cpp:2468
void collectRelQuadBezTo(unsigned id, unsigned level, double x, double y, double a, double b)
Definition: VSDContentCollector.cpp:1264
void _handleLevelChange(unsigned level)
Definition: VSDContentCollector.cpp:3126
std::vector< VSDCharStyle > m_charFormats
Definition: VSDContentCollector.h:285
Definition: VSDStencils.h:78
void collectPage(unsigned id, unsigned level, unsigned backgroundPageID, bool isBackgroundPage, const VSDName &pageName)
Definition: VSDContentCollector.cpp:2167
double m_foreignOffsetX
Definition: VSDContentCollector.h:257
std::map< unsigned, XForm > * m_groupXForms
Definition: VSDContentCollector.h:250
Definition: VSDOutputElementList.h:23
void _fillAndShadowProperties(const VSDFillStyle &style, librevenge::RVNGPropertyList &styleProps)
Definition: VSDContentCollector.cpp:2754
bool m_isStencilStarted
Definition: VSDContentCollector.h:302
Definition: VSDContentCollector.h:30
VSDContentCollector & operator=(const VSDContentCollector &)
void collectShapesOrder(unsigned id, unsigned level, const std::vector< unsigned > &shapeIds)
Definition: VSDContentCollector.cpp:2138
Definition: VSDCollector.h:20
double _NURBSBasis(unsigned knot, unsigned degree, double point, const std::vector< double > &knotVector)
Definition: VSDContentCollector.cpp:1708
void _listLevelFromBullet(librevenge::RVNGPropertyList &propList, const VSDBullet &bullet)
Definition: VSDContentCollector.cpp:3525
VSDMisc m_misc
Definition: VSDContentCollector.h:247
unsigned m_foreignType
Definition: VSDContentCollector.h:255
Definition: VSDFieldList.h:81
Definition: VSDStyles.h:268
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)
Definition: VSDContentCollector.cpp:1782
double m_splineLastKnot
Definition: VSDContentCollector.h:316
void collectInfiniteLine(unsigned id, unsigned level, double x1, double y1, double x2, double y2)
Definition: VSDContentCollector.cpp:1122
std::map< unsigned, VSDOutputElementList > m_pageOutputText
Definition: VSDContentCollector.h:273
std::map< unsigned short, VSDFont > m_fonts
Definition: VSDContentCollector.h:264
VSDFieldList m_stencilFields
Definition: VSDContentCollector.h:283
unsigned m_foreignFormat
Definition: VSDContentCollector.h:256
void collectLineTo(unsigned id, unsigned level, double x, double y)
Definition: VSDContentCollector.cpp:1492
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)
Definition: VSDContentCollector.cpp:2355
double m_foreignWidth
Definition: VSDContentCollector.h:259
double _linePropertiesMarkerScale(unsigned marker)
Definition: VSDContentCollector.cpp:152
void _flushText()
Definition: VSDContentCollector.cpp:509
double m_foreignHeight
Definition: VSDContentCollector.h:260
void collectOLEList(unsigned id, unsigned level)
Definition: VSDContentCollector.cpp:1327
librevenge::RVNGPropertyList m_currentForeignProps
Definition: VSDContentCollector.h:253
unsigned m_splineLevel
Definition: VSDContentCollector.h:318
std::map< unsigned, librevenge::RVNGString > m_names
Definition: VSDContentCollector.h:281
std::vector< librevenge::RVNGPropertyList > m_currentLineGeometry
Definition: VSDContentCollector.h:249
virtual void collectMetaData(const librevenge::RVNGPropertyList &metaData)
Definition: VSDContentCollector.cpp:3169
void applyXForm(double &x, double &y, const XForm &xform)
Definition: VSDContentCollector.cpp:2017
librevenge::RVNGString m_currentText
Definition: VSDContentCollector.h:280
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)
Definition: VSDContentCollector.cpp:1289
std::vector< unsigned > m_currentLayerMem
Definition: VSDContentCollector.h:323
void _appendVisibleAndPrintable(librevenge::RVNGPropertyList &propList)
Definition: VSDContentCollector.cpp:3454
VSDLayerList m_layerList
Definition: VSDContentCollector.h:311
std::map< unsigned, VSDOutputElementList > m_pageOutputDrawing
Definition: VSDContentCollector.h:272
void collectPageSheet(unsigned id, unsigned level)
Definition: VSDContentCollector.cpp:2450
unsigned m_currentStyleSheet
Definition: VSDContentCollector.h:297
std::map< unsigned, librevenge::RVNGString > m_stencilNames
Definition: VSDContentCollector.h:281
void collectLayerMem(unsigned level, const VSDName &layerMem)
Definition: VSDContentCollector.cpp:3417
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)
Definition: VSDContentCollector.cpp:2477
void collectTxtXForm(unsigned level, const XForm &txtxform)
Definition: VSDContentCollector.cpp:2007
void collectSplineStart(unsigned id, unsigned level, double x, double y, double secondKnot, double firstKnot, double lastKnot, unsigned degree)
Definition: VSDContentCollector.cpp:2303
void _outputCubicBezierSegment(const std::vector< std::pair< double, double > > &points)
Definition: VSDContentCollector.cpp:1559
void transformFlips(bool &flipX, bool &flipY)
Definition: VSDContentCollector.cpp:2097
void endPages()
Definition: VSDContentCollector.cpp:3217
std::map< unsigned, PolylineData > m_polylineData
Definition: VSDContentCollector.h:279
std::vector< VSDTabSet > m_tabSets
Definition: VSDContentCollector.h:324
Definition: VSDLayerList.h:21
librevenge::RVNGBinaryData m_currentOLEData
Definition: VSDContentCollector.h:252
TextFormat
Definition: VSDTypes.h:158
VSDStyles m_styles
Definition: VSDContentCollector.h:298
Definition: VSDStyles.h:175
double m_pageWidth
Definition: VSDContentCollector.h:236
unsigned m_fieldIndex
Definition: VSDContentCollector.h:284
unsigned m_backgroundPageID
Definition: VSDContentCollector.h:306
VSDPages m_pages
Definition: VSDContentCollector.h:309
VSDLineStyle m_lineStyle
Definition: VSDContentCollector.h:288
Definition: VSDStyles.h:46
VSDCharStyle m_defaultCharStyle
Definition: VSDContentCollector.h:294
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)
Definition: VSDContentCollector.cpp:2496
VSDFillStyle m_fillStyle
Definition: VSDContentCollector.h:289
void collectLayer(unsigned id, unsigned level, const VSDLayer &layer)
Definition: VSDContentCollector.cpp:3448
void collectPageProps(unsigned id, unsigned level, double pageWidth, double pageHeight, double shadowOffsetX, double shadowOffsetY, double scale)
Definition: VSDContentCollector.cpp:2154
void collectStyleThemeReference(unsigned level, const boost::optional< long > &lineColour, const boost::optional< long > &fillColour, const boost::optional< long > &shadowColour, const boost::optional< long > &fontColour)
Definition: VSDContentCollector.cpp:3058
void collectXFormData(unsigned level, const XForm &xform)
Definition: VSDContentCollector.cpp:2001
bool m_isFirstGeometry
Definition: VSDContentCollector.h:276
void _handleForeignData(const librevenge::RVNGBinaryData &data)
Definition: VSDContentCollector.cpp:1341
void _convertDataToString(librevenge::RVNGString &result, const librevenge::RVNGBinaryData &data, TextFormat format)
Definition: VSDContentCollector.cpp:2432
Definition: libvisio_utils.h:73
void collectRelMoveTo(unsigned id, unsigned level, double x, double y)
Definition: VSDContentCollector.cpp:1257
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)
Definition: VSDContentCollector.cpp:2382
void _outputLinearBezierSegment(const std::vector< std::pair< double, double > > &points)
Definition: VSDContentCollector.cpp:1610
std::vector< double > m_splineKnotVector
Definition: VSDContentCollector.h:314
void collectSplineKnot(unsigned id, unsigned level, double x, double y, double knot)
Definition: VSDContentCollector.cpp:2315
double m_originalY
Definition: VSDContentCollector.h:244
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)
Definition: VSDContentCollector.cpp:2416
Definition: VSDStyles.h:371
VSDThemeReference m_themeReference
Definition: VSDContentCollector.h:292
Definition: VSDPages.h:19
void _flushCurrentForeignData()
Definition: VSDContentCollector.cpp:902
librevenge::RVNGBinaryData m_currentForeignData
Definition: VSDContentCollector.h:251
void collectTabsDataList(unsigned level, const std::map< unsigned, VSDTabSet > &tabSets)
Definition: VSDContentCollector.cpp:2396
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)
Definition: VSDContentCollector.cpp:2370
unsigned m_currentShapeId
Definition: VSDContentCollector.h:254
bool m_isBackgroundPage
Definition: VSDContentCollector.h:320
std::map< unsigned, NURBSData > m_NURBSData
Definition: VSDContentCollector.h:278
VSDStencils m_stencils
Definition: VSDContentCollector.h:300
double m_x
Definition: VSDContentCollector.h:241
double m_splineY
Definition: VSDContentCollector.h:315
void _lineProperties(const VSDLineStyle &style, librevenge::RVNGPropertyList &styleProps)
Definition: VSDContentCollector.cpp:2532
const char * _linePropertiesMarkerPath(unsigned marker)
Definition: VSDContentCollector.cpp:103
unsigned m_currentShapeLevel
Definition: VSDContentCollector.h:319
void collectRelEllipticalArcTo(unsigned id, unsigned level, double x, double y, double a, double b, double c, double d)
Definition: VSDContentCollector.cpp:1241
Definition: VSDTypes.h:123
void transformPoint(double &x, double &y, XForm *txtxform=0)
Definition: VSDContentCollector.cpp:2036
std::vector< std::pair< double, double > > m_splineControlPoints
Definition: VSDContentCollector.h:313
bool m_isShapeStarted
Definition: VSDContentCollector.h:266
void _fillTabSet(librevenge::RVNGPropertyList &propList, const VSDTabSet &tabSet)
Definition: VSDContentCollector.cpp:872
VSDTextBlockStyle m_textBlockStyle
Definition: VSDContentCollector.h:290
void _fillParagraphProperties(librevenge::RVNGPropertyList &propList, const VSDParaStyle &style)
Definition: VSDContentCollector.cpp:833
unsigned m_currentPageID
Definition: VSDContentCollector.h:307
unsigned m_currentGeometryCount
Definition: VSDContentCollector.h:304
double m_y
Definition: VSDContentCollector.h:242
VSDOutputElementList * m_shapeOutputText
Definition: VSDContentCollector.h:271
Definition: VSDTypes.h:179
VSDOutputElementList * m_shapeOutputDrawing
Definition: VSDContentCollector.h:271
void _appendField(librevenge::RVNGString &text)
Definition: VSDContentCollector.cpp:3403
void collectFieldList(unsigned id, unsigned level)
Definition: VSDContentCollector.cpp:3067
void collectRelCubBezTo(unsigned id, unsigned level, double x, double y, double a, double b, double c, double d)
Definition: VSDContentCollector.cpp:1211
void collectPolylineTo(unsigned id, unsigned level, double x, double y, unsigned char xType, unsigned char yType, const std::vector< std::pair< double, double > > &points)
Definition: VSDContentCollector.cpp:1895
void _flushCurrentPath()
Definition: VSDContentCollector.cpp:207
double m_shadowOffsetY
Definition: VSDContentCollector.h:239
unsigned m_currentPageNumber
Definition: VSDContentCollector.h:270
XForm * m_txtxform
Definition: VSDContentCollector.h:246
void _bulletFromParaFormat(VSDBullet &bullet, const VSDParaStyle ¶Style)
Definition: VSDContentCollector.cpp:3469