FHCollector.h
Go to the documentation of this file.
1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /*
3  * This file is part of the libfreehand project.
4  *
5  * This Source Code Form is subject to the terms of the Mozilla Public
6  * License, v. 2.0. If a copy of the MPL was not distributed with this
7  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8  */
9 
10 #ifndef __FHCOLLECTOR_H__
11 #define __FHCOLLECTOR_H__
12 
13 #include <deque>
14 #include <map>
15 #include <stack>
16 #include <librevenge/librevenge.h>
17 #include "FHCollector.h"
18 #include "FHTransform.h"
19 #include "FHTypes.h"
20 #include "FHPath.h"
21 
22 namespace libfreehand
23 {
24 
26 {
27 public:
28  FHCollector();
29  virtual ~FHCollector();
30 
31  // collector functions
32  void collectString(unsigned recordId, const librevenge::RVNGString &str);
33  void collectName(unsigned recordId, const librevenge::RVNGString &str);
34  void collectPath(unsigned recordId, const FHPath &path);
35  void collectXform(unsigned recordId, double m11, double m21,
36  double m12, double m22, double m13, double m23);
37  void collectFHTail(unsigned recordId, const FHTail &fhTail);
38  void collectBlock(unsigned recordId, const FHBlock &block);
39  void collectList(unsigned recordId, const FHList &lst);
40  void collectLayer(unsigned recordId, const FHLayer &layer);
41  void collectGroup(unsigned recordId, const FHGroup &group);
42  void collectClipGroup(unsigned recordId, const FHGroup &group);
43  void collectPathText(unsigned recordId, const FHPathText &group);
44  void collectCompositePath(unsigned recordId, const FHCompositePath &compositePath);
45  void collectTString(unsigned recordId, const std::vector<unsigned> &elements);
46  void collectAGDFont(unsigned recordId, const FHAGDFont &font);
47  void collectTEffect(unsigned recordId, const FHTEffect &tEffect);
48  void collectParagraph(unsigned recordId, const FHParagraph &paragraph);
49  void collectTabTable(unsigned recordId, const std::vector<FHTab> &tabs);
50  void collectTextBlok(unsigned recordId, const std::vector<unsigned short> &characters);
51  void collectTextObject(unsigned recordId, const FHTextObject &textObject);
52  void collectCharProps(unsigned recordId, const FHCharProperties &charProps);
53  void collectParagraphProps(unsigned recordId, const FHParagraphProperties &paragraphProps);
54  void collectPropList(unsigned recordId, const FHPropList &propertyList);
55  void collectDisplayText(unsigned recordId, const FHDisplayText &displayText);
56  void collectGraphicStyle(unsigned recordId, const FHGraphicStyle &graphicStyle);
57  void collectAttributeHolder(unsigned recordId, const FHAttributeHolder &attributeHolder);
58  void collectFilterAttributeHolder(unsigned recordId, const FHFilterAttributeHolder &filterAttributeHolder);
59  void collectData(unsigned recordId, const librevenge::RVNGBinaryData &data);
60  void collectDataList(unsigned recordId, const FHDataList &list);
61  void collectImage(unsigned recordId, const FHImageImport &image);
62  void collectMultiColorList(unsigned recordId, const std::vector<FHColorStop> &colorStops);
63  void collectNewBlend(unsigned recordId, const FHNewBlend &newBlend);
64  void collectOpacityFilter(unsigned recordId, double opacity);
65  void collectFWShadowFilter(unsigned recordId, const FWShadowFilter &filter);
66  void collectFWGlowFilter(unsigned recordId, const FWGlowFilter &filter);
67 
68  void collectPageInfo(const FHPageInfo &pageInfo);
69 
70  void collectColor(unsigned recordId, const FHRGBColor &color);
71  void collectTintColor(unsigned recordId, const FHTintColor &color);
72  void collectBasicFill(unsigned recordId, const FHBasicFill &fill);
73  void collectLensFill(unsigned recordId, const FHLensFill &fill);
74  void collectLinearFill(unsigned recordId, const FHLinearFill &fill);
75  void collectRadialFill(unsigned recordId, const FHRadialFill &fill);
76  void collectBasicLine(unsigned recordId, const FHBasicLine &line);
77  void collectPatternLine(unsigned recordId, const FHPatternLine &line);
78  void collectCustomProc(unsigned recordId, const FHCustomProc &lineFill);
79  void collectTileFill(unsigned recordId, const FHTileFill &fill);
80  void collectPatternFill(unsigned recordId, const FHPatternFill &fill);
81  void collectLinePattern(unsigned recordId, const FHLinePattern &line);
82  void collectArrowPath(unsigned recordId, const FHPath &path);
83 
84  void collectSymbolClass(unsigned recordId, const FHSymbolClass &symbolClass);
85  void collectSymbolInstance(unsigned recordId, const FHSymbolInstance &symbolInstance);
86 
87  void outputDrawing(librevenge::RVNGDrawingInterface *painter);
88 
89 private:
90  FHCollector(const FHCollector &);
92 
93  void _normalizePath(FHPath &path);
94  void _normalizePoint(double &x, double &y);
95 
96  void _outputPath(const FHPath *path, librevenge::RVNGDrawingInterface *painter);
97  void _outputLayer(unsigned layerId, librevenge::RVNGDrawingInterface *painter);
98  void _outputGroup(const FHGroup *group, librevenge::RVNGDrawingInterface *painter);
99  void _outputClipGroup(const FHGroup *group, librevenge::RVNGDrawingInterface *painter);
100  void _outputCompositePath(const FHCompositePath *compositePath, librevenge::RVNGDrawingInterface *painter);
101  void _outputPathText(const FHPathText *pathText, librevenge::RVNGDrawingInterface *painter);
102  void _outputTextObject(const FHTextObject *textObject, librevenge::RVNGDrawingInterface *painter);
103  void _outputParagraph(const FHParagraph *paragraph, librevenge::RVNGDrawingInterface *painter, unsigned &actPos, unsigned minPos, unsigned maxPos);
104  void _outputTextRun(const std::vector<unsigned short> *characters, unsigned offset, unsigned length,
105  unsigned charStyleId, librevenge::RVNGDrawingInterface *painter);
106  void _outputDisplayText(const FHDisplayText *displayText, librevenge::RVNGDrawingInterface *painter);
107  void _outputImageImport(const FHImageImport *image, librevenge::RVNGDrawingInterface *painter);
108  void _outputNewBlend(const FHNewBlend *newBlend, librevenge::RVNGDrawingInterface *painter);
109  void _outputSymbolInstance(const FHSymbolInstance *symbolInstance, librevenge::RVNGDrawingInterface *painter);
110  void _outputSomething(unsigned somethingId, librevenge::RVNGDrawingInterface *painter);
111 
112  void _getBBofPath(const FHPath *path,FHBoundingBox &bBox);
113  void _getBBofLayer(unsigned layerId,FHBoundingBox &bBox);
114  void _getBBofGroup(const FHGroup *group,FHBoundingBox &bBox);
115  void _getBBofClipGroup(const FHGroup *group,FHBoundingBox &bBox);
116  void _getBBofPathText(const FHPathText *pathText,FHBoundingBox &bBox);
117  void _getBBofCompositePath(const FHCompositePath *compositePath,FHBoundingBox &bBox);
118  void _getBBofTextObject(const FHTextObject *textObject,FHBoundingBox &bBox);
119  void _getBBofDisplayText(const FHDisplayText *displayText,FHBoundingBox &bBox);
120  void _getBBofImageImport(const FHImageImport *image,FHBoundingBox &bBox);
121  void _getBBofNewBlend(const FHNewBlend *newBlend,FHBoundingBox &bBox);
122  void _getBBofSymbolInstance(const FHSymbolInstance *symbolInstance,FHBoundingBox &bBox);
123  void _getBBofSomething(unsigned somethingId,FHBoundingBox &bBox);
124 
125  const std::vector<unsigned> *_findListElements(unsigned id);
126  void _appendParagraphProperties(librevenge::RVNGPropertyList &propList, unsigned paraPropsId);
127  void _appendParagraphProperties(librevenge::RVNGPropertyList &propList, const FH3ParaProperties &paraProps);
128  void _appendCharacterProperties(librevenge::RVNGPropertyList &propList, unsigned charPropsId);
129  void _appendCharacterProperties(librevenge::RVNGPropertyList &propList, const FH3CharProperties &charProps);
130  void _appendFontProperties(librevenge::RVNGPropertyList &propList, unsigned agdFontId);
131  void _appendTabProperties(librevenge::RVNGPropertyList &propList, const FHTab &tab);
132  void _appendFillProperties(librevenge::RVNGPropertyList &propList, unsigned graphicStyleId);
133  void _appendStrokeProperties(librevenge::RVNGPropertyList &propList, unsigned graphicStyleId);
134  void _appendBasicFill(librevenge::RVNGPropertyList &propList, const FHBasicFill *basicFill);
135  void _appendBasicLine(librevenge::RVNGPropertyList &propList, const FHBasicLine *basicLine);
136  void _appendPatternLine(librevenge::RVNGPropertyList &propList, const FHPatternLine *basicLine);
137  void _appendCustomProcFill(librevenge::RVNGPropertyList &propList, const FHCustomProc *customProc);
138  void _appendCustomProcLine(librevenge::RVNGPropertyList &propList, const FHCustomProc *customProc);
139  void _appendLinearFill(librevenge::RVNGPropertyList &propList, const FHLinearFill *linearFill);
140  void _appendLensFill(librevenge::RVNGPropertyList &propList, const FHLensFill *lensFill);
141  void _appendRadialFill(librevenge::RVNGPropertyList &propList, const FHRadialFill *radialFill);
142  void _appendTileFill(librevenge::RVNGPropertyList &propList, const FHTileFill *tileFill);
143  void _appendPatternFill(librevenge::RVNGPropertyList &propList, const FHPatternFill *patternFill);
144  void _appendLinePattern(librevenge::RVNGPropertyList &propList, const FHLinePattern *linePattern);
145  void _appendArrowPath(librevenge::RVNGPropertyList &propList, const FHPath *arrow, bool startArrow);
146  void _appendOpacity(librevenge::RVNGPropertyList &propList, const double *opacity);
147  void _appendShadow(librevenge::RVNGPropertyList &propList, const FWShadowFilter *filter);
148  void _appendGlow(librevenge::RVNGPropertyList &propList, const FWGlowFilter *filter);
149  void _applyFilter(librevenge::RVNGPropertyList &propList, unsigned filterId);
150  const std::vector<unsigned> *_findTStringElements(unsigned id);
151 
152  const FHPath *_findPath(unsigned id);
153  const FHGroup *_findGroup(unsigned id);
154  const FHGroup *_findClipGroup(unsigned id);
155  const FHCompositePath *_findCompositePath(unsigned id);
156  const FHPathText *_findPathText(unsigned id);
157  const FHTextObject *_findTextObject(unsigned id);
158  const FHTransform *_findTransform(unsigned id);
159  const FHTEffect *_findTEffect(unsigned id);
160  const FHParagraph *_findParagraph(unsigned id);
161  const std::vector<FHTab> *_findTabTable(unsigned id);
162  const FHPropList *_findPropList(unsigned id);
163  const FHGraphicStyle *_findGraphicStyle(unsigned id);
164  const std::vector<unsigned short> *_findTextBlok(unsigned id);
165  const FHBasicFill *_findBasicFill(unsigned id);
166  const FHLinearFill *_findLinearFill(unsigned id);
167  const FHLensFill *_findLensFill(unsigned id);
168  const FHRadialFill *_findRadialFill(unsigned id);
169  const FHTileFill *_findTileFill(unsigned id);
170  const FHPatternFill *_findPatternFill(unsigned id);
171  const FHLinePattern *_findLinePattern(unsigned id);
172  const FHPath *_findArrowPath(unsigned id);
173  const FHBasicLine *_findBasicLine(unsigned id);
174  const FHCustomProc *_findCustomProc(unsigned id);
175  const FHPatternLine *_findPatternLine(unsigned id);
176  const FHRGBColor *_findRGBColor(unsigned id);
177  const FHTintColor *_findTintColor(unsigned id);
178  const FHDisplayText *_findDisplayText(unsigned id);
179  const FHImageImport *_findImageImport(unsigned id);
180  const FHNewBlend *_findNewBlend(unsigned id);
181  const double *_findOpacityFilter(unsigned id);
182  const FWShadowFilter *_findFWShadowFilter(unsigned id);
183  const FWGlowFilter *_findFWGlowFilter(unsigned id);
185  const librevenge::RVNGBinaryData *_findData(unsigned id);
186  librevenge::RVNGString getColorString(unsigned id, double tint=1);
187  unsigned _findFillId(const FHGraphicStyle &graphicStyle);
188  unsigned _findStrokeId(const FHGraphicStyle &graphicStyle);
190  unsigned _findValueFromAttribute(unsigned id);
191  const FHSymbolClass *_findSymbolClass(unsigned id);
192  const FHSymbolInstance *_findSymbolInstance(unsigned id);
193  unsigned _findContentId(unsigned graphicStyleId);
194  const std::vector<FHColorStop> *_findMultiColorList(unsigned id);
195  librevenge::RVNGBinaryData getImageData(unsigned id);
197  void _generateBitmapFromPattern(librevenge::RVNGBinaryData &bitmap, unsigned colorId, const std::vector<unsigned char> &pattern);
198 
201  std::pair<unsigned, FHBlock> m_block;
202  std::map<unsigned, FHTransform> m_transforms;
203  std::map<unsigned, FHPath> m_paths;
204  std::map<unsigned, librevenge::RVNGString> m_strings;
205  std::map<librevenge::RVNGString, unsigned> m_names;
206  std::map<unsigned, FHList> m_lists;
207  std::map<unsigned, FHLayer> m_layers;
208  std::map<unsigned, FHGroup> m_groups;
209  std::map<unsigned, FHGroup> m_clipGroups;
210  std::stack<FHTransform> m_currentTransforms;
211  std::vector<FHTransform> m_fakeTransforms;
212  std::map<unsigned, FHCompositePath> m_compositePaths;
213  std::map<unsigned, FHPathText> m_pathTexts;
214  std::map<unsigned, std::vector<unsigned> > m_tStrings;
215  std::map<unsigned, FHAGDFont> m_fonts;
216  std::map<unsigned, FHTEffect> m_tEffects;
217  std::map<unsigned, FHParagraph> m_paragraphs;
218  std::map<unsigned, std::vector<FHTab> > m_tabs;
219  std::map<unsigned, std::vector<unsigned short> > m_textBloks;
220  std::map<unsigned, FHTextObject> m_textObjects;
221  std::map<unsigned, FHCharProperties> m_charProperties;
222  std::map<unsigned, FHParagraphProperties> m_paragraphProperties;
223  std::map<unsigned, FHRGBColor> m_rgbColors;
224  std::map<unsigned, FHBasicFill> m_basicFills;
225  std::map<unsigned, FHPropList> m_propertyLists;
226  std::map<unsigned, FHBasicLine> m_basicLines;
227  std::map<unsigned, FHCustomProc> m_customProcs;
228  std::map<unsigned, FHPatternLine> m_patternLines;
229  std::map<unsigned, FHDisplayText> m_displayTexts;
230  std::map<unsigned, FHGraphicStyle> m_graphicStyles;
231  std::map<unsigned, FHAttributeHolder> m_attributeHolders;
232  std::map<unsigned, librevenge::RVNGBinaryData> m_data;
233  std::map<unsigned, FHDataList> m_dataLists;
234  std::map<unsigned, FHImageImport> m_images;
235  std::map<unsigned, std::vector<FHColorStop> > m_multiColorLists;
236  std::map<unsigned, FHLinearFill> m_linearFills;
237  std::map<unsigned, FHTintColor> m_tints;
238  std::map<unsigned, FHLensFill> m_lensFills;
239  std::map<unsigned, FHRadialFill> m_radialFills;
240  std::map<unsigned, FHNewBlend> m_newBlends;
241  std::map<unsigned, FHFilterAttributeHolder> m_filterAttributeHolders;
242  std::map<unsigned, double> m_opacityFilters;
243  std::map<unsigned, FWShadowFilter> m_shadowFilters;
244  std::map<unsigned, FWGlowFilter> m_glowFilters;
245  std::map<unsigned, FHTileFill> m_tileFills;
246  std::map<unsigned, FHSymbolClass> m_symbolClasses;
247  std::map<unsigned, FHSymbolInstance> m_symbolInstances;
248  std::map<unsigned, FHPatternFill> m_patternFills;
249  std::map<unsigned, FHLinePattern> m_linePatterns;
250  std::map<unsigned, FHPath> m_arrowPaths;
251 
252  unsigned m_strokeId;
253  unsigned m_fillId;
254  unsigned m_contentId;
256  std::deque<unsigned> m_visitedObjects;
257 };
258 
259 } // namespace libfreehand
260 
261 #endif /* __FHCOLLECTOR_H__ */
262 /* vim:set shiftwidth=2 softtabstop=2 expandtab: */
std::vector< FHTransform > m_fakeTransforms
Definition: FHCollector.h:211
std::map< unsigned, FHAGDFont > m_fonts
Definition: FHCollector.h:215
void _outputPath(const FHPath *path, librevenge::RVNGDrawingInterface *painter)
Definition: FHCollector.cpp:923
std::map< unsigned, FHLensFill > m_lensFills
Definition: FHCollector.h:238
Definition: FHTypes.h:69
const std::vector< FHColorStop > * _findMultiColorList(unsigned id)
Definition: FHCollector.cpp:3025
unsigned m_contentId
Definition: FHCollector.h:254
FHCollector()
Definition: FHCollector.cpp:238
void _appendTabProperties(librevenge::RVNGPropertyList &propList, const FHTab &tab)
Definition: FHCollector.cpp:1721
const FHCustomProc * _findCustomProc(unsigned id)
Definition: FHCollector.cpp:2925
std::map< unsigned, FHGroup > m_groups
Definition: FHCollector.h:208
Definition: FHTypes.h:77
Definition: FHTypes.h:135
void _getBBofLayer(unsigned layerId, FHBoundingBox &bBox)
void _getBBofPath(const FHPath *path, FHBoundingBox &bBox)
Definition: FHCollector.cpp:531
std::map< librevenge::RVNGString, unsigned > m_names
Definition: FHCollector.h:205
Definition: FHTypes.h:297
Definition: FHTypes.h:183
void collectPatternLine(unsigned recordId, const FHPatternLine &line)
Definition: FHCollector.cpp:403
Definition: FHTypes.h:22
FHCollector & operator=(const FHCollector &)
const FWGlowFilter * _findFWGlowFilter(unsigned id)
Definition: FHCollector.cpp:3055
std::map< unsigned, FHFilterAttributeHolder > m_filterAttributeHolders
Definition: FHCollector.h:241
void collectParagraph(unsigned recordId, const FHParagraph &paragraph)
Definition: FHCollector.cpp:347
std::map< unsigned, FHParagraph > m_paragraphs
Definition: FHCollector.h:217
Definition: FHTypes.h:110
void _getBBofTextObject(const FHTextObject *textObject, FHBoundingBox &bBox)
Definition: FHCollector.cpp:670
void _appendRadialFill(librevenge::RVNGPropertyList &propList, const FHRadialFill *radialFill)
Definition: FHCollector.cpp:2482
Definition: FHTypes.h:256
Definition: FHTypes.h:38
void _getBBofImageImport(const FHImageImport *image, FHBoundingBox &bBox)
Definition: FHCollector.cpp:810
void collectSymbolInstance(unsigned recordId, const FHSymbolInstance &symbolInstance)
Definition: FHCollector.cpp:514
Definition: FHTypes.h:444
std::stack< FHTransform > m_currentTransforms
Definition: FHCollector.h:210
std::map< unsigned, FHImageImport > m_images
Definition: FHCollector.h:234
void collectSymbolClass(unsigned recordId, const FHSymbolClass &symbolClass)
Definition: FHCollector.cpp:509
void _getBBofGroup(const FHGroup *group, FHBoundingBox &bBox)
Definition: FHCollector.cpp:562
std::map< unsigned, FHBasicFill > m_basicFills
Definition: FHCollector.h:224
Definition: FHTypes.h:263
Definition: FHTypes.h:94
const FHDisplayText * _findDisplayText(unsigned id)
Definition: FHCollector.cpp:2965
void _appendBasicFill(librevenge::RVNGPropertyList &propList, const FHBasicFill *basicFill)
Definition: FHCollector.cpp:2313
std::map< unsigned, FHTextObject > m_textObjects
Definition: FHCollector.h:220
FHRGBColor getRGBFromTint(const FHTintColor &tint)
Definition: FHCollector.cpp:3176
const FHGraphicStyle * _findGraphicStyle(unsigned id)
Definition: FHCollector.cpp:2825
void _outputImageImport(const FHImageImport *image, librevenge::RVNGDrawingInterface *painter)
Definition: FHCollector.cpp:2040
std::map< unsigned, librevenge::RVNGString > m_strings
Definition: FHCollector.h:204
const FWShadowFilter * _findFWShadowFilter(unsigned id)
Definition: FHCollector.cpp:3045
Definition: FHTypes.h:281
unsigned m_textBoxNumberId
Definition: FHCollector.h:255
void collectTintColor(unsigned recordId, const FHTintColor &color)
Definition: FHCollector.cpp:383
void _outputClipGroup(const FHGroup *group, librevenge::RVNGDrawingInterface *painter)
Definition: FHCollector.cpp:1090
std::map< unsigned, FHLayer > m_layers
Definition: FHCollector.h:207
const FHPropList * _findPropList(unsigned id)
Definition: FHCollector.cpp:2815
virtual ~FHCollector()
Definition: FHCollector.cpp:252
const FHBasicFill * _findBasicFill(unsigned id)
Definition: FHCollector.cpp:2835
const std::vector< unsigned > * _findListElements(unsigned id)
Definition: FHCollector.cpp:2177
std::map< unsigned, FHSymbolClass > m_symbolClasses
Definition: FHCollector.h:246
unsigned _findFillId(const FHGraphicStyle &graphicStyle)
Definition: FHCollector.cpp:3083
void _getBBofPathText(const FHPathText *pathText, FHBoundingBox &bBox)
Definition: FHCollector.cpp:662
void _outputDisplayText(const FHDisplayText *displayText, librevenge::RVNGDrawingInterface *painter)
Definition: FHCollector.cpp:1856
void _getBBofCompositePath(const FHCompositePath *compositePath, FHBoundingBox &bBox)
Definition: FHCollector.cpp:628
std::map< unsigned, FHList > m_lists
Definition: FHCollector.h:206
Definition: FHTypes.h:148
Definition: FHCollector.h:22
void collectTabTable(unsigned recordId, const std::vector< FHTab > &tabs)
Definition: FHCollector.cpp:352
void collectTextObject(unsigned recordId, const FHTextObject &textObject)
Definition: FHCollector.cpp:363
Definition: FHTypes.h:211
void _appendTileFill(librevenge::RVNGPropertyList &propList, const FHTileFill *tileFill)
Definition: FHCollector.cpp:2513
std::map< unsigned, librevenge::RVNGBinaryData > m_data
Definition: FHCollector.h:232
void collectFWGlowFilter(unsigned recordId, const FWGlowFilter &filter)
Definition: FHCollector.cpp:504
std::map< unsigned, std::vector< unsigned short > > m_textBloks
Definition: FHCollector.h:219
Definition: FHTypes.h:198
Definition: FHTypes.h:330
const FHLinearFill * _findLinearFill(unsigned id)
Definition: FHCollector.cpp:2845
void _appendCustomProcFill(librevenge::RVNGPropertyList &propList, const FHCustomProc *customProc)
Definition: FHCollector.cpp:2325
std::map< unsigned, FHPatternLine > m_patternLines
Definition: FHCollector.h:228
void collectName(unsigned recordId, const librevenge::RVNGString &str)
Definition: FHCollector.cpp:266
void collectPatternFill(unsigned recordId, const FHPatternFill &fill)
Definition: FHCollector.cpp:413
const FHTextObject * _findTextObject(unsigned id)
Definition: FHCollector.cpp:2755
librevenge::RVNGBinaryData getImageData(unsigned id)
Definition: FHCollector.cpp:3138
Definition: FHTypes.h:190
const FHSymbolInstance * _findSymbolInstance(unsigned id)
Definition: FHCollector.cpp:3005
Definition: FHTypes.h:87
const FHFilterAttributeHolder * _findFilterAttributeHolder(unsigned id)
Definition: FHCollector.cpp:3015
void _outputParagraph(const FHParagraph *paragraph, librevenge::RVNGDrawingInterface *painter, unsigned &actPos, unsigned minPos, unsigned maxPos)
Definition: FHCollector.cpp:1537
void _normalizePoint(double &x, double &y)
Definition: FHCollector.cpp:525
void _normalizePath(FHPath &path)
Definition: FHCollector.cpp:519
unsigned _findStrokeId(const FHGraphicStyle &graphicStyle)
Definition: FHCollector.cpp:3065
void _generateBitmapFromPattern(librevenge::RVNGBinaryData &bitmap, unsigned colorId, const std::vector< unsigned char > &pattern)
Definition: FHCollector.cpp:3193
void collectMultiColorList(unsigned recordId, const std::vector< FHColorStop > &colorStops)
Definition: FHCollector.cpp:469
std::map< unsigned, FHTransform > m_transforms
Definition: FHCollector.h:202
void collectGroup(unsigned recordId, const FHGroup &group)
Definition: FHCollector.cpp:312
void collectPropList(unsigned recordId, const FHPropList &propertyList)
Definition: FHCollector.cpp:429
void collectFWShadowFilter(unsigned recordId, const FWShadowFilter &filter)
Definition: FHCollector.cpp:499
const FHParagraph * _findParagraph(unsigned id)
Definition: FHCollector.cpp:2785
const FHNewBlend * _findNewBlend(unsigned id)
Definition: FHCollector.cpp:2705
std::map< unsigned, FHLinearFill > m_linearFills
Definition: FHCollector.h:236
void collectBasicLine(unsigned recordId, const FHBasicLine &line)
Definition: FHCollector.cpp:393
void _getBBofDisplayText(const FHDisplayText *displayText, FHBoundingBox &bBox)
Definition: FHCollector.cpp:740
Definition: FHTypes.h:31
Definition: FHTypes.h:434
void collectTString(unsigned recordId, const std::vector< unsigned > &elements)
Definition: FHCollector.cpp:332
Definition: FHTypes.h:236
Definition: FHTypes.h:400
librevenge::RVNGString getColorString(unsigned id, double tint=1)
Definition: FHCollector.cpp:3153
void _getBBofSymbolInstance(const FHSymbolInstance *symbolInstance, FHBoundingBox &bBox)
Definition: FHCollector.cpp:884
const FHTransform * _findTransform(unsigned id)
Definition: FHCollector.cpp:2765
const FHGroup * _findGroup(unsigned id)
Definition: FHCollector.cpp:2715
void collectAttributeHolder(unsigned recordId, const FHAttributeHolder &attributeHolder)
Definition: FHCollector.cpp:444
void _outputCompositePath(const FHCompositePath *compositePath, librevenge::RVNGDrawingInterface *painter)
Definition: FHCollector.cpp:1351
const std::vector< FHTab > * _findTabTable(unsigned id)
Definition: FHCollector.cpp:2795
const librevenge::RVNGBinaryData * _findData(unsigned id)
Definition: FHCollector.cpp:2985
std::map< unsigned, FHPatternFill > m_patternFills
Definition: FHCollector.h:248
void collectBasicFill(unsigned recordId, const FHBasicFill &fill)
Definition: FHCollector.cpp:388
std::map< unsigned, FHRGBColor > m_rgbColors
Definition: FHCollector.h:223
void collectDisplayText(unsigned recordId, const FHDisplayText &displayText)
Definition: FHCollector.cpp:434
std::map< unsigned, std::vector< FHTab > > m_tabs
Definition: FHCollector.h:218
Definition: FHCollector.h:25
void _outputPathText(const FHPathText *pathText, librevenge::RVNGDrawingInterface *painter)
Definition: FHCollector.cpp:1204
const FHTEffect * _findTEffect(unsigned id)
Definition: FHCollector.cpp:2775
Definition: FHTypes.h:230
unsigned _findContentId(unsigned graphicStyleId)
Definition: FHCollector.cpp:2337
void collectPageInfo(const FHPageInfo &pageInfo)
Definition: FHCollector.cpp:256
void outputDrawing(librevenge::RVNGDrawingInterface *painter)
Definition: FHCollector.cpp:1261
unsigned m_fillId
Definition: FHCollector.h:253
std::deque< unsigned > m_visitedObjects
Definition: FHCollector.h:256
FHPageInfo m_pageInfo
Definition: FHCollector.h:199
const FHTintColor * _findTintColor(unsigned id)
Definition: FHCollector.cpp:2955
void _appendLinePattern(librevenge::RVNGPropertyList &propList, const FHLinePattern *linePattern)
Definition: FHCollector.cpp:2587
const FHGroup * _findClipGroup(unsigned id)
Definition: FHCollector.cpp:2725
void collectParagraphProps(unsigned recordId, const FHParagraphProperties &paragraphProps)
Definition: FHCollector.cpp:373
void _outputTextRun(const std::vector< unsigned short > *characters, unsigned offset, unsigned length, unsigned charStyleId, librevenge::RVNGDrawingInterface *painter)
Definition: FHCollector.cpp:2120
void _appendStrokeProperties(librevenge::RVNGPropertyList &propList, unsigned graphicStyleId)
Definition: FHCollector.cpp:2263
std::map< unsigned, FHDisplayText > m_displayTexts
Definition: FHCollector.h:229
std::map< unsigned, FWGlowFilter > m_glowFilters
Definition: FHCollector.h:244
void _appendOpacity(librevenge::RVNGPropertyList &propList, const double *opacity)
Definition: FHCollector.cpp:2405
std::map< unsigned, FHPath > m_arrowPaths
Definition: FHCollector.h:250
void collectLinePattern(unsigned recordId, const FHLinePattern &line)
Definition: FHCollector.cpp:418
const FHLinePattern * _findLinePattern(unsigned id)
Definition: FHCollector.cpp:2895
Definition: FHTypes.h:287
void _appendShadow(librevenge::RVNGPropertyList &propList, const FWShadowFilter *filter)
Definition: FHCollector.cpp:2415
std::map< unsigned, FHGroup > m_clipGroups
Definition: FHCollector.h:209
const FHRGBColor * _findRGBColor(unsigned id)
Definition: FHCollector.cpp:2945
const FHPath * _findArrowPath(unsigned id)
Definition: FHCollector.cpp:2905
std::map< unsigned, FHRadialFill > m_radialFills
Definition: FHCollector.h:239
void _outputSomething(unsigned somethingId, librevenge::RVNGDrawingInterface *painter)
Definition: FHCollector.cpp:1034
unsigned _findValueFromAttribute(unsigned id)
Definition: FHCollector.cpp:3123
const FHBasicLine * _findBasicLine(unsigned id)
Definition: FHCollector.cpp:2915
void collectDataList(unsigned recordId, const FHDataList &list)
Definition: FHCollector.cpp:459
void collectOpacityFilter(unsigned recordId, double opacity)
Definition: FHCollector.cpp:494
Definition: FHTypes.h:45
std::map< unsigned, FHPathText > m_pathTexts
Definition: FHCollector.h:213
void _getBBofClipGroup(const FHGroup *group, FHBoundingBox &bBox)
Definition: FHCollector.cpp:596
void collectImage(unsigned recordId, const FHImageImport &image)
Definition: FHCollector.cpp:464
void collectData(unsigned recordId, const librevenge::RVNGBinaryData &data)
Definition: FHCollector.cpp:454
Definition: FHTypes.h:453
std::map< unsigned, FHParagraphProperties > m_paragraphProperties
Definition: FHCollector.h:222
void collectArrowPath(unsigned recordId, const FHPath &path)
Definition: FHCollector.cpp:423
Definition: FHTypes.h:61
void _appendBasicLine(librevenge::RVNGPropertyList &propList, const FHBasicLine *basicLine)
Definition: FHCollector.cpp:2651
void _getBBofSomething(unsigned somethingId, FHBoundingBox &bBox)
Definition: FHCollector.cpp:903
void _appendArrowPath(librevenge::RVNGPropertyList &propList, const FHPath *arrow, bool startArrow)
Definition: FHCollector.cpp:2632
void _appendFillProperties(librevenge::RVNGPropertyList &propList, unsigned graphicStyleId)
Definition: FHCollector.cpp:2205
void collectGraphicStyle(unsigned recordId, const FHGraphicStyle &graphicStyle)
Definition: FHCollector.cpp:439
void collectFHTail(unsigned recordId, const FHTail &fhTail)
Definition: FHCollector.cpp:288
const FHSymbolClass * _findSymbolClass(unsigned id)
Definition: FHCollector.cpp:2995
Definition: FHTypes.h:345
void collectPathText(unsigned recordId, const FHPathText &group)
Definition: FHCollector.cpp:327
void _outputTextObject(const FHTextObject *textObject, librevenge::RVNGDrawingInterface *painter)
Definition: FHCollector.cpp:1383
Definition: FHTypes.h:315
std::map< unsigned, double > m_opacityFilters
Definition: FHCollector.h:242
unsigned m_strokeId
Definition: FHCollector.h:252
const FHPath * _findPath(unsigned id)
Definition: FHCollector.cpp:2695
std::map< unsigned, FHGraphicStyle > m_graphicStyles
Definition: FHCollector.h:230
std::map< unsigned, FHLinePattern > m_linePatterns
Definition: FHCollector.h:249
Definition: FHTypes.h:413
std::map< unsigned, FHDataList > m_dataLists
Definition: FHCollector.h:233
void _appendCustomProcLine(librevenge::RVNGPropertyList &propList, const FHCustomProc *customProc)
Definition: FHCollector.cpp:2668
void collectCustomProc(unsigned recordId, const FHCustomProc &lineFill)
Definition: FHCollector.cpp:398
const FHCompositePath * _findCompositePath(unsigned id)
Definition: FHCollector.cpp:2735
void _appendParagraphProperties(librevenge::RVNGPropertyList &propList, unsigned paraPropsId)
Definition: FHCollector.cpp:1747
Definition: FHTransform.h:18
std::map< unsigned, FHCustomProc > m_customProcs
Definition: FHCollector.h:227
void collectString(unsigned recordId, const librevenge::RVNGString &str)
Definition: FHCollector.cpp:261
std::map< unsigned, FHCharProperties > m_charProperties
Definition: FHCollector.h:221
Definition: FHTypes.h:54
Definition: FHTypes.h:386
const double * _findOpacityFilter(unsigned id)
Definition: FHCollector.cpp:3035
std::map< unsigned, std::vector< unsigned > > m_tStrings
Definition: FHCollector.h:214
void _appendPatternFill(librevenge::RVNGPropertyList &propList, const FHPatternFill *patternFill)
Definition: FHCollector.cpp:2575
std::map< unsigned, FWShadowFilter > m_shadowFilters
Definition: FHCollector.h:243
void _appendLensFill(librevenge::RVNGPropertyList &propList, const FHLensFill *lensFill)
Definition: FHCollector.cpp:2435
std::pair< unsigned, FHBlock > m_block
Definition: FHCollector.h:201
std::map< unsigned, FHPropList > m_propertyLists
Definition: FHCollector.h:225
std::map< unsigned, FHCompositePath > m_compositePaths
Definition: FHCollector.h:212
void _appendFontProperties(librevenge::RVNGPropertyList &propList, unsigned agdFontId)
Definition: FHCollector.cpp:2186
void collectLensFill(unsigned recordId, const FHLensFill &fill)
Definition: FHCollector.cpp:479
FHTail m_fhTail
Definition: FHCollector.h:200
void collectLayer(unsigned recordId, const FHLayer &layer)
Definition: FHCollector.cpp:307
void collectTileFill(unsigned recordId, const FHTileFill &fill)
Definition: FHCollector.cpp:408
void _getBBofNewBlend(const FHNewBlend *newBlend, FHBoundingBox &bBox)
Definition: FHCollector.cpp:880
void collectNewBlend(unsigned recordId, const FHNewBlend &newBlend)
Definition: FHCollector.cpp:489
Definition: FHTypes.h:221
void collectColor(unsigned recordId, const FHRGBColor &color)
Definition: FHCollector.cpp:378
std::map< unsigned, FHBasicLine > m_basicLines
Definition: FHCollector.h:226
const FHPathText * _findPathText(unsigned id)
Definition: FHCollector.cpp:2745
Definition: FHTypes.h:427
Definition: FHTypes.h:368
std::map< unsigned, FHTileFill > m_tileFills
Definition: FHCollector.h:245
std::map< unsigned, FHAttributeHolder > m_attributeHolders
Definition: FHCollector.h:231
std::map< unsigned, FHTEffect > m_tEffects
Definition: FHCollector.h:216
std::map< unsigned, FHTintColor > m_tints
Definition: FHCollector.h:237
void collectAGDFont(unsigned recordId, const FHAGDFont &font)
Definition: FHCollector.cpp:337
void _outputNewBlend(const FHNewBlend *newBlend, librevenge::RVNGDrawingInterface *painter)
Definition: FHCollector.cpp:1212
const std::vector< unsigned > * _findTStringElements(unsigned id)
Definition: FHCollector.cpp:2805
Definition: FHTypes.h:245
const FHLensFill * _findLensFill(unsigned id)
Definition: FHCollector.cpp:2855
const FHRadialFill * _findRadialFill(unsigned id)
Definition: FHCollector.cpp:2865
Definition: FHTypes.h:102
void collectTEffect(unsigned recordId, const FHTEffect &tEffect)
Definition: FHCollector.cpp:342
void collectTextBlok(unsigned recordId, const std::vector< unsigned short > &characters)
Definition: FHCollector.cpp:358
void collectXform(unsigned recordId, double m11, double m21, double m12, double m22, double m13, double m23)
Definition: FHCollector.cpp:282
Definition: FHTypes.h:160
Definition: FHTypes.h:338
void collectPath(unsigned recordId, const FHPath &path)
Definition: FHCollector.cpp:277
const FHPatternFill * _findPatternFill(unsigned id)
Definition: FHCollector.cpp:2885
std::map< unsigned, std::vector< FHColorStop > > m_multiColorLists
Definition: FHCollector.h:235
std::map< unsigned, FHNewBlend > m_newBlends
Definition: FHCollector.h:240
const FHPatternLine * _findPatternLine(unsigned id)
Definition: FHCollector.cpp:2935
std::map< unsigned, FHSymbolInstance > m_symbolInstances
Definition: FHCollector.h:247
void collectFilterAttributeHolder(unsigned recordId, const FHFilterAttributeHolder &filterAttributeHolder)
Definition: FHCollector.cpp:449
void _outputSymbolInstance(const FHSymbolInstance *symbolInstance, librevenge::RVNGDrawingInterface *painter)
Definition: FHCollector.cpp:1244
void _applyFilter(librevenge::RVNGPropertyList &propList, unsigned filterId)
Definition: FHCollector.cpp:2396
void _outputGroup(const FHGroup *group, librevenge::RVNGDrawingInterface *painter)
Definition: FHCollector.cpp:1055
void collectBlock(unsigned recordId, const FHBlock &block)
Definition: FHCollector.cpp:293
void collectCharProps(unsigned recordId, const FHCharProperties &charProps)
Definition: FHCollector.cpp:368
Definition: FHTypes.h:376
void collectRadialFill(unsigned recordId, const FHRadialFill &fill)
Definition: FHCollector.cpp:484
void _appendPatternLine(librevenge::RVNGPropertyList &propList, const FHPatternLine *basicLine)
Definition: FHCollector.cpp:2682
const std::vector< unsigned short > * _findTextBlok(unsigned id)
void _appendLinearFill(librevenge::RVNGPropertyList &propList, const FHLinearFill *linearFill)
Definition: FHCollector.cpp:2362
Definition: FHPath.h:39
void _appendGlow(librevenge::RVNGPropertyList &propList, const FWGlowFilter *filter)
Definition: FHCollector.cpp:2429
std::map< unsigned, FHPath > m_paths
Definition: FHCollector.h:203
void _outputLayer(unsigned layerId, librevenge::RVNGDrawingInterface *painter)
Definition: FHCollector.cpp:1318
void collectCompositePath(unsigned recordId, const FHCompositePath &compositePath)
Definition: FHCollector.cpp:322
void _appendCharacterProperties(librevenge::RVNGPropertyList &propList, unsigned charPropsId)
Definition: FHCollector.cpp:1576
const FHTileFill * _findTileFill(unsigned id)
Definition: FHCollector.cpp:2875
Definition: FHTypes.h:323
void collectLinearFill(unsigned recordId, const FHLinearFill &fill)
Definition: FHCollector.cpp:474
const FHImageImport * _findImageImport(unsigned id)
Definition: FHCollector.cpp:2975
void collectList(unsigned recordId, const FHList &lst)
Definition: FHCollector.cpp:302
void collectClipGroup(unsigned recordId, const FHGroup &group)
Definition: FHCollector.cpp:317

Generated for libfreehand by doxygen 1.8.14