10#ifndef __FHCOLLECTOR_H__
11#define __FHCOLLECTOR_H__
16#include <librevenge/librevenge.h>
32 void collectString(
unsigned recordId,
const librevenge::RVNGString &str);
33 void collectName(
unsigned recordId,
const librevenge::RVNGString &str);
35 void collectXform(
unsigned recordId,
double m11,
double m21,
36 double m12,
double m22,
double m13,
double m23);
45 void collectTString(
unsigned recordId,
const std::vector<unsigned> &elements);
49 void collectTabTable(
unsigned recordId,
const std::vector<FHTab> &tabs);
50 void collectTextBlok(
unsigned recordId,
const std::vector<unsigned short> &characters);
59 void collectData(
unsigned recordId,
const librevenge::RVNGBinaryData &data);
87 void outputDrawing(librevenge::RVNGDrawingInterface *painter);
97 void _outputLayer(
unsigned layerId, 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);
110 void _outputSomething(
unsigned somethingId, librevenge::RVNGDrawingInterface *painter);
146 void _appendOpacity(librevenge::RVNGPropertyList &propList,
const double *opacity);
149 void _applyFilter(librevenge::RVNGPropertyList &propList,
unsigned filterId);
185 const librevenge::RVNGBinaryData *
_findData(
unsigned id);
186 librevenge::RVNGString
getColorString(
unsigned id,
double tint=1);
197 void _generateBitmapFromPattern(librevenge::RVNGBinaryData &bitmap,
unsigned colorId,
const std::vector<unsigned char> &pattern);
205 std::map<librevenge::RVNGString, unsigned>
m_names;
218 std::map<unsigned, std::vector<FHTab> >
m_tabs;
232 std::map<unsigned, librevenge::RVNGBinaryData>
m_data;
const FHLensFill * _findLensFill(unsigned id)
Definition FHCollector.cpp:2870
void _appendPatternFill(librevenge::RVNGPropertyList &propList, const FHPatternFill *patternFill)
Definition FHCollector.cpp:2590
const FHPropList * _findPropList(unsigned id)
Definition FHCollector.cpp:2830
const FHRadialFill * _findRadialFill(unsigned id)
Definition FHCollector.cpp:2880
void collectOpacityFilter(unsigned recordId, double opacity)
Definition FHCollector.cpp:497
std::map< unsigned, std::vector< FHTab > > m_tabs
Definition FHCollector.h:218
const FHPatternFill * _findPatternFill(unsigned id)
Definition FHCollector.cpp:2900
void collectPatternLine(unsigned recordId, const FHPatternLine &line)
Definition FHCollector.cpp:406
std::map< unsigned, FHSymbolInstance > m_symbolInstances
Definition FHCollector.h:247
void _appendGlow(librevenge::RVNGPropertyList &propList, const FWGlowFilter *filter)
Definition FHCollector.cpp:2444
void collectTextObject(unsigned recordId, const FHTextObject &textObject)
Definition FHCollector.cpp:366
void collectFHTail(unsigned recordId, const FHTail &fhTail)
Definition FHCollector.cpp:291
const FHPath * _findPath(unsigned id)
Definition FHCollector.cpp:2710
std::map< unsigned, FHGroup > m_clipGroups
Definition FHCollector.h:209
std::map< unsigned, double > m_opacityFilters
Definition FHCollector.h:242
void collectBasicFill(unsigned recordId, const FHBasicFill &fill)
Definition FHCollector.cpp:391
const FHImageImport * _findImageImport(unsigned id)
Definition FHCollector.cpp:2990
std::map< unsigned, FWShadowFilter > m_shadowFilters
Definition FHCollector.h:243
const FHBasicLine * _findBasicLine(unsigned id)
Definition FHCollector.cpp:2930
const std::vector< unsigned > * _findListElements(unsigned id)
Definition FHCollector.cpp:2190
void _outputLayer(unsigned layerId, librevenge::RVNGDrawingInterface *painter)
Definition FHCollector.cpp:1331
void collectPathText(unsigned recordId, const FHPathText &group)
Definition FHCollector.cpp:330
void _getBBofTextObject(const FHTextObject *textObject, FHBoundingBox &bBox)
Definition FHCollector.cpp:675
void collectString(unsigned recordId, const librevenge::RVNGString &str)
Definition FHCollector.cpp:264
std::map< unsigned, FHLinearFill > m_linearFills
Definition FHCollector.h:236
void collectClipGroup(unsigned recordId, const FHGroup &group)
Definition FHCollector.cpp:320
void _applyFilter(librevenge::RVNGPropertyList &propList, unsigned filterId)
Definition FHCollector.cpp:2411
void collectMultiColorList(unsigned recordId, const std::vector< FHColorStop > &colorStops)
Definition FHCollector.cpp:472
const FHPatternLine * _findPatternLine(unsigned id)
Definition FHCollector.cpp:2950
std::map< unsigned, FHCustomProc > m_customProcs
Definition FHCollector.h:227
std::pair< unsigned, FHBlock > m_block
Definition FHCollector.h:201
const FHRGBColor * _findRGBColor(unsigned id)
Definition FHCollector.cpp:2960
unsigned _findValueFromAttribute(unsigned id)
Definition FHCollector.cpp:3138
void collectTEffect(unsigned recordId, const FHTEffect &tEffect)
Definition FHCollector.cpp:345
void collectFWShadowFilter(unsigned recordId, const FWShadowFilter &filter)
Definition FHCollector.cpp:502
void collectLinearFill(unsigned recordId, const FHLinearFill &fill)
Definition FHCollector.cpp:477
void _outputSymbolInstance(const FHSymbolInstance *symbolInstance, librevenge::RVNGDrawingInterface *painter)
Definition FHCollector.cpp:1257
std::map< unsigned, FHParagraphProperties > m_paragraphProperties
Definition FHCollector.h:222
std::map< unsigned, FHTintColor > m_tints
Definition FHCollector.h:237
std::map< unsigned, FHSymbolClass > m_symbolClasses
Definition FHCollector.h:246
std::map< unsigned, FHPatternFill > m_patternFills
Definition FHCollector.h:248
std::map< unsigned, FHRadialFill > m_radialFills
Definition FHCollector.h:239
unsigned m_strokeId
Definition FHCollector.h:252
const FHTransform * _findTransform(unsigned id)
Definition FHCollector.cpp:2780
const FWGlowFilter * _findFWGlowFilter(unsigned id)
Definition FHCollector.cpp:3070
const FHFilterAttributeHolder * _findFilterAttributeHolder(unsigned id)
Definition FHCollector.cpp:3030
const double * _findOpacityFilter(unsigned id)
Definition FHCollector.cpp:3050
void collectData(unsigned recordId, const librevenge::RVNGBinaryData &data)
Definition FHCollector.cpp:457
const FHLinearFill * _findLinearFill(unsigned id)
Definition FHCollector.cpp:2860
void _getBBofClipGroup(const FHGroup *group, FHBoundingBox &bBox)
Definition FHCollector.cpp:599
const FHNewBlend * _findNewBlend(unsigned id)
Definition FHCollector.cpp:2720
const FWShadowFilter * _findFWShadowFilter(unsigned id)
Definition FHCollector.cpp:3060
const FHDisplayText * _findDisplayText(unsigned id)
Definition FHCollector.cpp:2980
const FHGroup * _findGroup(unsigned id)
Definition FHCollector.cpp:2730
void _outputPathText(const FHPathText *pathText, librevenge::RVNGDrawingInterface *painter)
Definition FHCollector.cpp:1217
const FHCompositePath * _findCompositePath(unsigned id)
Definition FHCollector.cpp:2750
void _appendBasicFill(librevenge::RVNGPropertyList &propList, const FHBasicFill *basicFill)
Definition FHCollector.cpp:2328
void _appendOpacity(librevenge::RVNGPropertyList &propList, const double *opacity)
Definition FHCollector.cpp:2420
std::map< unsigned, FHBasicFill > m_basicFills
Definition FHCollector.h:224
void _appendArrowPath(librevenge::RVNGPropertyList &propList, const FHPath *arrow, bool startArrow)
Definition FHCollector.cpp:2647
void collectDataList(unsigned recordId, const FHDataList &list)
Definition FHCollector.cpp:462
librevenge::RVNGString getColorString(unsigned id, double tint=1)
Definition FHCollector.cpp:3175
const FHPath * _findArrowPath(unsigned id)
Definition FHCollector.cpp:2920
void _appendFontProperties(librevenge::RVNGPropertyList &propList, unsigned agdFontId)
Definition FHCollector.cpp:2199
librevenge::RVNGBinaryData getImageData(unsigned id)
Definition FHCollector.cpp:3160
void collectTileFill(unsigned recordId, const FHTileFill &fill)
Definition FHCollector.cpp:411
std::map< unsigned, FWGlowFilter > m_glowFilters
Definition FHCollector.h:244
void _outputDisplayText(const FHDisplayText *displayText, librevenge::RVNGDrawingInterface *painter)
Definition FHCollector.cpp:1869
const FHLinePattern * _findLinePattern(unsigned id)
Definition FHCollector.cpp:2910
const std::vector< unsigned short > * _findTextBlok(unsigned id)
void _getBBofNewBlend(const FHNewBlend *newBlend, FHBoundingBox &bBox)
Definition FHCollector.cpp:885
void _appendFillProperties(librevenge::RVNGPropertyList &propList, unsigned graphicStyleId)
Definition FHCollector.cpp:2218
std::map< unsigned, FHPath > m_arrowPaths
Definition FHCollector.h:250
void outputDrawing(librevenge::RVNGDrawingInterface *painter)
Definition FHCollector.cpp:1274
std::map< unsigned, FHRGBColor > m_rgbColors
Definition FHCollector.h:223
void _normalizePath(FHPath &path)
Definition FHCollector.cpp:522
std::map< unsigned, FHDataList > m_dataLists
Definition FHCollector.h:233
void collectImage(unsigned recordId, const FHImageImport &image)
Definition FHCollector.cpp:467
std::map< unsigned, FHLensFill > m_lensFills
Definition FHCollector.h:238
void collectBasicLine(unsigned recordId, const FHBasicLine &line)
Definition FHCollector.cpp:396
const std::vector< FHColorStop > * _findMultiColorList(unsigned id)
Definition FHCollector.cpp:3040
void _outputTextRun(const std::vector< unsigned short > *characters, unsigned offset, unsigned length, unsigned charStyleId, librevenge::RVNGDrawingInterface *painter)
Definition FHCollector.cpp:2133
const FHGraphicStyle * _findGraphicStyle(unsigned id)
Definition FHCollector.cpp:2840
unsigned _findStrokeId(const FHGraphicStyle &graphicStyle)
Definition FHCollector.cpp:3080
void _appendParagraphProperties(librevenge::RVNGPropertyList &propList, unsigned paraPropsId)
Definition FHCollector.cpp:1760
void _getBBofSymbolInstance(const FHSymbolInstance *symbolInstance, FHBoundingBox &bBox)
Definition FHCollector.cpp:889
void collectList(unsigned recordId, const FHList &lst)
Definition FHCollector.cpp:305
std::map< unsigned, FHPathText > m_pathTexts
Definition FHCollector.h:213
std::map< unsigned, FHParagraph > m_paragraphs
Definition FHCollector.h:217
void collectCustomProc(unsigned recordId, const FHCustomProc &lineFill)
Definition FHCollector.cpp:401
void collectParagraphProps(unsigned recordId, const FHParagraphProperties ¶graphProps)
Definition FHCollector.cpp:376
void collectTintColor(unsigned recordId, const FHTintColor &color)
Definition FHCollector.cpp:386
const FHTEffect * _findTEffect(unsigned id)
Definition FHCollector.cpp:2790
std::map< unsigned, FHList > m_lists
Definition FHCollector.h:206
unsigned m_textBoxNumberId
Definition FHCollector.h:255
void collectNewBlend(unsigned recordId, const FHNewBlend &newBlend)
Definition FHCollector.cpp:492
void _getBBofDisplayText(const FHDisplayText *displayText, FHBoundingBox &bBox)
Definition FHCollector.cpp:745
void collectPageInfo(const FHPageInfo &pageInfo)
Definition FHCollector.cpp:259
void collectColor(unsigned recordId, const FHRGBColor &color)
Definition FHCollector.cpp:381
void _getBBofPathText(const FHPathText *pathText, FHBoundingBox &bBox)
Definition FHCollector.cpp:667
FHTail m_fhTail
Definition FHCollector.h:200
void collectAGDFont(unsigned recordId, const FHAGDFont &font)
Definition FHCollector.cpp:340
std::map< unsigned, std::vector< FHColorStop > > m_multiColorLists
Definition FHCollector.h:235
std::map< unsigned, librevenge::RVNGBinaryData > m_data
Definition FHCollector.h:232
std::deque< unsigned > m_visitedObjects
Definition FHCollector.h:256
void _appendRadialFill(librevenge::RVNGPropertyList &propList, const FHRadialFill *radialFill)
Definition FHCollector.cpp:2497
std::map< unsigned, std::vector< unsigned > > m_tStrings
Definition FHCollector.h:214
void collectGraphicStyle(unsigned recordId, const FHGraphicStyle &graphicStyle)
Definition FHCollector.cpp:442
void _appendLinePattern(librevenge::RVNGPropertyList &propList, const FHLinePattern *linePattern)
Definition FHCollector.cpp:2602
void _appendCustomProcFill(librevenge::RVNGPropertyList &propList, const FHCustomProc *customProc)
Definition FHCollector.cpp:2340
void collectArrowPath(unsigned recordId, const FHPath &path)
Definition FHCollector.cpp:426
void _getBBofCompositePath(const FHCompositePath *compositePath, FHBoundingBox &bBox)
Definition FHCollector.cpp:633
void collectBlock(unsigned recordId, const FHBlock &block)
Definition FHCollector.cpp:296
void collectRadialFill(unsigned recordId, const FHRadialFill &fill)
Definition FHCollector.cpp:487
void collectAttributeHolder(unsigned recordId, const FHAttributeHolder &attributeHolder)
Definition FHCollector.cpp:447
std::map< unsigned, FHPath > m_paths
Definition FHCollector.h:203
void collectPatternFill(unsigned recordId, const FHPatternFill &fill)
Definition FHCollector.cpp:416
void collectName(unsigned recordId, const librevenge::RVNGString &str)
Definition FHCollector.cpp:269
std::map< unsigned, FHDisplayText > m_displayTexts
Definition FHCollector.h:229
void collectPropList(unsigned recordId, const FHPropList &propertyList)
Definition FHCollector.cpp:432
void collectFilterAttributeHolder(unsigned recordId, const FHFilterAttributeHolder &filterAttributeHolder)
Definition FHCollector.cpp:452
void collectTextBlok(unsigned recordId, const std::vector< unsigned short > &characters)
Definition FHCollector.cpp:361
std::map< unsigned, FHFilterAttributeHolder > m_filterAttributeHolders
Definition FHCollector.h:241
void collectSymbolClass(unsigned recordId, const FHSymbolClass &symbolClass)
Definition FHCollector.cpp:512
void _appendCharacterProperties(librevenge::RVNGPropertyList &propList, unsigned charPropsId)
Definition FHCollector.cpp:1589
FHPageInfo m_pageInfo
Definition FHCollector.h:199
void _outputClipGroup(const FHGroup *group, librevenge::RVNGDrawingInterface *painter)
Definition FHCollector.cpp:1103
const std::vector< FHTab > * _findTabTable(unsigned id)
Definition FHCollector.cpp:2810
void collectGroup(unsigned recordId, const FHGroup &group)
Definition FHCollector.cpp:315
void collectLayer(unsigned recordId, const FHLayer &layer)
Definition FHCollector.cpp:310
std::map< unsigned, FHTEffect > m_tEffects
Definition FHCollector.h:216
const std::vector< unsigned > * _findTStringElements(unsigned id)
Definition FHCollector.cpp:2820
void _appendStrokeProperties(librevenge::RVNGPropertyList &propList, unsigned graphicStyleId)
Definition FHCollector.cpp:2277
std::map< unsigned, FHPatternLine > m_patternLines
Definition FHCollector.h:228
FHCollector()
Definition FHCollector.cpp:241
const FHCustomProc * _findCustomProc(unsigned id)
Definition FHCollector.cpp:2940
std::map< librevenge::RVNGString, unsigned > m_names
Definition FHCollector.h:205
void _getBBofLayer(unsigned layerId, FHBoundingBox &bBox)
const FHSymbolInstance * _findSymbolInstance(unsigned id)
Definition FHCollector.cpp:3020
const FHBasicFill * _findBasicFill(unsigned id)
Definition FHCollector.cpp:2850
std::map< unsigned, FHTransform > m_transforms
Definition FHCollector.h:202
std::map< unsigned, FHAttributeHolder > m_attributeHolders
Definition FHCollector.h:231
void _appendCustomProcLine(librevenge::RVNGPropertyList &propList, const FHCustomProc *customProc)
Definition FHCollector.cpp:2683
unsigned _findFillId(const FHGraphicStyle &graphicStyle)
Definition FHCollector.cpp:3098
const FHTileFill * _findTileFill(unsigned id)
Definition FHCollector.cpp:2890
void collectLinePattern(unsigned recordId, const FHLinePattern &line)
Definition FHCollector.cpp:421
void collectParagraph(unsigned recordId, const FHParagraph ¶graph)
Definition FHCollector.cpp:350
void collectSymbolInstance(unsigned recordId, const FHSymbolInstance &symbolInstance)
Definition FHCollector.cpp:517
void _getBBofImageImport(const FHImageImport *image, FHBoundingBox &bBox)
Definition FHCollector.cpp:815
void collectDisplayText(unsigned recordId, const FHDisplayText &displayText)
Definition FHCollector.cpp:437
std::map< unsigned, FHCharProperties > m_charProperties
Definition FHCollector.h:221
std::map< unsigned, FHAGDFont > m_fonts
Definition FHCollector.h:215
void _outputImageImport(const FHImageImport *image, librevenge::RVNGDrawingInterface *painter)
Definition FHCollector.cpp:2053
void _outputNewBlend(const FHNewBlend *newBlend, librevenge::RVNGDrawingInterface *painter)
Definition FHCollector.cpp:1225
void _outputGroup(const FHGroup *group, librevenge::RVNGDrawingInterface *painter)
Definition FHCollector.cpp:1068
std::map< unsigned, FHGraphicStyle > m_graphicStyles
Definition FHCollector.h:230
std::map< unsigned, FHCompositePath > m_compositePaths
Definition FHCollector.h:212
const librevenge::RVNGBinaryData * _findData(unsigned id)
Definition FHCollector.cpp:3000
FHCollector(const FHCollector &)
FHRGBColor getRGBFromTint(const FHTintColor &tint)
Definition FHCollector.cpp:3198
const FHSymbolClass * _findSymbolClass(unsigned id)
Definition FHCollector.cpp:3010
void _appendShadow(librevenge::RVNGPropertyList &propList, const FWShadowFilter *filter)
Definition FHCollector.cpp:2430
void collectTString(unsigned recordId, const std::vector< unsigned > &elements)
Definition FHCollector.cpp:335
std::vector< FHTransform > m_fakeTransforms
Definition FHCollector.h:211
void _appendLinearFill(librevenge::RVNGPropertyList &propList, const FHLinearFill *linearFill)
Definition FHCollector.cpp:2377
std::map< unsigned, std::vector< unsigned short > > m_textBloks
Definition FHCollector.h:219
void _appendTabProperties(librevenge::RVNGPropertyList &propList, const FHTab &tab)
Definition FHCollector.cpp:1734
unsigned m_fillId
Definition FHCollector.h:253
const FHParagraph * _findParagraph(unsigned id)
Definition FHCollector.cpp:2800
unsigned m_contentId
Definition FHCollector.h:254
const FHPathText * _findPathText(unsigned id)
Definition FHCollector.cpp:2760
std::map< unsigned, FHNewBlend > m_newBlends
Definition FHCollector.h:240
std::stack< FHTransform > m_currentTransforms
Definition FHCollector.h:210
void _appendPatternLine(librevenge::RVNGPropertyList &propList, const FHPatternLine *basicLine)
Definition FHCollector.cpp:2697
void _outputTextObject(const FHTextObject *textObject, librevenge::RVNGDrawingInterface *painter)
Definition FHCollector.cpp:1396
void collectXform(unsigned recordId, double m11, double m21, double m12, double m22, double m13, double m23)
Definition FHCollector.cpp:285
std::map< unsigned, FHLinePattern > m_linePatterns
Definition FHCollector.h:249
const FHGroup * _findClipGroup(unsigned id)
Definition FHCollector.cpp:2740
FHCollector & operator=(const FHCollector &)
unsigned _findContentId(unsigned graphicStyleId)
Definition FHCollector.cpp:2352
std::map< unsigned, FHGroup > m_groups
Definition FHCollector.h:208
void _outputParagraph(const FHParagraph *paragraph, librevenge::RVNGDrawingInterface *painter, unsigned &actPos, unsigned minPos, unsigned maxPos)
Definition FHCollector.cpp:1550
void _getBBofGroup(const FHGroup *group, FHBoundingBox &bBox)
Definition FHCollector.cpp:565
void _getBBofSomething(unsigned somethingId, FHBoundingBox &bBox)
Definition FHCollector.cpp:908
void _appendTileFill(librevenge::RVNGPropertyList &propList, const FHTileFill *tileFill)
Definition FHCollector.cpp:2528
void _appendBasicLine(librevenge::RVNGPropertyList &propList, const FHBasicLine *basicLine)
Definition FHCollector.cpp:2666
void _outputCompositePath(const FHCompositePath *compositePath, librevenge::RVNGDrawingInterface *painter)
Definition FHCollector.cpp:1364
std::map< unsigned, FHTileFill > m_tileFills
Definition FHCollector.h:245
void _outputPath(const FHPath *path, librevenge::RVNGDrawingInterface *painter)
Definition FHCollector.cpp:934
void collectCharProps(unsigned recordId, const FHCharProperties &charProps)
Definition FHCollector.cpp:371
std::map< unsigned, FHBasicLine > m_basicLines
Definition FHCollector.h:226
void _getBBofPath(const FHPath *path, FHBoundingBox &bBox)
Definition FHCollector.cpp:534
void collectCompositePath(unsigned recordId, const FHCompositePath &compositePath)
Definition FHCollector.cpp:325
void _outputSomething(unsigned somethingId, librevenge::RVNGDrawingInterface *painter)
Definition FHCollector.cpp:1045
void collectTabTable(unsigned recordId, const std::vector< FHTab > &tabs)
Definition FHCollector.cpp:355
void collectLensFill(unsigned recordId, const FHLensFill &fill)
Definition FHCollector.cpp:482
std::map< unsigned, FHImageImport > m_images
Definition FHCollector.h:234
std::map< unsigned, FHPropList > m_propertyLists
Definition FHCollector.h:225
void _generateBitmapFromPattern(librevenge::RVNGBinaryData &bitmap, unsigned colorId, const std::vector< unsigned char > &pattern)
Definition FHCollector.cpp:3215
std::map< unsigned, FHTextObject > m_textObjects
Definition FHCollector.h:220
void collectPath(unsigned recordId, const FHPath &path)
Definition FHCollector.cpp:280
void _appendLensFill(librevenge::RVNGPropertyList &propList, const FHLensFill *lensFill)
Definition FHCollector.cpp:2450
void _normalizePoint(double &x, double &y)
Definition FHCollector.cpp:528
void collectFWGlowFilter(unsigned recordId, const FWGlowFilter &filter)
Definition FHCollector.cpp:507
const FHTextObject * _findTextObject(unsigned id)
Definition FHCollector.cpp:2770
std::map< unsigned, FHLayer > m_layers
Definition FHCollector.h:207
std::map< unsigned, librevenge::RVNGString > m_strings
Definition FHCollector.h:204
const FHTintColor * _findTintColor(unsigned id)
Definition FHCollector.cpp:2970
Definition FHCollector.h:23