10 #ifndef VSDCOLLECTOR_H
11 #define VSDCOLLECTOR_H
14 #include <boost/optional.hpp>
26 virtual void collectEllipticalArcTo(
unsigned id,
unsigned level,
double x3,
double y3,
double x2,
double y2,
double angle,
double ecc) = 0;
27 virtual void collectForeignData(
unsigned level,
const librevenge::RVNGBinaryData &binaryData) = 0;
29 virtual void collectOLEData(
unsigned id,
unsigned level,
const librevenge::RVNGBinaryData &oleData) = 0;
30 virtual void collectEllipse(
unsigned id,
unsigned level,
double cx,
double cy,
double xleft,
double yleft,
double xtop,
double ytop) = 0;
31 virtual void collectLine(
unsigned level,
const boost::optional<double> &strokeWidth,
const boost::optional<Colour> &c,
const boost::optional<unsigned char> &linePattern,
32 const boost::optional<unsigned char> &startMarker,
const boost::optional<unsigned char> &endMarker,
33 const boost::optional<unsigned char> &lineCap) = 0;
34 virtual void collectFillAndShadow(
unsigned level,
const boost::optional<Colour> &colourFG,
const boost::optional<Colour> &colourBG,
35 const boost::optional<unsigned char> &fillPattern,
const boost::optional<double> &fillFGTransparency,
36 const boost::optional<double> &fillBGTransparency,
const boost::optional<unsigned char> &shadowPattern,
37 const boost::optional<Colour> &shfgc,
const boost::optional<double> &shadowOffsetX,
const boost::optional<double> &shadowOffsetY) = 0;
38 virtual void collectFillAndShadow(
unsigned level,
const boost::optional<Colour> &colourFG,
const boost::optional<Colour> &colourBG,
39 const boost::optional<unsigned char> &fillPattern,
const boost::optional<double> &fillFGTransparency,
40 const boost::optional<double> &fillBGTransparency,
const boost::optional<unsigned char> &shadowPattern,
41 const boost::optional<Colour> &shfgc) = 0;
42 virtual void collectThemeReference(
unsigned level,
const boost::optional<long> &lineColour,
const boost::optional<long> &fillColour,
43 const boost::optional<long> &shadowColour,
const boost::optional<long> &fontColour) = 0;
44 virtual void collectGeometry(
unsigned id,
unsigned level,
bool noFill,
bool noLine,
bool noShow) = 0;
45 virtual void collectMoveTo(
unsigned id,
unsigned level,
double x,
double y) = 0;
46 virtual void collectLineTo(
unsigned id,
unsigned level,
double x,
double y) = 0;
47 virtual void collectArcTo(
unsigned id,
unsigned level,
double x2,
double y2,
double bow) = 0;
48 virtual void collectNURBSTo(
unsigned id,
unsigned level,
double x2,
double y2,
unsigned char xType,
unsigned char yType,
unsigned degree,
49 const std::vector<std::pair<double, double> > &ctrlPnts,
const std::vector<double> &kntVec,
const std::vector<double> &weights) = 0;
50 virtual void collectNURBSTo(
unsigned id,
unsigned level,
double x2,
double y2,
double knot,
double knotPrev,
double weight,
double weightPrev,
unsigned dataID) = 0;
51 virtual void collectNURBSTo(
unsigned id,
unsigned level,
double x2,
double y2,
double knot,
double knotPrev,
double weight,
double weightPrev,
const NURBSData &data) = 0;
52 virtual void collectPolylineTo(
unsigned id,
unsigned level,
double x,
double y,
unsigned char xType,
unsigned char yType,
const std::vector<std::pair<double, double> > &points) = 0;
53 virtual void collectPolylineTo(
unsigned id,
unsigned level,
double x,
double y,
unsigned dataID) = 0;
55 virtual void collectShapeData(
unsigned id,
unsigned level,
unsigned char xType,
unsigned char yType,
unsigned degree,
double lastKnot,
56 std::vector<std::pair<double, double> > controlPoints, std::vector<double> knotVector, std::vector<double> weights) = 0;
57 virtual void collectShapeData(
unsigned id,
unsigned level,
unsigned char xType,
unsigned char yType, std::vector<std::pair<double, double> > points) = 0;
60 virtual void collectShapesOrder(
unsigned id,
unsigned level,
const std::vector<unsigned> &shapeIds) = 0;
61 virtual void collectForeignDataType(
unsigned level,
unsigned foreignType,
unsigned foreignFormat,
double offsetX,
double offsetY,
double width,
double height) = 0;
62 virtual void collectPageProps(
unsigned id,
unsigned level,
double pageWidth,
double pageHeight,
double shadowOffsetX,
double shadowOffsetY,
double scale) = 0;
63 virtual void collectPage(
unsigned id,
unsigned level,
unsigned backgroundPageID,
bool isBackgroundPage,
const VSDName &pageName) = 0;
64 virtual void collectShape(
unsigned id,
unsigned level,
unsigned parent,
unsigned masterPage,
unsigned masterShape,
unsigned lineStyle,
unsigned fillStyle,
unsigned textStyle) = 0;
65 virtual void collectSplineStart(
unsigned id,
unsigned level,
double x,
double y,
double secondKnot,
double firstKnot,
double lastKnot,
unsigned degree) = 0;
66 virtual void collectSplineKnot(
unsigned id,
unsigned level,
double x,
double y,
double knot) = 0;
68 virtual void collectInfiniteLine(
unsigned id,
unsigned level,
double x1,
double y1,
double x2,
double y2) = 0;
69 virtual void collectRelCubBezTo(
unsigned id,
unsigned level,
double x,
double y,
double a,
double b,
double c,
double d) = 0;
70 virtual void collectRelEllipticalArcTo(
unsigned id,
unsigned level,
double x,
double y,
double a,
double b,
double c,
double d) = 0;
71 virtual void collectRelLineTo(
unsigned id,
unsigned level,
double x,
double y) = 0;
72 virtual void collectRelMoveTo(
unsigned id,
unsigned level,
double x,
double y) = 0;
73 virtual void collectRelQuadBezTo(
unsigned id,
unsigned level,
double x,
double y,
double a,
double b) = 0;
77 virtual void collectText(
unsigned level,
const librevenge::RVNGBinaryData &textStream,
TextFormat format) = 0;
78 virtual void collectCharIX(
unsigned id,
unsigned level,
unsigned charCount,
const boost::optional<VSDName> &font,
79 const boost::optional<Colour> &fontColour,
const boost::optional<double> &fontSize,
const boost::optional<bool> &bold,
80 const boost::optional<bool> &italic,
const boost::optional<bool> &underline,
const boost::optional<bool> &doubleunderline,
81 const boost::optional<bool> &strikeout,
const boost::optional<bool> &doublestrikeout,
const boost::optional<bool> &allcaps,
82 const boost::optional<bool> &initcaps,
const boost::optional<bool> &smallcaps,
const boost::optional<bool> &superscript,
83 const boost::optional<bool> &subscript) = 0;
84 virtual void collectDefaultCharStyle(
unsigned charCount,
const boost::optional<VSDName> &font,
const boost::optional<Colour> &fontColour,
85 const boost::optional<double> &fontSize,
const boost::optional<bool> &bold,
const boost::optional<bool> &italic,
86 const boost::optional<bool> &underline,
const boost::optional<bool> &doubleunderline,
const boost::optional<bool> &strikeout,
87 const boost::optional<bool> &doublestrikeout,
const boost::optional<bool> &allcaps,
const boost::optional<bool> &initcaps,
88 const boost::optional<bool> &smallcaps,
const boost::optional<bool> &superscript,
const boost::optional<bool> &subscript) = 0;
89 virtual void collectParaIX(
unsigned id,
unsigned level,
unsigned charCount,
const boost::optional<double> &indFirst,
90 const boost::optional<double> &indLeft,
const boost::optional<double> &indRight,
const boost::optional<double> &spLine,
91 const boost::optional<double> &spBefore,
const boost::optional<double> &spAfter,
const boost::optional<unsigned char> &align,
92 const boost::optional<unsigned> &flags) = 0;
93 virtual void collectDefaultParaStyle(
unsigned charCount,
const boost::optional<double> &indFirst,
const boost::optional<double> &indLeft,
94 const boost::optional<double> &indRight,
const boost::optional<double> &spLine,
const boost::optional<double> &spBefore,
95 const boost::optional<double> &spAfter,
const boost::optional<unsigned char> &align,
const boost::optional<unsigned> &flags) = 0;
96 virtual void collectTextBlock(
unsigned level,
const boost::optional<double> &leftMargin,
const boost::optional<double> &rightMargin,
97 const boost::optional<double> &topMargin,
const boost::optional<double> &bottomMargin,
98 const boost::optional<unsigned char> &verticalAlign,
const boost::optional<bool> &isBgFilled,
99 const boost::optional<Colour> &bgColour,
const boost::optional<double> &defaultTabStop,
100 const boost::optional<unsigned char> &textDirection) = 0;
102 virtual void collectName(
unsigned id,
unsigned level,
const librevenge::RVNGBinaryData &name,
TextFormat format) = 0;
107 virtual void collectStyleSheet(
unsigned id,
unsigned level,
unsigned parentLineStyle,
unsigned parentFillStyle,
unsigned parentTextStyle) = 0;
108 virtual void collectLineStyle(
unsigned level,
const boost::optional<double> &strokeWidth,
const boost::optional<Colour> &c,
const boost::optional<unsigned char> &linePattern,
109 const boost::optional<unsigned char> &startMarker,
const boost::optional<unsigned char> &endMarker,
110 const boost::optional<unsigned char> &lineCap) = 0;
111 virtual void collectFillStyle(
unsigned level,
const boost::optional<Colour> &colourFG,
const boost::optional<Colour> &colourBG,
112 const boost::optional<unsigned char> &fillPattern,
const boost::optional<double> &fillFGTransparency,
113 const boost::optional<double> &fillBGTransparency,
const boost::optional<unsigned char> &shadowPattern,
114 const boost::optional<Colour> &shfgc,
const boost::optional<double> &shadowOffsetX,
const boost::optional<double> &shadowOffsetY) = 0;
115 virtual void collectFillStyle(
unsigned level,
const boost::optional<Colour> &colourFG,
const boost::optional<Colour> &colourBG,
116 const boost::optional<unsigned char> &fillPattern,
const boost::optional<double> &fillFGTransparency,
117 const boost::optional<double> &fillBGTransparency,
const boost::optional<unsigned char> &shadowPattern,
118 const boost::optional<Colour> &shfgc) = 0;
119 virtual void collectCharIXStyle(
unsigned id,
unsigned level,
unsigned charCount,
const boost::optional<VSDName> &font,
120 const boost::optional<Colour> &fontColour,
const boost::optional<double> &fontSize,
const boost::optional<bool> &bold,
121 const boost::optional<bool> &italic,
const boost::optional<bool> &underline,
const boost::optional<bool> &doubleunderline,
122 const boost::optional<bool> &strikeout,
const boost::optional<bool> &doublestrikeout,
const boost::optional<bool> &allcaps,
123 const boost::optional<bool> &initcaps,
const boost::optional<bool> &smallcaps,
const boost::optional<bool> &superscript,
124 const boost::optional<bool> &subscript) = 0;
125 virtual void collectParaIXStyle(
unsigned id,
unsigned level,
unsigned charCount,
const boost::optional<double> &indFirst,
126 const boost::optional<double> &indLeft,
const boost::optional<double> &indRight,
const boost::optional<double> &spLine,
127 const boost::optional<double> &spBefore,
const boost::optional<double> &spAfter,
const boost::optional<unsigned char> &align,
128 const boost::optional<unsigned> &flags) = 0;
129 virtual void collectTextBlockStyle(
unsigned level,
const boost::optional<double> &leftMargin,
const boost::optional<double> &rightMargin,
130 const boost::optional<double> &topMargin,
const boost::optional<double> &bottomMargin,
131 const boost::optional<unsigned char> &verticalAlign,
const boost::optional<bool> &isBgFilled,
132 const boost::optional<Colour> &bgColour,
const boost::optional<double> &defaultTabStop,
133 const boost::optional<unsigned char> &textDirection) = 0;
134 virtual void collectStyleThemeReference(
unsigned level,
const boost::optional<long> &lineColour,
const boost::optional<long> &fillColour,
135 const boost::optional<long> &shadowColour,
const boost::optional<long> &fontColour) = 0;
139 virtual void collectTextField(
unsigned id,
unsigned level,
int nameId,
int formatStringId) = 0;
140 virtual void collectNumericField(
unsigned id,
unsigned level,
unsigned short format,
double number,
int formatStringId) = 0;
143 virtual void startPage(
unsigned pageId) = 0;
virtual void collectLineTo(unsigned id, unsigned level, double x, double y)=0
virtual void collectEllipse(unsigned id, unsigned level, double cx, double cy, double xleft, double yleft, double xtop, double ytop)=0
virtual 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 > &flags)=0
virtual void collectSplineStart(unsigned id, unsigned level, double x, double y, double secondKnot, double firstKnot, double lastKnot, unsigned degree)=0
virtual void collectMisc(unsigned level, const VSDMisc &misc)=0
virtual void collectPageSheet(unsigned id, unsigned level)=0
virtual void collectOLEList(unsigned id, unsigned level)=0
VSDCollector()
Definition: VSDCollector.h:23
Definition: VSDTypes.h:80
virtual void collectNumericField(unsigned id, unsigned level, unsigned short format, double number, int formatStringId)=0
virtual void collectRelLineTo(unsigned id, unsigned level, double x, double y)=0
virtual 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 > &flags)=0
virtual void collectSplineEnd()=0
virtual 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)=0
virtual 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)=0
virtual void collectShapesOrder(unsigned id, unsigned level, const std::vector< unsigned > &shapeIds)=0
virtual 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)=0
Definition: VSDTypes.h:190
virtual void startPage(unsigned pageId)=0
virtual void collectUnhandledChunk(unsigned id, unsigned level)=0
virtual void collectMoveTo(unsigned id, unsigned level, double x, double y)=0
virtual 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)=0
virtual void collectForeignDataType(unsigned level, unsigned foreignType, unsigned foreignFormat, double offsetX, double offsetY, double width, double height)=0
virtual void collectText(unsigned level, const librevenge::RVNGBinaryData &textStream, TextFormat format)=0
virtual void collectOLEData(unsigned id, unsigned level, const librevenge::RVNGBinaryData &oleData)=0
Definition: VSDCollector.h:20
virtual void collectTxtXForm(unsigned level, const XForm &txtxform)=0
virtual void endPages()=0
virtual void collectEllipticalArcTo(unsigned id, unsigned level, double x3, double y3, double x2, double y2, double angle, double ecc)=0
virtual void collectFieldList(unsigned id, unsigned level)=0
virtual void collectThemeReference(unsigned level, const boost::optional< long > &lineColour, const boost::optional< long > &fillColour, const boost::optional< long > &shadowColour, const boost::optional< long > &fontColour)=0
virtual void collectShape(unsigned id, unsigned level, unsigned parent, unsigned masterPage, unsigned masterShape, unsigned lineStyle, unsigned fillStyle, unsigned textStyle)=0
virtual void collectForeignData(unsigned level, const librevenge::RVNGBinaryData &binaryData)=0
virtual void collectInfiniteLine(unsigned id, unsigned level, double x1, double y1, double x2, double y2)=0
virtual void collectSplineKnot(unsigned id, unsigned level, double x, double y, double knot)=0
virtual void collectNameList(unsigned id, unsigned level)=0
virtual 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)=0
virtual 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 > &flags)=0
virtual 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)=0
TextFormat
Definition: VSDTypes.h:142
virtual void collectPage(unsigned id, unsigned level, unsigned backgroundPageID, bool isBackgroundPage, const VSDName &pageName)=0
virtual 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)=0
virtual 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)=0
virtual void collectTextField(unsigned id, unsigned level, int nameId, int formatStringId)=0
virtual void collectPageProps(unsigned id, unsigned level, double pageWidth, double pageHeight, double shadowOffsetX, double shadowOffsetY, double scale)=0
virtual void collectStyleThemeReference(unsigned level, const boost::optional< long > &lineColour, const boost::optional< long > &fillColour, const boost::optional< long > &shadowColour, const boost::optional< long > &fontColour)=0
virtual void collectRelEllipticalArcTo(unsigned id, unsigned level, double x, double y, double a, double b, double c, double d)=0
virtual void collectPolylineTo(unsigned id, unsigned level, double x, double y, unsigned char xType, unsigned char yType, const std::vector< std::pair< double, double > > &points)=0
virtual void collectGeometry(unsigned id, unsigned level, bool noFill, bool noLine, bool noShow)=0
virtual void collectRelCubBezTo(unsigned id, unsigned level, double x, double y, double a, double b, double c, double d)=0
virtual ~VSDCollector()
Definition: VSDCollector.h:24
Definition: VSDTypes.h:107
VSDCollector & operator=(const VSDCollector &)
virtual void collectRelMoveTo(unsigned id, unsigned level, double x, double y)=0
virtual void collectStyleSheet(unsigned id, unsigned level, unsigned parentLineStyle, unsigned parentFillStyle, unsigned parentTextStyle)=0
virtual 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)=0
virtual 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)=0
Definition: VSDTypes.h:163
virtual void collectArcTo(unsigned id, unsigned level, double x2, double y2, double bow)=0
virtual void collectName(unsigned id, unsigned level, const librevenge::RVNGBinaryData &name, TextFormat format)=0
virtual void collectRelQuadBezTo(unsigned id, unsigned level, double x, double y, double a, double b)=0
virtual 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)=0
virtual void collectXFormData(unsigned level, const XForm &xform)=0