CDRStylesCollector.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 libcdr 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 __CDRSTYLESCOLLECTOR_H__
11 #define __CDRSTYLESCOLLECTOR_H__
12 
13 #include <map>
14 #include <vector>
15 #include <stack>
16 #include <librevenge/librevenge.h>
17 #include <lcms2.h>
18 #include "CDRTypes.h"
19 #include "CDRPath.h"
20 #include "CDROutputElementList.h"
21 #include "CDRCollector.h"
22 #include "libcdr_utils.h"
23 
24 namespace libcdr
25 {
26 
28 {
29 public:
31  virtual ~CDRStylesCollector();
32 
33  // collector functions
34  void collectPage(unsigned level);
35  void collectObject(unsigned) {}
36  void collectGroup(unsigned) {}
37  void collectVect(unsigned) {}
38  void collectOtherList() {}
39  void collectPath(const CDRPath &) {}
40  void collectLevel(unsigned) {}
41  void collectTransform(const CDRTransforms &, bool) {}
42  void collectFillStyle(unsigned short, const CDRColor &, const CDRColor &, const CDRGradient &, const CDRImageFill &) {}
43  void collectLineStyle(unsigned short, unsigned short, unsigned short, double, double, double, const CDRColor &,
44  const std::vector<unsigned> &, const CDRPath &, const CDRPath &) {}
45  void collectRotate(double,double,double) {}
46  void collectFlags(unsigned, bool) {}
47  void collectPageSize(double width, double height, double offsetX, double offsetY);
48  void collectPolygonTransform(unsigned, unsigned, double, double, double, double) {}
49  void collectBitmap(unsigned, double, double, double, double) {}
50  void collectBmp(unsigned imageId, unsigned colorModel, unsigned width, unsigned height, unsigned bpp, const std::vector<unsigned> &palette, const std::vector<unsigned char> &bitmap);
51  void collectBmp(unsigned imageId, const std::vector<unsigned char> &bitmap);
52  void collectBmpf(unsigned patternId, unsigned width, unsigned height, const std::vector<unsigned char> &pattern);
53  void collectPpdt(const std::vector<std::pair<double, double> > &, const std::vector<unsigned> &) {}
55  void collectFillOpacity(double) {}
56  void collectPolygon() {}
57  void collectSpline() {}
58  void collectColorProfile(const std::vector<unsigned char> &profile);
59  void collectBBox(double, double, double, double) {}
60  void collectSpnd(unsigned) {}
61  void collectVectorPattern(unsigned, const librevenge::RVNGBinaryData &) {}
62  void collectPaletteEntry(unsigned colorId, unsigned userId, const CDRColor &color);
63  void collectText(unsigned textId, unsigned styleId, const std::vector<unsigned char> &data,
64  const std::vector<unsigned char> &charDescriptions, const std::map<unsigned, CDRCharacterStyle> &styleOverrides);
65  void collectArtisticText(double, double) {}
66  void collectParagraphText(double, double, double, double) {}
67  void collectStld(unsigned id, const CDRCharacterStyle &charStyle);
68 
69 private:
72 
73  void getRecursedStyle(CDRCharacterStyle &charStyle, unsigned styleId);
74 
77  std::map<unsigned, CDRCharacterStyle> m_charStyles;
78 };
79 
80 } // namespace libcdr
81 
82 #endif /* __CDRCOLLECTOR_H__ */
83 /* vim:set shiftwidth=2 softtabstop=2 expandtab: */
void collectText(unsigned textId, unsigned styleId, const std::vector< unsigned char > &data, const std::vector< unsigned char > &charDescriptions, const std::map< unsigned, CDRCharacterStyle > &styleOverrides)
Definition: CDRStylesCollector.cpp:213
virtual ~CDRStylesCollector()
Definition: CDRStylesCollector.cpp:30
void collectBmp(unsigned imageId, unsigned colorModel, unsigned width, unsigned height, unsigned bpp, const std::vector< unsigned > &palette, const std::vector< unsigned char > &bitmap)
Definition: CDRStylesCollector.cpp:34
void collectGroup(unsigned)
Definition: CDRStylesCollector.h:36
Definition: CDRPath.h:34
void collectPath(const CDRPath &)
Definition: CDRStylesCollector.h:39
void collectFillStyle(unsigned short, const CDRColor &, const CDRColor &, const CDRGradient &, const CDRImageFill &)
Definition: CDRStylesCollector.h:42
void collectArtisticText(double, double)
Definition: CDRStylesCollector.h:65
Definition: CDRTypes.h:225
Definition: CDRTypes.h:84
void collectPaletteEntry(unsigned colorId, unsigned userId, const CDRColor &color)
Definition: CDRStylesCollector.cpp:208
std::map< unsigned, CDRCharacterStyle > m_charStyles
Definition: CDRStylesCollector.h:77
CDRPage m_page
Definition: CDRStylesCollector.h:76
void collectBmpf(unsigned patternId, unsigned width, unsigned height, const std::vector< unsigned char > &pattern)
Definition: CDRStylesCollector.cpp:197
void collectTransform(const CDRTransforms &, bool)
Definition: CDRStylesCollector.h:41
Definition: CDRTypes.h:136
void getRecursedStyle(CDRCharacterStyle &charStyle, unsigned styleId)
Definition: CDRStylesCollector.cpp:272
void collectPolygon()
Definition: CDRStylesCollector.h:56
void collectStld(unsigned id, const CDRCharacterStyle &charStyle)
Definition: CDRStylesCollector.cpp:267
void collectBBox(double, double, double, double)
Definition: CDRStylesCollector.h:59
void collectOtherList()
Definition: CDRStylesCollector.h:38
void collectObject(unsigned)
Definition: CDRStylesCollector.h:35
void collectPageSize(double width, double height, double offsetX, double offsetY)
Definition: CDRStylesCollector.cpp:184
void collectRotate(double, double, double)
Definition: CDRStylesCollector.h:45
Definition: CDRCollector.h:29
void collectPpdt(const std::vector< std::pair< double, double > > &, const std::vector< unsigned > &)
Definition: CDRStylesCollector.h:53
void collectVectorPattern(unsigned, const librevenge::RVNGBinaryData &)
Definition: CDRStylesCollector.h:61
Definition: CDRStylesCollector.h:27
CDRStylesCollector(CDRParserState &ps)
Definition: CDRStylesCollector.cpp:25
void collectPage(unsigned level)
Definition: CDRStylesCollector.cpp:192
void collectLevel(unsigned)
Definition: CDRStylesCollector.h:40
CDRStylesCollector & operator=(const CDRStylesCollector &)
void collectVect(unsigned)
Definition: CDRStylesCollector.h:37
void collectPolygonTransform(unsigned, unsigned, double, double, double, double)
Definition: CDRStylesCollector.h:48
void collectBitmap(unsigned, double, double, double, double)
Definition: CDRStylesCollector.h:49
void collectSpline()
Definition: CDRStylesCollector.h:57
CDRParserState & m_ps
Definition: CDRStylesCollector.h:75
void collectFillTransform(const CDRTransforms &)
Definition: CDRStylesCollector.h:54
void collectLineStyle(unsigned short, unsigned short, unsigned short, double, double, double, const CDRColor &, const std::vector< unsigned > &, const CDRPath &, const CDRPath &)
Definition: CDRStylesCollector.h:43
Definition: CDRCollector.h:32
Definition: CDRTypes.h:52
void collectFlags(unsigned, bool)
Definition: CDRStylesCollector.h:46
void collectColorProfile(const std::vector< unsigned char > &profile)
Definition: CDRStylesCollector.cpp:202
Definition: CDRTypes.h:70
void collectSpnd(unsigned)
Definition: CDRStylesCollector.h:60
void collectParagraphText(double, double, double, double)
Definition: CDRStylesCollector.h:66
Definition: CDRTransforms.h:39
Definition: CDRCollector.h:59
void collectFillOpacity(double)
Definition: CDRStylesCollector.h:55

Generated for libcdr by doxygen 1.8.11