31 #ifndef VSDSTYLESCOLLECTOR_H
32 #define VSDSTYLESCOLLECTOR_H
49 std::vector<std::map<unsigned, XForm> > &groupXFormsSequence,
50 std::vector<std::map<unsigned, unsigned> > &groupMembershipsSequence,
51 std::vector<std::list<unsigned> > &documentPageShapeOrders
55 void collectEllipticalArcTo(
unsigned id,
unsigned level,
double x3,
double y3,
double x2,
double y2,
double angle,
double ecc);
61 void collectOLEData(
unsigned id,
unsigned level,
const WPXBinaryData &oleData);
62 void collectEllipse(
unsigned id,
unsigned level,
double cx,
double cy,
double xleft,
double yleft,
double xtop,
double ytop);
63 void collectLine(
unsigned level,
const boost::optional<double> &strokeWidth,
const boost::optional<Colour> &c,
const boost::optional<unsigned char> &linePattern,
64 const boost::optional<unsigned char> &startMarker,
const boost::optional<unsigned char> &endMarker,
65 const boost::optional<unsigned char> &lineCap);
66 void collectFillAndShadow(
unsigned level,
const boost::optional<Colour> &colourFG,
const boost::optional<Colour> &colourBG,
67 const boost::optional<unsigned char> &fillPattern,
const boost::optional<double> &fillFGTransparency,
68 const boost::optional<double> &fillBGTransparency,
const boost::optional<unsigned char> &shadowPattern,
69 const boost::optional<Colour> &shfgc,
const boost::optional<double> &shadowOffsetX,
const boost::optional<double> &shadowOffsetY);
70 void collectFillAndShadow(
unsigned level,
const boost::optional<Colour> &colourFG,
const boost::optional<Colour> &colourBG,
71 const boost::optional<unsigned char> &fillPattern,
const boost::optional<double> &fillFGTransparency,
72 const boost::optional<double> &fillBGTransparency,
const boost::optional<unsigned char> &shadowPattern,
73 const boost::optional<Colour> &shfgc);
74 void collectGeometry(
unsigned id,
unsigned level,
bool noFill,
bool noLine,
bool noShow);
75 void collectMoveTo(
unsigned id,
unsigned level,
double x,
double y);
76 void collectLineTo(
unsigned id,
unsigned level,
double x,
double y);
77 void collectArcTo(
unsigned id,
unsigned level,
double x2,
double y2,
double bow);
78 void collectNURBSTo(
unsigned id,
unsigned level,
double x2,
double y2,
unsigned char xType,
unsigned char yType,
unsigned degree,
79 const std::vector<std::pair<double, double> > &ctrlPnts,
const std::vector<double> &kntVec,
const std::vector<double> &weights);
80 void collectNURBSTo(
unsigned id,
unsigned level,
double x2,
double y2,
double knot,
double knotPrev,
double weight,
double weightPrev,
unsigned dataID);
81 void collectNURBSTo(
unsigned id,
unsigned level,
double x2,
double y2,
double knot,
double knotPrev,
double weight,
double weightPrev,
const NURBSData &data);
82 void collectPolylineTo(
unsigned id,
unsigned level,
double x,
double y,
unsigned char xType,
unsigned char yType,
const std::vector<std::pair<double, double> > &points);
83 void collectPolylineTo(
unsigned id,
unsigned level,
double x,
double y,
unsigned dataID);
85 void collectShapeData(
unsigned id,
unsigned level,
unsigned char xType,
unsigned char yType,
unsigned degree,
double lastKnot,
86 std::vector<std::pair<double, double> > controlPoints, std::vector<double> knotVector, std::vector<double> weights);
87 void collectShapeData(
unsigned id,
unsigned level,
unsigned char xType,
unsigned char yType, std::vector<std::pair<double, double> > points);
90 void collectShapesOrder(
unsigned id,
unsigned level,
const std::vector<unsigned> &shapeIds);
91 void collectForeignDataType(
unsigned level,
unsigned foreignType,
unsigned foreignFormat,
double offsetX,
double offsetY,
double width,
double height);
92 void collectPageProps(
unsigned id,
unsigned level,
double pageWidth,
double pageHeight,
double shadowOffsetX,
double shadowOffsetY,
double scale);
93 void collectPage(
unsigned id,
unsigned level,
unsigned backgroundPageID,
bool isBackgroundPage,
const VSDName &pageName);
94 void collectShape(
unsigned id,
unsigned level,
unsigned parent,
unsigned masterPage,
unsigned masterShape,
unsigned lineStyle,
unsigned fillStyle,
unsigned textStyle);
95 void collectSplineStart(
unsigned id,
unsigned level,
double x,
double y,
double secondKnot,
double firstKnot,
double lastKnot,
unsigned degree);
96 void collectSplineKnot(
unsigned id,
unsigned level,
double x,
double y,
double knot);
98 void collectInfiniteLine(
unsigned id,
unsigned level,
double x1,
double y1,
double x2,
double y2);
99 void collectRelCubBezTo(
unsigned id,
unsigned level,
double x,
double y,
double a,
double b,
double c,
double d);
103 void collectRelQuadBezTo(
unsigned id,
unsigned level,
double x,
double y,
double a,
double b);
107 void collectCharIX(
unsigned id,
unsigned level,
unsigned charCount,
const boost::optional<VSDName> &font,
108 const boost::optional<Colour> &fontColour,
const boost::optional<double> &fontSize,
const boost::optional<bool> &bold,
109 const boost::optional<bool> &italic,
const boost::optional<bool> &underline,
const boost::optional<bool> &doubleunderline,
110 const boost::optional<bool> &strikeout,
const boost::optional<bool> &doublestrikeout,
const boost::optional<bool> &allcaps,
111 const boost::optional<bool> &initcaps,
const boost::optional<bool> &smallcaps,
const boost::optional<bool> &superscript,
112 const boost::optional<bool> &subscript);
113 void collectDefaultCharStyle(
unsigned charCount,
const boost::optional<VSDName> &font,
const boost::optional<Colour> &fontColour,
114 const boost::optional<double> &fontSize,
const boost::optional<bool> &bold,
const boost::optional<bool> &italic,
115 const boost::optional<bool> &underline,
const boost::optional<bool> &doubleunderline,
const boost::optional<bool> &strikeout,
116 const boost::optional<bool> &doublestrikeout,
const boost::optional<bool> &allcaps,
const boost::optional<bool> &initcaps,
117 const boost::optional<bool> &smallcaps,
const boost::optional<bool> &superscript,
const boost::optional<bool> &subscript);
118 void collectParaIX(
unsigned id,
unsigned level,
unsigned charCount,
const boost::optional<double> &indFirst,
119 const boost::optional<double> &indLeft,
const boost::optional<double> &indRight,
const boost::optional<double> &spLine,
120 const boost::optional<double> &spBefore,
const boost::optional<double> &spAfter,
const boost::optional<unsigned char> &align,
121 const boost::optional<unsigned> &flags);
122 void collectDefaultParaStyle(
unsigned charCount,
const boost::optional<double> &indFirst,
const boost::optional<double> &indLeft,
123 const boost::optional<double> &indRight,
const boost::optional<double> &spLine,
const boost::optional<double> &spBefore,
124 const boost::optional<double> &spAfter,
const boost::optional<unsigned char> &align,
const boost::optional<unsigned> &flags);
125 void collectTextBlock(
unsigned level,
const boost::optional<double> &leftMargin,
const boost::optional<double> &rightMargin,
126 const boost::optional<double> &topMargin,
const boost::optional<double> &bottomMargin,
127 const boost::optional<unsigned char> &verticalAlign,
const boost::optional<bool> &isBgFilled,
128 const boost::optional<Colour> &bgColour,
const boost::optional<double> &defaultTabStop,
129 const boost::optional<unsigned char> &textDirection);
139 void collectStyleSheet(
unsigned id,
unsigned level,
unsigned parentLineStyle,
unsigned parentFillStyle,
unsigned parentTextStyle);
140 void collectLineStyle(
unsigned level,
const boost::optional<double> &strokeWidth,
const boost::optional<Colour> &c,
const boost::optional<unsigned char> &linePattern,
141 const boost::optional<unsigned char> &startMarker,
const boost::optional<unsigned char> &endMarker,
142 const boost::optional<unsigned char> &lineCap);
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,
const boost::optional<double> &shadowOffsetX,
const boost::optional<double> &shadowOffsetY);
147 void collectFillStyle(
unsigned level,
const boost::optional<Colour> &colourFG,
const boost::optional<Colour> &colourBG,
148 const boost::optional<unsigned char> &fillPattern,
const boost::optional<double> &fillFGTransparency,
149 const boost::optional<double> &fillBGTransparency,
const boost::optional<unsigned char> &shadowPattern,
150 const boost::optional<Colour> &shfgc);
151 void collectCharIXStyle(
unsigned id,
unsigned level,
unsigned charCount,
const boost::optional<VSDName> &font,
152 const boost::optional<Colour> &fontColour,
const boost::optional<double> &fontSize,
const boost::optional<bool> &bold,
153 const boost::optional<bool> &italic,
const boost::optional<bool> &underline,
const boost::optional<bool> &doubleunderline,
154 const boost::optional<bool> &strikeout,
const boost::optional<bool> &doublestrikeout,
const boost::optional<bool> &allcaps,
155 const boost::optional<bool> &initcaps,
const boost::optional<bool> &smallcaps,
const boost::optional<bool> &superscript,
156 const boost::optional<bool> &subscript);
157 void collectParaIXStyle(
unsigned id,
unsigned level,
unsigned charCount,
const boost::optional<double> &indFirst,
158 const boost::optional<double> &indLeft,
const boost::optional<double> &indRight,
const boost::optional<double> &spLine,
159 const boost::optional<double> &spBefore,
const boost::optional<double> &spAfter,
const boost::optional<unsigned char> &align,
160 const boost::optional<unsigned> &flags);
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);
169 void collectTextField(
unsigned id,
unsigned level,
int nameId,
int formatStringId);
170 void collectNumericField(
unsigned id,
unsigned level,
unsigned short format,
double number,
int formatStringId);
Definition: VSDStyles.h:436
void collectPage(unsigned id, unsigned level, unsigned backgroundPageID, bool isBackgroundPage, const VSDName &pageName)
Definition: VSDStylesCollector.cpp:246
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: VSDStylesCollector.cpp:374
void collectArcTo(unsigned id, unsigned level, double x2, double y2, double bow)
Definition: VSDStylesCollector.cpp:114
unsigned m_currentStyleSheet
Definition: VSDStylesCollector.h:206
std::list< unsigned > m_shapeList
Definition: VSDStylesCollector.h:204
void collectTextField(unsigned id, unsigned level, int nameId, int formatStringId)
Definition: VSDStylesCollector.cpp:387
std::vector< std::map< unsigned, XForm > > & m_groupXFormsSequence
Definition: VSDStylesCollector.h:199
double m_shadowOffsetX
Definition: VSDStylesCollector.h:193
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)
Definition: VSDStylesCollector.cpp:76
Definition: VSDTypes.h:101
Definition: VSDStylesCollector.h:45
void collectSplineEnd()
Definition: VSDStylesCollector.cpp:166
double m_shadowOffsetY
Definition: VSDStylesCollector.h:194
void collectTxtXForm(unsigned level, const XForm &txtxform)
Definition: VSDStylesCollector.cpp:220
void startPage(unsigned pageID)
Definition: VSDStylesCollector.cpp:397
unsigned m_currentShapeId
Definition: VSDStylesCollector.h:196
void collectName(unsigned id, unsigned level, const ::WPXBinaryData &name, TextFormat format)
Definition: VSDStylesCollector.cpp:319
std::vector< std::list< unsigned > > & m_documentPageShapeOrders
Definition: VSDStylesCollector.h:202
void collectFieldList(unsigned id, unsigned level)
Definition: VSDStylesCollector.cpp:382
void collectSplineKnot(unsigned id, unsigned level, double x, double y, double knot)
Definition: VSDStylesCollector.cpp:161
Definition: VSDTypes.h:211
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: VSDStylesCollector.cpp:138
unsigned m_currentLevel
Definition: VSDStylesCollector.h:190
void collectXFormData(unsigned level, const XForm &xform)
Definition: VSDStylesCollector.cpp:213
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: VSDStylesCollector.cpp:342
std::map< unsigned, XForm > m_groupXForms
Definition: VSDStylesCollector.h:197
std::vector< std::map< unsigned, unsigned > > & m_groupMembershipsSequence
Definition: VSDStylesCollector.h:200
void collectInfiniteLine(unsigned id, unsigned level, double x1, double y1, double x2, double y2)
Definition: VSDStylesCollector.cpp:170
void collectSplineStart(unsigned id, unsigned level, double x, double y, double secondKnot, double firstKnot, double lastKnot, unsigned degree)
Definition: VSDStylesCollector.cpp:155
void collectMoveTo(unsigned id, unsigned level, double x, double y)
Definition: VSDStylesCollector.cpp:104
void collectGeometry(unsigned id, unsigned level, bool noFill, bool noLine, bool noShow)
Definition: VSDStylesCollector.cpp:99
std::map< unsigned, unsigned > m_groupMemberships
Definition: VSDStylesCollector.h:198
void collectRelCubBezTo(unsigned id, unsigned level, double x, double y, double a, double b, double c, double d)
Definition: VSDStylesCollector.cpp:175
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: VSDStylesCollector.cpp:311
Definition: VSDCollector.h:41
void _handleLevelChange(unsigned level)
Definition: VSDStylesCollector.cpp:426
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: VSDStylesCollector.cpp:292
void collectPageProps(unsigned id, unsigned level, double pageWidth, double pageHeight, double shadowOffsetX, double shadowOffsetY, double scale)
Definition: VSDStylesCollector.cpp:240
void _flushShapeList()
Definition: VSDStylesCollector.cpp:436
void collectForeignDataType(unsigned level, unsigned foreignType, unsigned foreignFormat, double offsetX, double offsetY, double width, double height)
Definition: VSDStylesCollector.cpp:234
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: VSDStylesCollector.cpp:302
virtual ~VSDStylesCollector()
Definition: VSDStylesCollector.h:53
VSDStyles m_styles
Definition: VSDStylesCollector.h:207
void collectMisc(unsigned level, const VSDMisc &misc)
Definition: VSDStylesCollector.cpp:262
void collectEllipse(unsigned id, unsigned level, double cx, double cy, double xleft, double yleft, double xtop, double ytop)
Definition: VSDStylesCollector.cpp:70
void collectNumericField(unsigned id, unsigned level, unsigned short format, double number, int formatStringId)
Definition: VSDStylesCollector.cpp:392
VSDStylesCollector(std::vector< std::map< unsigned, XForm > > &groupXFormsSequence, std::vector< std::map< unsigned, unsigned > > &groupMembershipsSequence, std::vector< std::list< unsigned > > &documentPageShapeOrders)
Definition: VSDStylesCollector.cpp:35
void collectLineTo(unsigned id, unsigned level, double x, double y)
Definition: VSDStylesCollector.cpp:109
void collectNameList(unsigned id, unsigned level)
Definition: VSDStylesCollector.h:130
void collectStyleSheet(unsigned id, unsigned level, unsigned parentLineStyle, unsigned parentFillStyle, unsigned parentTextStyle)
Definition: VSDStylesCollector.cpp:330
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: VSDStylesCollector.cpp:200
TextFormat
Definition: VSDTypes.h:163
std::map< unsigned, std::list< unsigned > > m_groupShapeOrder
Definition: VSDStylesCollector.h:203
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: VSDStylesCollector.cpp:84
std::list< unsigned > m_pageShapeOrder
Definition: VSDStylesCollector.h:201
void collectRelEllipticalArcTo(unsigned id, unsigned level, double x, double y, double a, double b, double c, double d)
Definition: VSDStylesCollector.cpp:180
const VSDStyles & getStyleSheets() const
Definition: VSDStylesCollector.h:177
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)
Definition: VSDStylesCollector.cpp:285
VSDStylesCollector & operator=(const VSDStylesCollector &)
void collectRelLineTo(unsigned id, unsigned level, double x, double y)
Definition: VSDStylesCollector.cpp:185
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)
Definition: VSDStylesCollector.cpp:277
void collectText(unsigned level, const ::WPXBinaryData &textStream, TextFormat format)
Definition: VSDStylesCollector.cpp:272
void collectOLEData(unsigned id, unsigned level, const WPXBinaryData &oleData)
Definition: VSDStylesCollector.cpp:65
void collectRelQuadBezTo(unsigned id, unsigned level, double x, double y, double a, double b)
Definition: VSDStylesCollector.cpp:195
void collectPageSheet(unsigned id, unsigned level)
Definition: VSDStylesCollector.cpp:324
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: VSDStylesCollector.cpp:357
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)
Definition: VSDStylesCollector.cpp:366
Definition: VSDTypes.h:128
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: VSDStylesCollector.cpp:119
bool m_isShapeStarted
Definition: VSDStylesCollector.h:191
void collectUnhandledChunk(unsigned id, unsigned level)
Definition: VSDStylesCollector.cpp:267
void endPages()
Definition: VSDStylesCollector.h:175
void endPage()
Definition: VSDStylesCollector.cpp:405
void collectOLEList(unsigned id, unsigned level)
Definition: VSDStylesCollector.h:57
void collectForeignData(unsigned level, const WPXBinaryData &binaryData)
Definition: VSDStylesCollector.cpp:60
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)
Definition: VSDStylesCollector.cpp:335
Definition: VSDTypes.h:184
unsigned m_currentShapeLevel
Definition: VSDStylesCollector.h:209
void collectShapesOrder(unsigned id, unsigned level, const std::vector< unsigned > &shapeIds)
Definition: VSDStylesCollector.cpp:225
void collectShape(unsigned id, unsigned level, unsigned parent, unsigned masterPage, unsigned masterShape, unsigned lineStyle, unsigned fillStyle, unsigned textStyle)
Definition: VSDStylesCollector.cpp:251
void collectEllipticalArcTo(unsigned id, unsigned level, double x3, double y3, double x2, double y2, double angle, double ecc)
Definition: VSDStylesCollector.cpp:54
void collectRelMoveTo(unsigned id, unsigned level, double x, double y)
Definition: VSDStylesCollector.cpp:190