/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ /* ----- BEGIN LICENSE BLOCK ----- * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * * The contents of this file are subject to the Mozilla Public License * Version 1.1 (the "License"); you may not use this file except in * compliance with the License. You may obtain a copy of the License at * http://www.mozilla.org/MPL/ * * Software distributed under the License is distributed on an "AS IS" basis, * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License * for the specific language governing rights and limitations under the * License. * * The Original Code is the Mozilla SVG project. * * The Initial Developer of the Original Code is * Crocodile Clips Ltd.. * Portions created by the Initial Developer are Copyright (C) 2001 * the Initial Developer. All Rights Reserved. * * Contributor(s): * Alex Fritze (original author) * * Alternatively, the contents of this file may be used under the terms of * either the GNU General Public License Version 2 or later (the "GPL"), or * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), * in which case the provisions of the GPL or the LGPL are applicable instead * of those above. If you wish to allow use of your version of this file only * under the terms of either the GPL or the LGPL, and not to allow others to * use your version of this file under the terms of the NPL, indicate your * decision by deleting the provisions above and replace them with the notice * and other provisions required by the GPL or the LGPL. If you do not delete * the provisions above, a recipient may use your version of this file under * the terms of any one of the MPL, the GPL or the LGPL. * * ----- END LICENSE BLOCK ----- */ #include "domstubs.idl" [scriptable, uuid(b9022da7-e26d-4df3-8c94-b45c4aedda7c)] interface nsIDOMSVGPathSeg : nsISupports { // Path Segment Types const unsigned short PATHSEG_UNKNOWN = 0; const unsigned short PATHSEG_CLOSEPATH = 1; const unsigned short PATHSEG_MOVETO_ABS = 2; const unsigned short PATHSEG_MOVETO_REL = 3; const unsigned short PATHSEG_LINETO_ABS = 4; const unsigned short PATHSEG_LINETO_REL = 5; const unsigned short PATHSEG_CURVETO_CUBIC_ABS = 6; const unsigned short PATHSEG_CURVETO_CUBIC_REL = 7; const unsigned short PATHSEG_CURVETO_QUADRATIC_ABS = 8; const unsigned short PATHSEG_CURVETO_QUADRATIC_REL = 9; const unsigned short PATHSEG_ARC_ABS = 10; const unsigned short PATHSEG_ARC_REL = 11; const unsigned short PATHSEG_LINETO_HORIZONTAL_ABS = 12; const unsigned short PATHSEG_LINETO_HORIZONTAL_REL = 13; const unsigned short PATHSEG_LINETO_VERTICAL_ABS = 14; const unsigned short PATHSEG_LINETO_VERTICAL_REL = 15; const unsigned short PATHSEG_CURVETO_CUBIC_SMOOTH_ABS = 16; const unsigned short PATHSEG_CURVETO_CUBIC_SMOOTH_REL = 17; const unsigned short PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS = 18; const unsigned short PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL = 19; readonly attribute unsigned short pathSegType; readonly attribute DOMString pathSegTypeAsLetter; }; [scriptable, uuid(2b72d033-f115-45aa-9748-8c11ea07b845)] interface nsIDOMSVGPathSegClosePath : nsIDOMSVGPathSeg { }; [scriptable, uuid(b0106d01-9746-440b-b067-68ee043dabc3)] interface nsIDOMSVGPathSegMovetoAbs : nsIDOMSVGPathSeg { attribute float x; // raises nsIDOMDOMException on setting attribute float y; // raises nsIDOMDOMException on setting }; [scriptable, uuid(c6ee1ddd-8b35-4e1b-b381-c063a28012d9)] interface nsIDOMSVGPathSegMovetoRel : nsIDOMSVGPathSeg { attribute float x; // raises nsIDOMDOMException on setting attribute float y; // raises nsIDOMDOMException on setting }; [scriptable, uuid(bac3648d-55a3-491b-9863-a18fd7506689)] interface nsIDOMSVGPathSegLinetoAbs : nsIDOMSVGPathSeg { attribute float x; // raises nsIDOMDOMException on setting attribute float y; // raises nsIDOMDOMException on setting }; [scriptable, uuid(3294d20e-c707-4e59-a625-bde93fc0b25f)] interface nsIDOMSVGPathSegLinetoRel : nsIDOMSVGPathSeg { attribute float x; // raises nsIDOMDOMException on setting attribute float y; // raises nsIDOMDOMException on setting }; [scriptable, uuid(ad929b96-ef81-4002-b596-c6a8b3a878e9)] interface nsIDOMSVGPathSegCurvetoCubicAbs : nsIDOMSVGPathSeg { attribute float x; // raises nsIDOMDOMException on setting attribute float y; // raises nsIDOMDOMException on setting attribute float x1; // raises nsIDOMDOMException on setting attribute float y1; // raises nsIDOMDOMException on setting attribute float x2; // raises nsIDOMDOMException on setting attribute float y2; // raises nsIDOMDOMException on setting }; [scriptable, uuid(dc7ba13f-8cb6-48d2-9e22-a4a6817abbb9)] interface nsIDOMSVGPathSegCurvetoCubicRel : nsIDOMSVGPathSeg { attribute float x; // raises nsIDOMDOMException on setting attribute float y; // raises nsIDOMDOMException on setting attribute float x1; // raises nsIDOMDOMException on setting attribute float y1; // raises nsIDOMDOMException on setting attribute float x2; // raises nsIDOMDOMException on setting attribute float y2; // raises nsIDOMDOMException on setting }; [scriptable, uuid(ec4e8f65-5f4a-495e-a5f2-00e18d5e5f96)] interface nsIDOMSVGPathSegCurvetoQuadraticAbs : nsIDOMSVGPathSeg { attribute float x; // raises nsIDOMDOMException on setting attribute float y; // raises nsIDOMDOMException on setting attribute float x1; // raises nsIDOMDOMException on setting attribute float y1; // raises nsIDOMDOMException on setting }; [scriptable, uuid(7007113c-e06b-4256-8530-4884d5d769c6)] interface nsIDOMSVGPathSegCurvetoQuadraticRel : nsIDOMSVGPathSeg { attribute float x; // raises nsIDOMDOMException on setting attribute float y; // raises nsIDOMDOMException on setting attribute float x1; // raises nsIDOMDOMException on setting attribute float y1; // raises nsIDOMDOMException on setting }; [scriptable, uuid(c26e1779-604b-4bad-8a29-02d2a2113769)] interface nsIDOMSVGPathSegArcAbs : nsIDOMSVGPathSeg { attribute float x; // raises nsIDOMDOMException on setting attribute float y; // raises nsIDOMDOMException on setting attribute float r1; // raises nsIDOMDOMException on setting attribute float r2; // raises nsIDOMDOMException on setting attribute float angle; // raises nsIDOMDOMException on setting attribute boolean largeArcFlag; // raises nsIDOMDOMException on setting attribute boolean sweepFlag; // raises nsIDOMDOMException on setting }; [scriptable, uuid(a685997e-fb47-47c0-a34c-5da11cb66537)] interface nsIDOMSVGPathSegArcRel : nsIDOMSVGPathSeg { attribute float x; // raises nsIDOMDOMException on setting attribute float y; // raises nsIDOMDOMException on setting attribute float r1; // raises nsIDOMDOMException on setting attribute float r2; // raises nsIDOMDOMException on setting attribute float angle; // raises nsIDOMDOMException on setting attribute boolean largeArcFlag; // raises nsIDOMDOMException on setting attribute boolean sweepFlag; // raises nsIDOMDOMException on setting }; [scriptable, uuid(e74b55ef-1c44-4a40-9f51-a2196b11283a)] interface nsIDOMSVGPathSegLinetoHorizontalAbs : nsIDOMSVGPathSeg { attribute float x; // raises nsIDOMDOMException on setting }; [scriptable, uuid(0a797fdc-8b60-4cb3-a0da-4c898832ba30)] interface nsIDOMSVGPathSegLinetoHorizontalRel : nsIDOMSVGPathSeg { attribute float x; // raises nsIDOMDOMException on setting }; [scriptable, uuid(0811d434-3d90-4eec-8fa2-066dde037917)] interface nsIDOMSVGPathSegLinetoVerticalAbs : nsIDOMSVGPathSeg { attribute float y; // raises nsIDOMDOMException on setting }; [scriptable, uuid(93db35b1-6b33-49d5-ad25-1ed1a7611ad2)] interface nsIDOMSVGPathSegLinetoVerticalRel : nsIDOMSVGPathSeg { attribute float y; // raises nsIDOMDOMException on setting }; [scriptable, uuid(eb422132-514e-4a1c-81ec-b84a5df5fb96)] interface nsIDOMSVGPathSegCurvetoCubicSmoothAbs : nsIDOMSVGPathSeg { attribute float x; // raises nsIDOMDOMException on setting attribute float y; // raises nsIDOMDOMException on setting attribute float x2; // raises nsIDOMDOMException on setting attribute float y2; // raises nsIDOMDOMException on setting }; [scriptable, uuid(5860bccd-f86b-47f8-86c1-cb1245b6a8e1)] interface nsIDOMSVGPathSegCurvetoCubicSmoothRel : nsIDOMSVGPathSeg { attribute float x; // raises nsIDOMDOMException on setting attribute float y; // raises nsIDOMDOMException on setting attribute float x2; // raises nsIDOMDOMException on setting attribute float y2; // raises nsIDOMDOMException on setting }; [scriptable, uuid(3ce86063-0a35-48ec-b372-f198b7d04755)] interface nsIDOMSVGPathSegCurvetoQuadraticSmoothAbs : nsIDOMSVGPathSeg { attribute float x; // raises nsIDOMDOMException on setting attribute float y; // raises nsIDOMDOMException on setting }; [scriptable, uuid(5c0e4d25-a9f1-4aab-936c-2b61ed6c085f)] interface nsIDOMSVGPathSegCurvetoQuadraticSmoothRel : nsIDOMSVGPathSeg { attribute float x; // raises nsIDOMDOMException on setting attribute float y; // raises nsIDOMDOMException on setting };