Bug 1885602 - Part 5: Implement navigating to the SUMO help topic from the menu heade...
[gecko.git] / dom / webidl / SVGPathSeg.webidl
blobaf0fb3984731643e5c1d4d2b4c868cb4a92043a9
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 [LegacyNoInterfaceObject,
14  Exposed=Window]
15 interface SVGPathSeg {
17   // Path Segment Types
18   const unsigned short PATHSEG_UNKNOWN = 0;
19   const unsigned short PATHSEG_CLOSEPATH = 1;
20   const unsigned short PATHSEG_MOVETO_ABS = 2;
21   const unsigned short PATHSEG_MOVETO_REL = 3;
22   const unsigned short PATHSEG_LINETO_ABS = 4;
23   const unsigned short PATHSEG_LINETO_REL = 5;
24   const unsigned short PATHSEG_CURVETO_CUBIC_ABS = 6;
25   const unsigned short PATHSEG_CURVETO_CUBIC_REL = 7;
26   const unsigned short PATHSEG_CURVETO_QUADRATIC_ABS = 8;
27   const unsigned short PATHSEG_CURVETO_QUADRATIC_REL = 9;
28   const unsigned short PATHSEG_ARC_ABS = 10;
29   const unsigned short PATHSEG_ARC_REL = 11;
30   const unsigned short PATHSEG_LINETO_HORIZONTAL_ABS = 12;
31   const unsigned short PATHSEG_LINETO_HORIZONTAL_REL = 13;
32   const unsigned short PATHSEG_LINETO_VERTICAL_ABS = 14;
33   const unsigned short PATHSEG_LINETO_VERTICAL_REL = 15;
34   const unsigned short PATHSEG_CURVETO_CUBIC_SMOOTH_ABS = 16;
35   const unsigned short PATHSEG_CURVETO_CUBIC_SMOOTH_REL = 17;
36   const unsigned short PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS = 18;
37   const unsigned short PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL = 19;
39   [Pure]
40   readonly attribute unsigned short pathSegType;
41   [Pure]
42   readonly attribute DOMString pathSegTypeAsLetter;
45 [LegacyNoInterfaceObject,
46  Exposed=Window]
47 interface SVGPathSegClosePath : SVGPathSeg {
50 [LegacyNoInterfaceObject,
51  Exposed=Window]
52 interface SVGPathSegMovetoAbs : SVGPathSeg {
53   [SetterThrows]
54   attribute float x;
55   [SetterThrows]
56   attribute float y;
59 [LegacyNoInterfaceObject,
60  Exposed=Window]
61 interface SVGPathSegMovetoRel : SVGPathSeg {
62   [SetterThrows]
63   attribute float x;
64   [SetterThrows]
65   attribute float y;
68 [LegacyNoInterfaceObject,
69  Exposed=Window]
70 interface SVGPathSegLinetoAbs : SVGPathSeg {
71   [SetterThrows]
72   attribute float x;
73   [SetterThrows]
74   attribute float y;
77 [LegacyNoInterfaceObject,
78  Exposed=Window]
79 interface SVGPathSegLinetoRel : SVGPathSeg {
80   [SetterThrows]
81   attribute float x;
82   [SetterThrows]
83   attribute float y;
86 [LegacyNoInterfaceObject,
87  Exposed=Window]
88 interface SVGPathSegCurvetoCubicAbs : SVGPathSeg {
89   [SetterThrows]
90   attribute float x;
91   [SetterThrows]
92   attribute float y;
93   [SetterThrows]
94   attribute float x1;
95   [SetterThrows]
96   attribute float y1;
97   [SetterThrows]
98   attribute float x2;
99   [SetterThrows]
100   attribute float y2;
103 [LegacyNoInterfaceObject,
104  Exposed=Window]
105 interface SVGPathSegCurvetoCubicRel : SVGPathSeg {
106   [SetterThrows]
107   attribute float x;
108   [SetterThrows]
109   attribute float y;
110   [SetterThrows]
111   attribute float x1;
112   [SetterThrows]
113   attribute float y1;
114   [SetterThrows]
115   attribute float x2;
116   [SetterThrows]
117   attribute float y2;
120 [LegacyNoInterfaceObject,
121  Exposed=Window]
122 interface SVGPathSegCurvetoQuadraticAbs : SVGPathSeg {
123   [SetterThrows]
124   attribute float x;
125   [SetterThrows]
126   attribute float y;
127   [SetterThrows]
128   attribute float x1;
129   [SetterThrows]
130   attribute float y1;
133 [LegacyNoInterfaceObject,
134  Exposed=Window]
135 interface SVGPathSegCurvetoQuadraticRel : SVGPathSeg {
136   [SetterThrows]
137   attribute float x;
138   [SetterThrows]
139   attribute float y;
140   [SetterThrows]
141   attribute float x1;
142   [SetterThrows]
143   attribute float y1;
146 [LegacyNoInterfaceObject,
147  Exposed=Window]
148 interface SVGPathSegArcAbs : SVGPathSeg {
149   [SetterThrows]
150   attribute float x;
151   [SetterThrows]
152   attribute float y;
153   [SetterThrows]
154   attribute float r1;
155   [SetterThrows]
156   attribute float r2;
157   [SetterThrows]
158   attribute float angle;
159   [SetterThrows]
160   attribute boolean largeArcFlag;
161   [SetterThrows]
162   attribute boolean sweepFlag;
165 [LegacyNoInterfaceObject,
166  Exposed=Window]
167 interface SVGPathSegArcRel : SVGPathSeg {
168   [SetterThrows]
169   attribute float x;
170   [SetterThrows]
171   attribute float y;
172   [SetterThrows]
173   attribute float r1;
174   [SetterThrows]
175   attribute float r2;
176   [SetterThrows]
177   attribute float angle;
178   [SetterThrows]
179   attribute boolean largeArcFlag;
180   [SetterThrows]
181   attribute boolean sweepFlag;
184 [LegacyNoInterfaceObject,
185  Exposed=Window]
186 interface SVGPathSegLinetoHorizontalAbs : SVGPathSeg {
187   [SetterThrows]
188   attribute float x;
191 [LegacyNoInterfaceObject,
192  Exposed=Window]
193 interface SVGPathSegLinetoHorizontalRel : SVGPathSeg {
194   [SetterThrows]
195   attribute float x;
198 [LegacyNoInterfaceObject,
199  Exposed=Window]
200 interface SVGPathSegLinetoVerticalAbs : SVGPathSeg {
201   [SetterThrows]
202   attribute float y;
205 [LegacyNoInterfaceObject,
206  Exposed=Window]
207 interface SVGPathSegLinetoVerticalRel : SVGPathSeg {
208   [SetterThrows]
209   attribute float y;
212 [LegacyNoInterfaceObject,
213  Exposed=Window]
214 interface SVGPathSegCurvetoCubicSmoothAbs : SVGPathSeg {
215   [SetterThrows]
216   attribute float x;
217   [SetterThrows]
218   attribute float y;
219   [SetterThrows]
220   attribute float x2;
221   [SetterThrows]
222   attribute float y2;
225 [LegacyNoInterfaceObject,
226  Exposed=Window]
227 interface SVGPathSegCurvetoCubicSmoothRel : SVGPathSeg {
228   [SetterThrows]
229   attribute float x;
230   [SetterThrows]
231   attribute float y;
232   [SetterThrows]
233   attribute float x2;
234   [SetterThrows]
235   attribute float y2;
238 [LegacyNoInterfaceObject,
239  Exposed=Window]
240 interface SVGPathSegCurvetoQuadraticSmoothAbs : SVGPathSeg {
241   [SetterThrows]
242   attribute float x;
243   [SetterThrows]
244   attribute float y;
247 [LegacyNoInterfaceObject,
248  Exposed=Window]
249 interface SVGPathSegCurvetoQuadraticSmoothRel : SVGPathSeg {
250   [SetterThrows]
251   attribute float x;
252   [SetterThrows]
253   attribute float y;