Bumping gaia.json for 2 gaia revision(s) a=gaia-bump
[gecko.git] / dom / webidl / SVGPathSeg.webidl
blob553a74f76b3cdf1d51ab4a6c49977927d0f848c5
1 /* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /* This Source Code Form is subject to the terms of the Mozilla Public
3  * License, v. 2.0. If a copy of the MPL was not distributed with this file,
4  * You can obtain one at http://mozilla.org/MPL/2.0/.
5  *
6  * The origin of this IDL file is
7  * http://www.w3.org/TR/SVG2/
8  *
9  * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
10  * liability, trademark and document use rules apply.
11  */
13 interface SVGPathSeg {
15   // Path Segment Types
16   const unsigned short PATHSEG_UNKNOWN = 0;
17   const unsigned short PATHSEG_CLOSEPATH = 1;
18   const unsigned short PATHSEG_MOVETO_ABS = 2;
19   const unsigned short PATHSEG_MOVETO_REL = 3;
20   const unsigned short PATHSEG_LINETO_ABS = 4;
21   const unsigned short PATHSEG_LINETO_REL = 5;
22   const unsigned short PATHSEG_CURVETO_CUBIC_ABS = 6;
23   const unsigned short PATHSEG_CURVETO_CUBIC_REL = 7;
24   const unsigned short PATHSEG_CURVETO_QUADRATIC_ABS = 8;
25   const unsigned short PATHSEG_CURVETO_QUADRATIC_REL = 9;
26   const unsigned short PATHSEG_ARC_ABS = 10;
27   const unsigned short PATHSEG_ARC_REL = 11;
28   const unsigned short PATHSEG_LINETO_HORIZONTAL_ABS = 12;
29   const unsigned short PATHSEG_LINETO_HORIZONTAL_REL = 13;
30   const unsigned short PATHSEG_LINETO_VERTICAL_ABS = 14;
31   const unsigned short PATHSEG_LINETO_VERTICAL_REL = 15;
32   const unsigned short PATHSEG_CURVETO_CUBIC_SMOOTH_ABS = 16;
33   const unsigned short PATHSEG_CURVETO_CUBIC_SMOOTH_REL = 17;
34   const unsigned short PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS = 18;
35   const unsigned short PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL = 19;
37   readonly attribute unsigned short pathSegType;
38   readonly attribute DOMString pathSegTypeAsLetter;
41 interface SVGPathSegClosePath : SVGPathSeg {
44 interface SVGPathSegMovetoAbs : SVGPathSeg {
45   [SetterThrows]
46   attribute float x;
47   [SetterThrows]
48   attribute float y;
51 interface SVGPathSegMovetoRel : SVGPathSeg {
52   [SetterThrows]
53   attribute float x;
54   [SetterThrows]
55   attribute float y;
58 interface SVGPathSegLinetoAbs : SVGPathSeg {
59   [SetterThrows]
60   attribute float x;
61   [SetterThrows]
62   attribute float y;
65 interface SVGPathSegLinetoRel : SVGPathSeg {
66   [SetterThrows]
67   attribute float x;
68   [SetterThrows]
69   attribute float y;
72 interface SVGPathSegCurvetoCubicAbs : SVGPathSeg {
73   [SetterThrows]
74   attribute float x;
75   [SetterThrows]
76   attribute float y;
77   [SetterThrows]
78   attribute float x1;
79   [SetterThrows]
80   attribute float y1;
81   [SetterThrows]
82   attribute float x2;
83   [SetterThrows]
84   attribute float y2;
87 interface SVGPathSegCurvetoCubicRel : SVGPathSeg {
88   [SetterThrows]
89   attribute float x;
90   [SetterThrows]
91   attribute float y;
92   [SetterThrows]
93   attribute float x1;
94   [SetterThrows]
95   attribute float y1;
96   [SetterThrows]
97   attribute float x2;
98   [SetterThrows]
99   attribute float y2;
102 interface SVGPathSegCurvetoQuadraticAbs : SVGPathSeg {
103   [SetterThrows]
104   attribute float x;
105   [SetterThrows]
106   attribute float y;
107   [SetterThrows]
108   attribute float x1;
109   [SetterThrows]
110   attribute float y1;
113 interface SVGPathSegCurvetoQuadraticRel : SVGPathSeg {
114   [SetterThrows]
115   attribute float x;
116   [SetterThrows]
117   attribute float y;
118   [SetterThrows]
119   attribute float x1;
120   [SetterThrows]
121   attribute float y1;
124 interface SVGPathSegArcAbs : SVGPathSeg {
125   [SetterThrows]
126   attribute float x;
127   [SetterThrows]
128   attribute float y;
129   [SetterThrows]
130   attribute float r1;
131   [SetterThrows]
132   attribute float r2;
133   [SetterThrows]
134   attribute float angle;
135   [SetterThrows]
136   attribute boolean largeArcFlag;
137   [SetterThrows]
138   attribute boolean sweepFlag;
141 interface SVGPathSegArcRel : SVGPathSeg {
142   [SetterThrows]
143   attribute float x;
144   [SetterThrows]
145   attribute float y;
146   [SetterThrows]
147   attribute float r1;
148   [SetterThrows]
149   attribute float r2;
150   [SetterThrows]
151   attribute float angle;
152   [SetterThrows]
153   attribute boolean largeArcFlag;
154   [SetterThrows]
155   attribute boolean sweepFlag;
158 interface SVGPathSegLinetoHorizontalAbs : SVGPathSeg {
159   [SetterThrows]
160   attribute float x;
163 interface SVGPathSegLinetoHorizontalRel : SVGPathSeg {
164   [SetterThrows]
165   attribute float x;
168 interface SVGPathSegLinetoVerticalAbs : SVGPathSeg {
169   [SetterThrows]
170   attribute float y;
173 interface SVGPathSegLinetoVerticalRel : SVGPathSeg {
174   [SetterThrows]
175   attribute float y;
178 interface SVGPathSegCurvetoCubicSmoothAbs : SVGPathSeg {
179   [SetterThrows]
180   attribute float x;
181   [SetterThrows]
182   attribute float y;
183   [SetterThrows]
184   attribute float x2;
185   [SetterThrows]
186   attribute float y2;
189 interface SVGPathSegCurvetoCubicSmoothRel : SVGPathSeg {
190   [SetterThrows]
191   attribute float x;
192   [SetterThrows]
193   attribute float y;
194   [SetterThrows]
195   attribute float x2;
196   [SetterThrows]
197   attribute float y2;
200 interface SVGPathSegCurvetoQuadraticSmoothAbs : SVGPathSeg {
201   [SetterThrows]
202   attribute float x;
203   [SetterThrows]
204   attribute float y;
207 interface SVGPathSegCurvetoQuadraticSmoothRel : SVGPathSeg {
208   [SetterThrows]
209   attribute float x;
210   [SetterThrows]
211   attribute float y;