Back to index

lightning-sunbird  0.9+nobinonly
nsIDOMSVGPathSeg.idl
Go to the documentation of this file.
00001 /* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
00002 /* ***** BEGIN LICENSE BLOCK *****
00003  * Version: MPL 1.1/GPL 2.0/LGPL 2.1
00004  *
00005  * The contents of this file are subject to the Mozilla Public License Version
00006  * 1.1 (the "License"); you may not use this file except in compliance with
00007  * the License. You may obtain a copy of the License at
00008  * http://www.mozilla.org/MPL/
00009  *
00010  * Software distributed under the License is distributed on an "AS IS" basis,
00011  * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
00012  * for the specific language governing rights and limitations under the
00013  * License.
00014  *
00015  * The Original Code is the Mozilla SVG project.
00016  *
00017  * The Initial Developer of the Original Code is
00018  * Crocodile Clips Ltd..
00019  * Portions created by the Initial Developer are Copyright (C) 2001
00020  * the Initial Developer. All Rights Reserved.
00021  *
00022  * Contributor(s):
00023  *   Alex Fritze <alex.fritze@crocodile-clips.com> (original author)
00024  *
00025  * Alternatively, the contents of this file may be used under the terms of
00026  * either of the GNU General Public License Version 2 or later (the "GPL"),
00027  * or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
00028  * in which case the provisions of the GPL or the LGPL are applicable instead
00029  * of those above. If you wish to allow use of your version of this file only
00030  * under the terms of either the GPL or the LGPL, and not to allow others to
00031  * use your version of this file under the terms of the MPL, indicate your
00032  * decision by deleting the provisions above and replace them with the notice
00033  * and other provisions required by the GPL or the LGPL. If you do not delete
00034  * the provisions above, a recipient may use your version of this file under
00035  * the terms of any one of the MPL, the GPL or the LGPL.
00036  *
00037  * ***** END LICENSE BLOCK ***** */
00038 
00039 #include "domstubs.idl"
00040 
00041 [scriptable, uuid(b9022da7-e26d-4df3-8c94-b45c4aedda7c)]
00042 interface nsIDOMSVGPathSeg : nsISupports
00043 { 
00044   // Path Segment Types
00045   const unsigned short PATHSEG_UNKNOWN                      = 0;
00046   const unsigned short PATHSEG_CLOSEPATH                    = 1;
00047   const unsigned short PATHSEG_MOVETO_ABS                   = 2;
00048   const unsigned short PATHSEG_MOVETO_REL                   = 3;
00049   const unsigned short PATHSEG_LINETO_ABS                   = 4;
00050   const unsigned short PATHSEG_LINETO_REL                   = 5;
00051   const unsigned short PATHSEG_CURVETO_CUBIC_ABS            = 6;
00052   const unsigned short PATHSEG_CURVETO_CUBIC_REL            = 7;
00053   const unsigned short PATHSEG_CURVETO_QUADRATIC_ABS        = 8;
00054   const unsigned short PATHSEG_CURVETO_QUADRATIC_REL        = 9;
00055   const unsigned short PATHSEG_ARC_ABS                      = 10;
00056   const unsigned short PATHSEG_ARC_REL                      = 11;
00057   const unsigned short PATHSEG_LINETO_HORIZONTAL_ABS        = 12;
00058   const unsigned short PATHSEG_LINETO_HORIZONTAL_REL        = 13;
00059   const unsigned short PATHSEG_LINETO_VERTICAL_ABS          = 14;
00060   const unsigned short PATHSEG_LINETO_VERTICAL_REL          = 15;
00061   const unsigned short PATHSEG_CURVETO_CUBIC_SMOOTH_ABS     = 16;
00062   const unsigned short PATHSEG_CURVETO_CUBIC_SMOOTH_REL     = 17;
00063   const unsigned short PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS = 18;
00064   const unsigned short PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL = 19;
00065 
00066   readonly attribute unsigned short pathSegType;
00067   readonly attribute DOMString      pathSegTypeAsLetter;
00068 };
00069 
00070 
00071 [scriptable, uuid(2b72d033-f115-45aa-9748-8c11ea07b845)]
00072 interface nsIDOMSVGPathSegClosePath : nsIDOMSVGPathSeg
00073 {
00074 };
00075 
00076 
00077 [scriptable, uuid(b0106d01-9746-440b-b067-68ee043dabc3)]
00078 interface nsIDOMSVGPathSegMovetoAbs : nsIDOMSVGPathSeg
00079 { 
00080   attribute float   x;
00081               // raises nsIDOMDOMException on setting
00082   attribute float   y;
00083               // raises nsIDOMDOMException on setting
00084 };
00085 
00086 [scriptable, uuid(c6ee1ddd-8b35-4e1b-b381-c063a28012d9)]
00087 interface nsIDOMSVGPathSegMovetoRel : nsIDOMSVGPathSeg
00088 { 
00089   attribute float   x;
00090               // raises nsIDOMDOMException on setting
00091   attribute float   y;
00092               // raises nsIDOMDOMException on setting
00093 };
00094 
00095 [scriptable, uuid(bac3648d-55a3-491b-9863-a18fd7506689)]
00096 interface nsIDOMSVGPathSegLinetoAbs : nsIDOMSVGPathSeg
00097 { 
00098   attribute float   x;
00099               // raises nsIDOMDOMException on setting
00100   attribute float   y;
00101               // raises nsIDOMDOMException on setting
00102 }; 
00103 
00104 [scriptable, uuid(3294d20e-c707-4e59-a625-bde93fc0b25f)]
00105 interface nsIDOMSVGPathSegLinetoRel : nsIDOMSVGPathSeg
00106 { 
00107   attribute float   x;
00108               // raises nsIDOMDOMException on setting
00109   attribute float   y;
00110               // raises nsIDOMDOMException on setting
00111 };
00112 
00113 [scriptable, uuid(ad929b96-ef81-4002-b596-c6a8b3a878e9)]
00114 interface nsIDOMSVGPathSegCurvetoCubicAbs : nsIDOMSVGPathSeg
00115 { 
00116   attribute float   x;
00117               // raises nsIDOMDOMException on setting
00118   attribute float   y;
00119               // raises nsIDOMDOMException on setting
00120   attribute float   x1;
00121               // raises nsIDOMDOMException on setting
00122   attribute float   y1;
00123               // raises nsIDOMDOMException on setting
00124   attribute float   x2;
00125               // raises nsIDOMDOMException on setting
00126   attribute float   y2;
00127               // raises nsIDOMDOMException on setting
00128 };
00129 
00130 [scriptable, uuid(dc7ba13f-8cb6-48d2-9e22-a4a6817abbb9)]
00131 interface nsIDOMSVGPathSegCurvetoCubicRel : nsIDOMSVGPathSeg
00132 { 
00133   attribute float   x;
00134               // raises nsIDOMDOMException on setting
00135   attribute float   y;
00136               // raises nsIDOMDOMException on setting
00137   attribute float   x1;
00138               // raises nsIDOMDOMException on setting
00139   attribute float   y1;
00140               // raises nsIDOMDOMException on setting
00141   attribute float   x2;
00142               // raises nsIDOMDOMException on setting
00143   attribute float   y2;
00144               // raises nsIDOMDOMException on setting
00145 };
00146 
00147 [scriptable, uuid(ec4e8f65-5f4a-495e-a5f2-00e18d5e5f96)]
00148 interface nsIDOMSVGPathSegCurvetoQuadraticAbs : nsIDOMSVGPathSeg
00149 { 
00150   attribute float   x;
00151               // raises nsIDOMDOMException on setting
00152   attribute float   y;
00153               // raises nsIDOMDOMException on setting
00154   attribute float   x1;
00155               // raises nsIDOMDOMException on setting
00156   attribute float   y1;
00157               // raises nsIDOMDOMException on setting
00158 };
00159 
00160 [scriptable, uuid(7007113c-e06b-4256-8530-4884d5d769c6)]
00161 interface nsIDOMSVGPathSegCurvetoQuadraticRel : nsIDOMSVGPathSeg
00162 { 
00163   attribute float   x;
00164               // raises nsIDOMDOMException on setting
00165   attribute float   y;
00166               // raises nsIDOMDOMException on setting
00167   attribute float   x1;
00168   // raises nsIDOMDOMException on setting
00169   attribute float   y1;
00170   // raises nsIDOMDOMException on setting
00171 };
00172 
00173 [scriptable, uuid(c26e1779-604b-4bad-8a29-02d2a2113769)]
00174 interface nsIDOMSVGPathSegArcAbs : nsIDOMSVGPathSeg
00175 { 
00176   attribute float   x;
00177               // raises nsIDOMDOMException on setting
00178   attribute float   y;
00179               // raises nsIDOMDOMException on setting
00180   attribute float   r1;
00181               // raises nsIDOMDOMException on setting
00182   attribute float   r2;
00183               // raises nsIDOMDOMException on setting
00184   attribute float   angle;
00185               // raises nsIDOMDOMException on setting
00186   attribute boolean largeArcFlag;
00187               // raises nsIDOMDOMException on setting
00188   attribute boolean sweepFlag;
00189               // raises nsIDOMDOMException on setting
00190 };
00191 
00192 [scriptable, uuid(a685997e-fb47-47c0-a34c-5da11cb66537)]
00193 interface nsIDOMSVGPathSegArcRel : nsIDOMSVGPathSeg
00194 { 
00195   attribute float   x;
00196               // raises nsIDOMDOMException on setting
00197   attribute float   y;
00198               // raises nsIDOMDOMException on setting
00199   attribute float   r1;
00200               // raises nsIDOMDOMException on setting
00201   attribute float   r2;
00202               // raises nsIDOMDOMException on setting
00203   attribute float   angle;
00204               // raises nsIDOMDOMException on setting
00205   attribute boolean largeArcFlag;
00206               // raises nsIDOMDOMException on setting
00207   attribute boolean sweepFlag;
00208               // raises nsIDOMDOMException on setting
00209 };
00210 
00211 [scriptable, uuid(e74b55ef-1c44-4a40-9f51-a2196b11283a)]
00212 interface nsIDOMSVGPathSegLinetoHorizontalAbs : nsIDOMSVGPathSeg
00213 { 
00214   attribute float   x;
00215               // raises nsIDOMDOMException on setting
00216 };
00217 
00218 [scriptable, uuid(0a797fdc-8b60-4cb3-a0da-4c898832ba30)]
00219 interface nsIDOMSVGPathSegLinetoHorizontalRel : nsIDOMSVGPathSeg
00220 { 
00221   attribute float   x;
00222               // raises nsIDOMDOMException on setting
00223 };
00224 
00225 [scriptable, uuid(0811d434-3d90-4eec-8fa2-066dde037917)]
00226 interface nsIDOMSVGPathSegLinetoVerticalAbs : nsIDOMSVGPathSeg
00227 { 
00228   attribute float   y;
00229               // raises nsIDOMDOMException on setting
00230 };
00231 
00232 [scriptable, uuid(93db35b1-6b33-49d5-ad25-1ed1a7611ad2)]
00233 interface nsIDOMSVGPathSegLinetoVerticalRel : nsIDOMSVGPathSeg
00234 { 
00235   attribute float   y;
00236               // raises nsIDOMDOMException on setting
00237 };
00238 
00239 [scriptable, uuid(eb422132-514e-4a1c-81ec-b84a5df5fb96)]
00240 interface nsIDOMSVGPathSegCurvetoCubicSmoothAbs : nsIDOMSVGPathSeg
00241 { 
00242   attribute float   x;
00243               // raises nsIDOMDOMException on setting
00244   attribute float   y;
00245               // raises nsIDOMDOMException on setting
00246   attribute float   x2;
00247               // raises nsIDOMDOMException on setting
00248   attribute float   y2;
00249               // raises nsIDOMDOMException on setting
00250 };
00251 
00252 [scriptable, uuid(5860bccd-f86b-47f8-86c1-cb1245b6a8e1)]
00253 interface nsIDOMSVGPathSegCurvetoCubicSmoothRel : nsIDOMSVGPathSeg
00254 { 
00255   attribute float   x;
00256               // raises nsIDOMDOMException on setting
00257   attribute float   y;
00258               // raises nsIDOMDOMException on setting
00259   attribute float   x2;
00260               // raises nsIDOMDOMException on setting
00261   attribute float   y2;
00262               // raises nsIDOMDOMException on setting
00263 };
00264 
00265 [scriptable, uuid(3ce86063-0a35-48ec-b372-f198b7d04755)]
00266 interface nsIDOMSVGPathSegCurvetoQuadraticSmoothAbs : nsIDOMSVGPathSeg
00267 { 
00268   attribute float   x;
00269               // raises nsIDOMDOMException on setting
00270   attribute float   y;
00271               // raises nsIDOMDOMException on setting
00272 };
00273 
00274 [scriptable, uuid(5c0e4d25-a9f1-4aab-936c-2b61ed6c085f)]
00275 interface nsIDOMSVGPathSegCurvetoQuadraticSmoothRel : nsIDOMSVGPathSeg
00276 { 
00277   attribute float   x;
00278               // raises nsIDOMDOMException on setting
00279   attribute float   y;
00280               // raises nsIDOMDOMException on setting
00281 };