Back to index

lightning-sunbird  0.9+nobinonly
nsIDOMSVGTextContentElement.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 "nsIDOMSVGElement.idl"
00040 
00041 interface nsIDOMSVGAnimatedLength;
00042 interface nsIDOMSVGAnimatedEnumeration;
00043 interface nsIDOMSVGPoint;
00044 interface nsIDOMSVGRect;
00045 
00046 
00047 [scriptable, uuid(87ad94bc-07c9-412b-b2d8-de245a2e84a5)]
00048 interface nsIDOMSVGTextContentElement
00049   : nsIDOMSVGElement
00050 /*
00051         The SVG DOM makes use of multiple interface inheritance.
00052         Since XPCOM only supports single interface inheritance,
00053         the best thing that we can do is to promise that whenever
00054         an object implements _this_ interface it will also
00055         implement the following interfaces. (We then have to QI to
00056         hop between them.)
00057         
00058     nsIDOMSVGTests,
00059     nsIDOMSVGLangSpace,
00060     nsIDOMSVGExternalResourcesRequired,
00061     nsIDOMSVGStylable,
00062     events::nsIDOMEventTarget
00063 */
00064 { 
00065   // lengthAdjust Types
00066   const unsigned short LENGTHADJUST_UNKNOWN          = 0;
00067   const unsigned short LENGTHADJUST_SPACING          = 1;
00068   const unsigned short LENGTHADJUST_SPACINGANDGLYPHS = 2;
00069   
00070   readonly attribute nsIDOMSVGAnimatedLength      textLength;
00071   readonly attribute nsIDOMSVGAnimatedEnumeration lengthAdjust;
00072   
00073   long     getNumberOfChars();
00074   float    getComputedTextLength();
00075   float    getSubStringLength(in unsigned long charnum, in unsigned long nchars);
00076     // raises(DOMException);
00077   nsIDOMSVGPoint getStartPositionOfChar(in unsigned long charnum);
00078     // raises(DOMException);
00079   nsIDOMSVGPoint getEndPositionOfChar(in unsigned long charnum);
00080     // raises(DOMException);
00081   nsIDOMSVGRect  getExtentOfChar(in unsigned long charnum);
00082     // raises(DOMException);
00083   float    getRotationOfChar(in unsigned long charnum);
00084     // raises(DOMException);
00085   long     getCharNumAtPosition(in nsIDOMSVGPoint point);
00086   void     selectSubString(in unsigned long charnum, in unsigned long nchars);
00087     // raises(DOMException);
00088 };