Guiliani  Version 2.5 revision 6773 (build 33)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
SVGShape.h
1 #ifndef CSVGSHAPE_H
2 #define CSVGSHAPE_H
3 
4 #include "eC_Types.h"
5 #include "eC_Math.h"
6 
9 {
10 public:
11  CSVGGradient() :
13  m_eSpread(PAD),
14  m_bIsStroke(false),
15  m_afXform(),
16  m_vFx(eC_FromFloat(1.f)),
17  m_vFy(eC_FromFloat(1.f))
18  {
19  }
20 
24  {
25  eC_UInt m_uiColor;
26  float m_vOffset;
27  };
28 
31  typedef enum
32  {
36 
39  typedef enum
40  {
41  PAD,
44  } Spread_t;
45 
48 
49  eC_Bool m_bIsStroke;
50 
51  eC_Float m_afXform[6];
52 
53  eC_Value m_vFx;
54  eC_Value m_vFy;
55  std::vector<GradientStop_t> m_akGradientStops;
56 };
57 
61 class CSVGShape
62 {
63 public:
66  struct Path_t
67  {
68  //a sequence of cubic bezier-curves
69  eC_Bool m_bClosed;
70  std::vector<float> m_avCoords;
71  };
72 
73  CSVGShape() :
78  m_vStrokeDashOffset(eC_FromFloat(0.0f)),
79  m_ubOpacity(),
80  m_uiFillColor(0),
81  m_uiStrokeColor(0),
82  m_vStrokeWidth(eC_FromInt(0)),
83  m_avBounds()
84  {
85  }
86 
89  typedef enum
90  {
94  } Form_Type_t;
95 
98  typedef enum
99  {
103  } Capstyle_t;
104 
107  typedef enum
108  {
112  } Joinstyle_t;
113 
116  typedef enum
117  {
120  } Fillrule_t;
121 
126 
128  std::vector<eC_Value> m_avStrokeDashArray;
129 
130  eC_UByte m_ubOpacity;
131  eC_UInt m_uiFillColor;
132  eC_UInt m_uiStrokeColor;
133  eC_Value m_vStrokeWidth;
134 
135  eC_Float m_avBounds[4];
136 
137  std::vector<CSVGGradient> m_akGradients;
138  std::vector<Path_t> m_akPaths;
139 };
140 
141 #endif // CSVGSHAPE_H