From d7b20dbc43426d5f16c8dcc99cccdf3d9f80e232 Mon Sep 17 00:00:00 2001 From: "alex.fritze%crocodile-clips.com" Date: Mon, 7 Jan 2002 13:52:14 +0000 Subject: [PATCH] [SVG only] Add DOM interfaces needed for SVG text support. git-svn-id: svn://10.0.0.236/trunk@111484 18797224-902f-48f8-a5cc-f745e15eee43 --- mozilla/dom/public/idl/svg/MANIFEST_IDL | 10 +++ mozilla/dom/public/idl/svg/Makefile.in | 16 +++- mozilla/dom/public/idl/svg/makefile.win | 78 +++++++++------- .../idl/svg/nsIDOMSVGAnimatedEnumeration.idl | 47 ++++++++++ .../idl/svg/nsIDOMSVGAnimatedLengthList.idl | 48 ++++++++++ .../idl/svg/nsIDOMSVGAnimatedNumberList.idl | 48 ++++++++++ .../public/idl/svg/nsIDOMSVGLengthList.idl | 63 +++++++++++++ .../dom/public/idl/svg/nsIDOMSVGNumber.idl | 50 +++++++++++ .../public/idl/svg/nsIDOMSVGNumberList.idl | 63 +++++++++++++ .../public/idl/svg/nsIDOMSVGTSpanElement.idl | 44 ++++++++++ .../idl/svg/nsIDOMSVGTextContentElement.idl | 88 +++++++++++++++++++ .../public/idl/svg/nsIDOMSVGTextElement.idl | 54 ++++++++++++ .../idl/svg/nsIDOMSVGTextPositioningElem.idl | 52 +++++++++++ 13 files changed, 624 insertions(+), 37 deletions(-) create mode 100644 mozilla/dom/public/idl/svg/nsIDOMSVGAnimatedEnumeration.idl create mode 100644 mozilla/dom/public/idl/svg/nsIDOMSVGAnimatedLengthList.idl create mode 100644 mozilla/dom/public/idl/svg/nsIDOMSVGAnimatedNumberList.idl create mode 100644 mozilla/dom/public/idl/svg/nsIDOMSVGLengthList.idl create mode 100644 mozilla/dom/public/idl/svg/nsIDOMSVGNumber.idl create mode 100644 mozilla/dom/public/idl/svg/nsIDOMSVGNumberList.idl create mode 100644 mozilla/dom/public/idl/svg/nsIDOMSVGTSpanElement.idl create mode 100644 mozilla/dom/public/idl/svg/nsIDOMSVGTextContentElement.idl create mode 100644 mozilla/dom/public/idl/svg/nsIDOMSVGTextElement.idl create mode 100644 mozilla/dom/public/idl/svg/nsIDOMSVGTextPositioningElem.idl diff --git a/mozilla/dom/public/idl/svg/MANIFEST_IDL b/mozilla/dom/public/idl/svg/MANIFEST_IDL index c3d0d755d3b..b67855da3c5 100644 --- a/mozilla/dom/public/idl/svg/MANIFEST_IDL +++ b/mozilla/dom/public/idl/svg/MANIFEST_IDL @@ -1,4 +1,7 @@ +nsIDOMSVGAnimatedEnumeration.idl nsIDOMSVGAnimatedLength.idl +nsIDOMSVGAnimatedLengthList.idl +nsIDOMSVGAnimatedNumberList.idl nsIDOMSVGAnimatedPathData.idl nsIDOMSVGAnimatedPoints.idl nsIDOMSVGAnimPresAspRatio.idl @@ -12,9 +15,12 @@ nsIDOMSVGFitToViewBox.idl nsIDOMSVGForeignObjectElem.idl nsIDOMSVGGElement.idl nsIDOMSVGLength.idl +nsIDOMSVGLengthList.idl nsIDOMSVGLineElement.idl nsIDOMSVGLocatable.idl nsIDOMSVGMatrix.idl +nsIDOMSVGNumber.idl +nsIDOMSVGNumberList.idl nsIDOMSVGPathElement.idl nsIDOMSVGPathSeg.idl nsIDOMSVGPathSegList.idl @@ -27,6 +33,10 @@ nsIDOMSVGRect.idl nsIDOMSVGRectElement.idl nsIDOMSVGSVGElement.idl nsIDOMSVGStylable.idl +nsIDOMSVGTextContentElement.idl +nsIDOMSVGTextElement.idl +nsIDOMSVGTextPositioningElem.idl nsIDOMSVGTransform.idl nsIDOMSVGTransformList.idl nsIDOMSVGTransformable.idl +nsIDOMSVGTSpanElement.idl diff --git a/mozilla/dom/public/idl/svg/Makefile.in b/mozilla/dom/public/idl/svg/Makefile.in index 42aa20769ef..5dfa1982577 100644 --- a/mozilla/dom/public/idl/svg/Makefile.in +++ b/mozilla/dom/public/idl/svg/Makefile.in @@ -30,7 +30,10 @@ XPIDL_MODULE = dom_svg XPIDLSRCS = \ + nsIDOMSVGAnimatedEnumeration.idl \ nsIDOMSVGAnimatedLength.idl \ + nsIDOMSVGAnimatedLengthList.idl \ + nsIDOMSVGAnimatedNumberList.idl \ nsIDOMSVGAnimatedPathData.idl \ nsIDOMSVGAnimatedPoints.idl \ nsIDOMSVGAnimPresAspRatio.idl \ @@ -44,9 +47,12 @@ XPIDLSRCS = \ nsIDOMSVGForeignObjectElem.idl \ nsIDOMSVGGElement.idl \ nsIDOMSVGLength.idl \ + nsIDOMSVGLengthList.idl \ nsIDOMSVGLineElement.idl \ nsIDOMSVGLocatable.idl \ nsIDOMSVGMatrix.idl \ + nsIDOMSVGNumber.idl \ + nsIDOMSVGNumberList.idl \ nsIDOMSVGPathElement.idl \ nsIDOMSVGPathSeg.idl \ nsIDOMSVGPathSegList.idl \ @@ -56,12 +62,16 @@ XPIDLSRCS = \ nsIDOMSVGPolylineElement.idl \ nsIDOMSVGPresAspectRatio.idl \ nsIDOMSVGRect.idl \ - nsIDOMSVGRectElement.idl \ + nsIDOMSVGRectElement.idl \ nsIDOMSVGSVGElement.idl \ - nsIDOMSVGStylable.idl \ + nsIDOMSVGStylable.idl \ + nsIDOMSVGTextContentElement.idl \ + nsIDOMSVGTextElement.idl \ + nsIDOMSVGTextPositioningElem.idl \ nsIDOMSVGTransform.idl \ nsIDOMSVGTransformList.idl \ - nsIDOMSVGTransformable.idl \ + nsIDOMSVGTransformable.idl \ + nsIDOMSVGTSpanElement.idl \ $(NULL) include $(topsrcdir)/config/rules.mk diff --git a/mozilla/dom/public/idl/svg/makefile.win b/mozilla/dom/public/idl/svg/makefile.win index acaf36526c8..5e5a60aa1ef 100644 --- a/mozilla/dom/public/idl/svg/makefile.win +++ b/mozilla/dom/public/idl/svg/makefile.win @@ -27,39 +27,49 @@ DEPTH=..\..\..\.. MODULE=dom XPIDL_MODULE=dom_svg -XPIDLSRCS = \ - .\nsIDOMSVGAnimatedLength.idl \ - .\nsIDOMSVGAnimatedPathData.idl \ - .\nsIDOMSVGAnimatedPoints.idl \ - .\nsIDOMSVGAnimPresAspRatio.idl \ - .\nsIDOMSVGAnimatedRect.idl \ - .\nsIDOMSVGAnimTransformList.idl \ - .\nsIDOMSVGCircleElement.idl \ - .\nsIDOMSVGDocument.idl \ - .\nsIDOMSVGElement.idl \ - .\nsIDOMSVGEllipseElement.idl \ - .\nsIDOMSVGFitToViewBox.idl \ - .\nsIDOMSVGForeignObjectElem.idl \ - .\nsIDOMSVGGElement.idl \ - .\nsIDOMSVGLength.idl \ - .\nsIDOMSVGLineElement.idl \ - .\nsIDOMSVGLocatable.idl \ - .\nsIDOMSVGMatrix.idl \ - .\nsIDOMSVGPathElement.idl \ - .\nsIDOMSVGPathSeg.idl \ - .\nsIDOMSVGPathSegList.idl \ - .\nsIDOMSVGPoint.idl \ - .\nsIDOMSVGPointList.idl \ - .\nsIDOMSVGPolygonElement.idl \ - .\nsIDOMSVGPolylineElement.idl \ - .\nsIDOMSVGPresAspectRatio.idl \ - .\nsIDOMSVGRect.idl \ - .\nsIDOMSVGRectElement.idl \ - .\nsIDOMSVGSVGElement.idl \ - .\nsIDOMSVGStylable.idl \ - .\nsIDOMSVGTransform.idl \ - .\nsIDOMSVGTransformList.idl \ - .\nsIDOMSVGTransformable.idl \ - $(NULL) +XPIDLSRCS = \ + .\nsIDOMSVGAnimatedEnumeration.idl \ + .\nsIDOMSVGAnimatedLength.idl \ + .\nsIDOMSVGAnimatedLengthList.idl \ + .\nsIDOMSVGAnimatedNumberList.idl \ + .\nsIDOMSVGAnimatedPathData.idl \ + .\nsIDOMSVGAnimatedPoints.idl \ + .\nsIDOMSVGAnimPresAspRatio.idl \ + .\nsIDOMSVGAnimatedRect.idl \ + .\nsIDOMSVGAnimTransformList.idl \ + .\nsIDOMSVGCircleElement.idl \ + .\nsIDOMSVGDocument.idl \ + .\nsIDOMSVGElement.idl \ + .\nsIDOMSVGEllipseElement.idl \ + .\nsIDOMSVGFitToViewBox.idl \ + .\nsIDOMSVGForeignObjectElem.idl \ + .\nsIDOMSVGGElement.idl \ + .\nsIDOMSVGLength.idl \ + .\nsIDOMSVGLengthList.idl \ + .\nsIDOMSVGLineElement.idl \ + .\nsIDOMSVGLocatable.idl \ + .\nsIDOMSVGMatrix.idl \ + .\nsIDOMSVGNumber.idl \ + .\nsIDOMSVGNumberList.idl \ + .\nsIDOMSVGPathElement.idl \ + .\nsIDOMSVGPathSeg.idl \ + .\nsIDOMSVGPathSegList.idl \ + .\nsIDOMSVGPoint.idl \ + .\nsIDOMSVGPointList.idl \ + .\nsIDOMSVGPolygonElement.idl \ + .\nsIDOMSVGPolylineElement.idl \ + .\nsIDOMSVGPresAspectRatio.idl \ + .\nsIDOMSVGRect.idl \ + .\nsIDOMSVGRectElement.idl \ + .\nsIDOMSVGSVGElement.idl \ + .\nsIDOMSVGStylable.idl \ + .\nsIDOMSVGTextContentElement.idl \ + .\nsIDOMSVGTextElement.idl \ + .\nsIDOMSVGTextPositioningElem.idl \ + .\nsIDOMSVGTransform.idl \ + .\nsIDOMSVGTransformList.idl \ + .\nsIDOMSVGTransformable.idl \ + .\nsIDOMSVGTSpanElement.idl \ + $(NULL) include <$(DEPTH)\config\rules.mak> diff --git a/mozilla/dom/public/idl/svg/nsIDOMSVGAnimatedEnumeration.idl b/mozilla/dom/public/idl/svg/nsIDOMSVGAnimatedEnumeration.idl new file mode 100644 index 00000000000..7beecde0449 --- /dev/null +++ b/mozilla/dom/public/idl/svg/nsIDOMSVGAnimatedEnumeration.idl @@ -0,0 +1,47 @@ +/* -*- 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(73b101bd-797b-470f-9308-c24c64278bcd)] +interface nsIDOMSVGAnimatedEnumeration : nsISupports +{ + attribute unsigned short baseVal; + // raises DOMException on setting + readonly attribute unsigned short animVal; +}; diff --git a/mozilla/dom/public/idl/svg/nsIDOMSVGAnimatedLengthList.idl b/mozilla/dom/public/idl/svg/nsIDOMSVGAnimatedLengthList.idl new file mode 100644 index 00000000000..0e80e4cdb57 --- /dev/null +++ b/mozilla/dom/public/idl/svg/nsIDOMSVGAnimatedLengthList.idl @@ -0,0 +1,48 @@ +/* -*- 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" + +interface nsIDOMSVGLengthList; + +[scriptable, uuid(bfa6e42b-bc9d-404d-8688-729fdbfff801)] +interface nsIDOMSVGAnimatedLengthList : nsISupports +{ + readonly attribute nsIDOMSVGLengthList baseVal; + readonly attribute nsIDOMSVGLengthList animVal; +}; diff --git a/mozilla/dom/public/idl/svg/nsIDOMSVGAnimatedNumberList.idl b/mozilla/dom/public/idl/svg/nsIDOMSVGAnimatedNumberList.idl new file mode 100644 index 00000000000..9cd6cfff5ab --- /dev/null +++ b/mozilla/dom/public/idl/svg/nsIDOMSVGAnimatedNumberList.idl @@ -0,0 +1,48 @@ +/* -*- 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" + +interface nsIDOMSVGNumberList; + +[scriptable, uuid(93ebb030-f82d-4f8e-b133-d1b5abb73cf3)] +interface nsIDOMSVGAnimatedNumberList : nsISupports +{ + readonly attribute nsIDOMSVGNumberList baseVal; + readonly attribute nsIDOMSVGNumberList animVal; +}; diff --git a/mozilla/dom/public/idl/svg/nsIDOMSVGLengthList.idl b/mozilla/dom/public/idl/svg/nsIDOMSVGLengthList.idl new file mode 100644 index 00000000000..08df889a5e2 --- /dev/null +++ b/mozilla/dom/public/idl/svg/nsIDOMSVGLengthList.idl @@ -0,0 +1,63 @@ +/* -*- 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" + +interface nsIDOMSVGLength; + +[scriptable, uuid(a8760fcd-3de5-446a-a009-5cf877e7a4df)] +interface nsIDOMSVGLengthList : nsISupports +{ + readonly attribute unsigned long numberOfItems; + + void clear(); + // raises(nsIDOMDOMException); + nsIDOMSVGLength initialize(in nsIDOMSVGLength newItem ); + // raises(nsIDOMDOMException, nsIDOMSVGException); + nsIDOMSVGLength getItem(in unsigned long index); + // raises(nsIDOMDOMException); + nsIDOMSVGLength insertItemBefore(in nsIDOMSVGLength newItem, in unsigned long index); + // raises(nsIDOMDOMException, nsIDOMSVGException); + nsIDOMSVGLength replaceItem(in nsIDOMSVGLength newItem, in unsigned long index); + // raises(nsIDOMDOMException, nsIDOMSVGException); + nsIDOMSVGLength removeItem(in unsigned long index); + // raises(nsIDOMDOMException); + nsIDOMSVGLength appendItem(in nsIDOMSVGLength newItem); + // raises(nsIDOMDOMException, nsIDOMSVGException); +}; + diff --git a/mozilla/dom/public/idl/svg/nsIDOMSVGNumber.idl b/mozilla/dom/public/idl/svg/nsIDOMSVGNumber.idl new file mode 100644 index 00000000000..8cfffee1b28 --- /dev/null +++ b/mozilla/dom/public/idl/svg/nsIDOMSVGNumber.idl @@ -0,0 +1,50 @@ +/* -*- 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(98575762-a936-4ecf-a226-b74c3a2981b4)] +interface nsIDOMSVGNumber : nsISupports +{ + attribute float value; + // raises DOMException on setting +}; + + + + diff --git a/mozilla/dom/public/idl/svg/nsIDOMSVGNumberList.idl b/mozilla/dom/public/idl/svg/nsIDOMSVGNumberList.idl new file mode 100644 index 00000000000..6939704646a --- /dev/null +++ b/mozilla/dom/public/idl/svg/nsIDOMSVGNumberList.idl @@ -0,0 +1,63 @@ +/* -*- 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" + +interface nsIDOMSVGNumber; + +[scriptable, uuid(59364ec4-faf1-460f-bf58-e6a6a2769a3a)] +interface nsIDOMSVGNumberList : nsISupports +{ + readonly attribute unsigned long numberOfItems; + + void clear(); + // raises(nsIDOMDOMException); + nsIDOMSVGNumber initialize(in nsIDOMSVGNumber newItem ); + // raises(nsIDOMDOMException, nsIDOMSVGException); + nsIDOMSVGNumber getItem(in unsigned long index); + // raises(nsIDOMDOMException); + nsIDOMSVGNumber insertItemBefore(in nsIDOMSVGNumber newItem, in unsigned long index); + // raises(nsIDOMDOMException, nsIDOMSVGException); + nsIDOMSVGNumber replaceItem(in nsIDOMSVGNumber newItem, in unsigned long index); + // raises(nsIDOMDOMException, nsIDOMSVGException); + nsIDOMSVGNumber removeItem(in unsigned long index); + // raises(nsIDOMDOMException); + nsIDOMSVGNumber appendItem(in nsIDOMSVGNumber newItem); + // raises(nsIDOMDOMException, nsIDOMSVGException); +}; + diff --git a/mozilla/dom/public/idl/svg/nsIDOMSVGTSpanElement.idl b/mozilla/dom/public/idl/svg/nsIDOMSVGTSpanElement.idl new file mode 100644 index 00000000000..75d10030bbf --- /dev/null +++ b/mozilla/dom/public/idl/svg/nsIDOMSVGTSpanElement.idl @@ -0,0 +1,44 @@ +/* -*- 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 "nsIDOMSVGTextPositioningElem.idl" + +[scriptable, uuid(4a23cb1f-cf1e-437e-9524-8756f7928b2e)] +interface nsIDOMSVGTSpanElement : nsIDOMSVGTextPositioningElement +{ +}; diff --git a/mozilla/dom/public/idl/svg/nsIDOMSVGTextContentElement.idl b/mozilla/dom/public/idl/svg/nsIDOMSVGTextContentElement.idl new file mode 100644 index 00000000000..af3d8973b97 --- /dev/null +++ b/mozilla/dom/public/idl/svg/nsIDOMSVGTextContentElement.idl @@ -0,0 +1,88 @@ +/* -*- 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 "nsIDOMSVGElement.idl" + +interface nsIDOMSVGAnimatedLength; +interface nsIDOMSVGAnimatedEnumeration; +interface nsIDOMSVGPoint; +interface nsIDOMSVGRect; + + +[scriptable, uuid(87ad94bc-07c9-412b-b2d8-de245a2e84a5)] +interface nsIDOMSVGTextContentElement + : nsIDOMSVGElement +/* + The SVG DOM makes use of multiple interface inheritance. + Since XPCOM only supports single interface inheritance, + the best thing that we can do is to promise that whenever + an object implements _this_ interface it will also + implement the following interfaces. (We then have to QI to + hop between them.) + + nsIDOMSVGTests, + nsIDOMSVGLangSpace, + nsIDOMSVGExternalResourcesRequired, + nsIDOMSVGStylable, + events::nsIDOMEventTarget +*/ +{ + // lengthAdjust Types + const unsigned short LENGTHADJUST_UNKNOWN = 0; + const unsigned short LENGTHADJUST_SPACING = 1; + const unsigned short LENGTHADJUST_SPACINGANDGLYPHS = 2; + + readonly attribute nsIDOMSVGAnimatedLength textLength; + readonly attribute nsIDOMSVGAnimatedEnumeration lengthAdjust; + + long getNumberOfChars(); + float getComputedTextLength(); + float getSubStringLength(in unsigned long charnum, in unsigned long nchars); + // raises(DOMException); + nsIDOMSVGPoint getStartPositionOfChar(in unsigned long charnum); + // raises(DOMException); + nsIDOMSVGPoint getEndPositionOfChar(in unsigned long charnum); + // raises(DOMException); + nsIDOMSVGRect getExtentOfChar(in unsigned long charnum); + // raises(DOMException); + float getRotationOfChar(in unsigned long charnum); + // raises(DOMException); + long getCharNumAtPosition(in nsIDOMSVGPoint point); + void selectSubString(in unsigned long charnum, in unsigned long nchars); + // raises(DOMException); +}; diff --git a/mozilla/dom/public/idl/svg/nsIDOMSVGTextElement.idl b/mozilla/dom/public/idl/svg/nsIDOMSVGTextElement.idl new file mode 100644 index 00000000000..2ba4b357080 --- /dev/null +++ b/mozilla/dom/public/idl/svg/nsIDOMSVGTextElement.idl @@ -0,0 +1,54 @@ +/* -*- 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 "nsIDOMSVGTextPositioningElem.idl" + +[scriptable, uuid(6d43b1b4-efb6-426d-9e65-4420c3e24688)] +interface nsIDOMSVGTextElement : nsIDOMSVGTextPositioningElement +/* + The SVG DOM makes use of multiple interface inheritance. + Since XPCOM only supports single interface inheritance, + the best thing that we can do is to promise that whenever + an object implements _this_ interface it will also + implement the following interfaces. (We then have to QI to + hop between them.) + + nsIDOMSVGTransformable +*/ +{ +}; diff --git a/mozilla/dom/public/idl/svg/nsIDOMSVGTextPositioningElem.idl b/mozilla/dom/public/idl/svg/nsIDOMSVGTextPositioningElem.idl new file mode 100644 index 00000000000..16264f37dd5 --- /dev/null +++ b/mozilla/dom/public/idl/svg/nsIDOMSVGTextPositioningElem.idl @@ -0,0 +1,52 @@ +/* -*- 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 "nsIDOMSVGTextContentElement.idl" + +interface nsIDOMSVGAnimatedLengthList; +interface nsIDOMSVGAnimatedNumberList; + +[scriptable, uuid(5d052835-8cb0-442c-9754-a8e616db1f89)] +interface nsIDOMSVGTextPositioningElement : nsIDOMSVGTextContentElement +{ + readonly attribute nsIDOMSVGAnimatedLengthList x; + readonly attribute nsIDOMSVGAnimatedLengthList y; + readonly attribute nsIDOMSVGAnimatedLengthList dx; + readonly attribute nsIDOMSVGAnimatedLengthList dy; + readonly attribute nsIDOMSVGAnimatedNumberList rotate; +};