JavaScriptCore:
[WebKit-https.git] / WebCore / ksvg2 / ksvg.h
1 /*
2     Copyright (C) 2004, 2005 Nikolas Zimmermann <wildfox@kde.org>
3                   2004, 2005 Rob Buis <buis@kde.org>
4
5     This file is part of the KDE project
6
7     This library is free software; you can redistribute it and/or
8     modify it under the terms of the GNU Library General Public
9     License as published by the Free Software Foundation; either
10     version 2 of the License, or (at your option) any later version.
11
12     This library is distributed in the hope that it will be useful,
13     but WITHOUT ANY WARRANTY; without even the implied warranty of
14     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
15     Library General Public License for more details.
16
17     You should have received a copy of the GNU Library General Public License
18     along with this library; see the file COPYING.LIB.  If not, write to
19     the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
20     Boston, MA 02111-1307, USA.
21 */
22
23 #ifndef KSVG_H
24 #define KSVG_H
25 #if SVG_SUPPORT
26
27 /**
28  * @short General namespace specific definitions.
29  */
30 namespace WebCore {
31     /**
32      * All SVG constants
33      */
34     enum SVGExceptionCode {
35         SVG_WRONG_TYPE_ERR           = 1,
36         SVG_INVALID_VALUE_ERR        = 2,
37         SVG_MATRIX_NOT_INVERTABLE    = 3
38     };
39     
40     enum SVGUnitTypes {
41         SVG_UNIT_TYPE_UNKNOWN               = 0,
42         SVG_UNIT_TYPE_USERSPACEONUSE        = 1,
43         SVG_UNIT_TYPE_OBJECTBOUNDINGBOX     = 2
44     };
45
46     enum SVGRenderingIntentType {
47         RENDERING_INTENT_UNKNOWN                  = 0,
48         RENDERING_INTENT_AUTO                     = 1,
49         RENDERING_INTENT_PERCEPTUAL               = 2,
50         RENDERING_INTENT_RELATIVE_COLORIMETRIC    = 3,
51         RENDERING_INTENT_SATURATION               = 4,
52         RENDERING_INTENT_ABSOLUTE_COLORIMETRIC    = 5
53     };
54     
55     enum SVGTransformType {
56         SVG_TRANSFORM_UNKNOWN           = 0,
57         SVG_TRANSFORM_MATRIX            = 1,
58         SVG_TRANSFORM_TRANSLATE         = 2,
59         SVG_TRANSFORM_SCALE             = 3,
60         SVG_TRANSFORM_ROTATE            = 4,
61         SVG_TRANSFORM_SKEWX             = 5,
62         SVG_TRANSFORM_SKEWY             = 6
63     };
64
65     enum SVGCSSRuleType {
66         COLOR_PROFILE_RULE = 7
67     };
68
69     enum SVGPreserveAspectRatioType {
70         SVG_PRESERVEASPECTRATIO_UNKNOWN     = 0,
71         SVG_PRESERVEASPECTRATIO_NONE        = 1,
72         SVG_PRESERVEASPECTRATIO_XMINYMIN    = 2,
73         SVG_PRESERVEASPECTRATIO_XMIDYMIN    = 3,
74         SVG_PRESERVEASPECTRATIO_XMAXYMIN    = 4,
75         SVG_PRESERVEASPECTRATIO_XMINYMID    = 5,
76         SVG_PRESERVEASPECTRATIO_XMIDYMID    = 6,
77         SVG_PRESERVEASPECTRATIO_XMAXYMID    = 7,
78         SVG_PRESERVEASPECTRATIO_XMINYMAX    = 8,
79         SVG_PRESERVEASPECTRATIO_XMIDYMAX    = 9,
80         SVG_PRESERVEASPECTRATIO_XMAXYMAX    = 10
81     };
82
83     enum SVGMeetOrSliceType {
84         SVG_MEETORSLICE_UNKNOWN    = 0,
85         SVG_MEETORSLICE_MEET       = 1,
86         SVG_MEETORSLICE_SLICE      = 2
87     };
88
89     enum SVGPathSegType {
90         PATHSEG_UNKNOWN                         = 0,
91         PATHSEG_CLOSEPATH                       = 1,
92         PATHSEG_MOVETO_ABS                      = 2,
93         PATHSEG_MOVETO_REL                      = 3,
94         PATHSEG_LINETO_ABS                      = 4,
95         PATHSEG_LINETO_REL                      = 5,
96         PATHSEG_CURVETO_CUBIC_ABS               = 6,
97         PATHSEG_CURVETO_CUBIC_REL               = 7,
98         PATHSEG_CURVETO_QUADRATIC_ABS           = 8,
99         PATHSEG_CURVETO_QUADRATIC_REL           = 9,
100         PATHSEG_ARC_ABS                         = 10,
101         PATHSEG_ARC_REL                         = 11,
102         PATHSEG_LINETO_HORIZONTAL_ABS           = 12,
103         PATHSEG_LINETO_HORIZONTAL_REL           = 13,
104         PATHSEG_LINETO_VERTICAL_ABS             = 14,
105         PATHSEG_LINETO_VERTICAL_REL             = 15,
106         PATHSEG_CURVETO_CUBIC_SMOOTH_ABS        = 16,
107         PATHSEG_CURVETO_CUBIC_SMOOTH_REL        = 17,
108         PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS    = 18,
109         PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL    = 19
110     };
111
112     enum SVGLengthAdjustType {
113         LENGTHADJUST_UNKNOWN            = 0,
114         LENGTHADJUST_SPACING            = 1,
115         LENGTHADJUST_SPACINGANDGLYPHS   = 2
116     };
117
118     enum SVGTextPathMethodType {
119         TEXTPATH_METHODTYPE_UNKNOWN    = 0,
120         TEXTPATH_METHODTYPE_ALIGN      = 1,
121         TEXTPATH_METHODTYPE_STRETCH    = 2
122     };
123
124     enum SVGTextPathSpacingType {
125         TEXTPATH_SPACINGTYPE_UNKNOWN    = 0,
126         TEXTPATH_SPACINGTYPE_AUTO       = 1,
127         TEXTPATH_SPACINGTYPE_EXACT      = 2
128     };
129
130     enum SVGPaintType {
131         SVG_PAINTTYPE_UNKNOWN               = 0,
132         SVG_PAINTTYPE_RGBCOLOR              = 1,
133         SVG_PAINTTYPE_RGBCOLOR_ICCCOLOR     = 2,
134         SVG_PAINTTYPE_NONE                  = 101,
135         SVG_PAINTTYPE_CURRENTCOLOR          = 102,
136         SVG_PAINTTYPE_URI_NONE              = 103,
137         SVG_PAINTTYPE_URI_CURRENTCOLOR      = 104,
138         SVG_PAINTTYPE_URI_RGBCOLOR          = 105,
139         SVG_PAINTTYPE_URI_RGBCOLOR_ICCCOLOR = 106,
140         SVG_PAINTTYPE_URI                   = 107
141     };
142
143     enum SVGMarkerUnitsType {
144         SVG_MARKERUNITS_UNKNOWN           = 0,
145         SVG_MARKERUNITS_USERSPACEONUSE    = 1,
146         SVG_MARKERUNITS_STROKEWIDTH       = 2
147     };
148
149     enum SVGMarkerOrientType {
150         SVG_MARKER_ORIENT_UNKNOWN    = 0,
151         SVG_MARKER_ORIENT_AUTO       = 1,
152         SVG_MARKER_ORIENT_ANGLE      = 2
153     };
154
155     enum SVGGradientType {
156         SVG_SPREADMETHOD_UNKNOWN = 0,
157         SVG_SPREADMETHOD_PAD     = 1,
158         SVG_SPREADMETHOD_REFLECT = 2,
159         SVG_SPREADMETHOD_REPEAT  = 3
160     };
161
162     enum SVGZoomAndPanType {
163         SVG_ZOOMANDPAN_UNKNOWN = 0,
164         SVG_ZOOMANDPAN_DISABLE = 1,
165         SVG_ZOOMANDPAN_MAGNIFY = 2
166     };
167
168     enum SVGBlendModeType {
169         SVG_FEBLEND_MODE_UNKNOWN  = 0,
170         SVG_FEBLEND_MODE_NORMAL   = 1,
171         SVG_FEBLEND_MODE_MULTIPLY = 2,
172         SVG_FEBLEND_MODE_SCREEN   = 3,
173         SVG_FEBLEND_MODE_DARKEN   = 4,
174         SVG_FEBLEND_MODE_LIGHTEN  = 5
175     };
176
177     enum SVGColorMatrixType {
178         SVG_FECOLORMATRIX_TYPE_UNKNOWN          = 0,
179         SVG_FECOLORMATRIX_TYPE_MATRIX           = 1,
180         SVG_FECOLORMATRIX_TYPE_SATURATE         = 2,
181         SVG_FECOLORMATRIX_TYPE_HUEROTATE        = 3,
182         SVG_FECOLORMATRIX_TYPE_LUMINANCETOALPHA = 4
183     };
184
185     enum SVGComponentTransferType {
186         SVG_FECOMPONENTTRANSFER_TYPE_UNKNOWN  = 0,
187         SVG_FECOMPONENTTRANSFER_TYPE_IDENTITY = 1,
188         SVG_FECOMPONENTTRANSFER_TYPE_TABLE    = 2,
189         SVG_FECOMPONENTTRANSFER_TYPE_DISCRETE = 3,
190         SVG_FECOMPONENTTRANSFER_TYPE_LINEAR   = 4,
191         SVG_FECOMPONENTTRANSFER_TYPE_GAMMA    = 5
192     };
193
194     enum SVGCompositeOperators {
195         SVG_FECOMPOSITE_OPERATOR_UNKNOWN    = 0,
196         SVG_FECOMPOSITE_OPERATOR_OVER       = 1,
197         SVG_FECOMPOSITE_OPERATOR_IN         = 2,
198         SVG_FECOMPOSITE_OPERATOR_OUT        = 3,
199         SVG_FECOMPOSITE_OPERATOR_ATOP       = 4,
200         SVG_FECOMPOSITE_OPERATOR_XOR        = 5,
201         SVG_FECOMPOSITE_OPERATOR_ARITHMETIC = 6
202     };
203
204     enum SVGEdgeModes {
205         SVG_EDGEMODE_UNKNOWN   = 0,
206         SVG_EDGEMODE_DUPLICATE = 1,
207         SVG_EDGEMODE_WRAP      = 2,
208         SVG_EDGEMODE_NONE      = 3
209     };
210
211     enum SVGChannelSelectors {
212         SVG_CHANNEL_UNKNOWN = 0,
213         SVG_CHANNEL_R       = 1,
214         SVG_CHANNEL_G       = 2,
215         SVG_CHANNEL_B       = 3,
216         SVG_CHANNEL_A       = 4
217     };
218
219     enum SVGMorphologyOperators {
220         SVG_MORPHOLOGY_OPERATOR_UNKNOWN = 0,
221         SVG_MORPHOLOGY_OPERATOR_ERODE   = 1,
222         SVG_MORPHOLOGY_OPERATOR_DILATE  = 2
223     };
224
225     enum SVGTurbulenceType {
226         SVG_TURBULENCE_TYPE_UNKNOWN      = 0,
227         SVG_TURBULENCE_TYPE_FRACTALNOISE = 1,
228         SVG_TURBULENCE_TYPE_TURBULENCE   = 2
229     };
230
231     enum SVGStitchOptions {
232         SVG_STITCHTYPE_UNKNOWN  = 0,
233         SVG_STITCHTYPE_STITCH   = 1,
234         SVG_STITCHTYPE_NOSTITCH = 2
235     };
236
237 } // namespace WebCore
238
239 #endif // SVG_SUPPORT
240 #endif // KSVG_H
241
242 // vim:ts=4:noet