Guiliani
Version 2.5 revision 6773 (build 33)
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
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
8
class
CSVGGradient
9
{
10
public
:
11
CSVGGradient
() :
12
m_eGradientType
(
LINEAR
),
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
23
struct
GradientStop_t
24
{
25
eC_UInt
m_uiColor
;
26
float
m_vOffset
;
27
};
28
31
typedef
enum
32
{
33
LINEAR
,
34
RADIAL
35
}
GradientType_t
;
36
39
typedef
enum
40
{
41
PAD
,
42
REFLECT
,
43
REPEAT
44
}
Spread_t
;
45
46
GradientType_t
m_eGradientType
;
47
Spread_t
m_eSpread
;
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
() :
74
m_eType
(
JUST_STROKE
),
75
m_eCapstyle
(
SQUARE_CAP
),
76
m_eJoinstyle
(
MITER_JOIN
),
77
m_eFillrule
(
NON_ZERO
),
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
{
91
JUST_STROKE
,
92
JUST_FILL
,
93
STROKE_AND_FILL
94
}
Form_Type_t
;
95
98
typedef
enum
99
{
100
BUTT_CAP
,
101
ROUND_CAP
,
102
SQUARE_CAP
103
}
Capstyle_t
;
104
107
typedef
enum
108
{
109
BEVEL_JOIN
,
110
ROUND_JOIN
,
111
MITER_JOIN
112
}
Joinstyle_t
;
113
116
typedef
enum
117
{
118
NON_ZERO
,
119
EVEN_ODD
120
}
Fillrule_t
;
121
122
Form_Type_t
m_eType
;
123
Capstyle_t
m_eCapstyle
;
124
Joinstyle_t
m_eJoinstyle
;
125
Fillrule_t
m_eFillrule
;
126
127
eC_Value
m_vStrokeDashOffset
;
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
Include
Core
SVGShape.h
Generated by
1.8.4