Guiliani  Version 2.6 revision 7293 (documentation build 12)
SVGShape.h
1#ifndef CSVGSHAPE_H
2#define CSVGSHAPE_H
3
4#include "eC_Types.h"
5#include "eC_Math.h"
6
9{
10public:
11 CSVGGradient() :
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 {
34 RADIAL
36
39 typedef enum
40 {
43 REPEAT
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
62{
63public:
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)),
82 m_vStrokeWidth(eC_FromInt(0)),
84 {
85 }
86
89 typedef enum
90 {
95
98 typedef enum
99 {
104
107 typedef enum
108 {
113
116 typedef enum
117 {
119 EVEN_ODD
121
126
128 std::vector<eC_Value> m_avStrokeDashArray;
129
130 eC_UByte m_ubOpacity;
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
Definition: SVGShape.h:9
eC_Value m_vFy
focalpoint y
Definition: SVGShape.h:54
eC_Bool m_bIsStroke
has stroke?
Definition: SVGShape.h:49
Spread_t m_eSpread
the used spread-type
Definition: SVGShape.h:47
GradientType_t m_eGradientType
the used gradient-type
Definition: SVGShape.h:46
std::vector< GradientStop_t > m_akGradientStops
gradient-stops
Definition: SVGShape.h:55
eC_Value m_vFx
focalpoint x
Definition: SVGShape.h:53
GradientType_t
Definition: SVGShape.h:32
@ LINEAR
linear
Definition: SVGShape.h:33
@ RADIAL
radial
Definition: SVGShape.h:34
Spread_t
Definition: SVGShape.h:40
@ PAD
pad
Definition: SVGShape.h:41
@ REFLECT
reflect
Definition: SVGShape.h:42
@ REPEAT
repeat
Definition: SVGShape.h:43
eC_Float m_afXform[6]
deforming matrix
Definition: SVGShape.h:51
Definition: SVGShape.h:62
Form_Type_t
Definition: SVGShape.h:90
@ JUST_FILL
normal filling
Definition: SVGShape.h:92
@ JUST_STROKE
stroking
Definition: SVGShape.h:91
@ STROKE_AND_FILL
stroking and filling
Definition: SVGShape.h:93
Joinstyle_t
Definition: SVGShape.h:108
@ BEVEL_JOIN
bevel join
Definition: SVGShape.h:109
@ MITER_JOIN
miter join
Definition: SVGShape.h:111
@ ROUND_JOIN
round join
Definition: SVGShape.h:110
Capstyle_t
Definition: SVGShape.h:99
@ ROUND_CAP
round-cap
Definition: SVGShape.h:101
@ SQUARE_CAP
square-cap
Definition: SVGShape.h:102
@ BUTT_CAP
butt-cap
Definition: SVGShape.h:100
eC_Value m_vStrokeWidth
stroke-width
Definition: SVGShape.h:133
std::vector< Path_t > m_akPaths
the used paths
Definition: SVGShape.h:138
eC_UInt m_uiFillColor
filling-color
Definition: SVGShape.h:131
eC_UInt m_uiStrokeColor
stroke-color
Definition: SVGShape.h:132
std::vector< eC_Value > m_avStrokeDashArray
max size from NanoSVG = 8
Definition: SVGShape.h:128
Joinstyle_t m_eJoinstyle
used join-style
Definition: SVGShape.h:124
std::vector< CSVGGradient > m_akGradients
the used gradients
Definition: SVGShape.h:137
Form_Type_t m_eType
used form-type
Definition: SVGShape.h:122
eC_Float m_avBounds[4]
tight bounding box of the shape [minx,miny,maxx,maxy].
Definition: SVGShape.h:135
Fillrule_t
Definition: SVGShape.h:117
@ NON_ZERO
non-zero
Definition: SVGShape.h:118
@ EVEN_ODD
even and odd
Definition: SVGShape.h:119
eC_Value m_vStrokeDashOffset
stroking dash-offset
Definition: SVGShape.h:127
Fillrule_t m_eFillrule
used filling-rule
Definition: SVGShape.h:125
Capstyle_t m_eCapstyle
used cap-style
Definition: SVGShape.h:123
eC_UByte m_ubOpacity
opacity 0 = fully transparent; 255 = fully opaque
Definition: SVGShape.h:130
Definition: SVGShape.h:24
eC_UInt m_uiColor
color
Definition: SVGShape.h:25
float m_vOffset
offset
Definition: SVGShape.h:26
Definition: SVGShape.h:67
std::vector< float > m_avCoords
coordinates x,y,x,y,x,y...
Definition: SVGShape.h:70
eC_Bool m_bClosed
is closed?
Definition: SVGShape.h:69