gecko/dom/interfaces/svg/nsIDOMSVGTextContentElement.idl
2012-05-21 12:12:37 +01:00

56 lines
2.1 KiB
Plaintext

/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "nsIDOMSVGElement.idl"
interface nsIDOMSVGAnimatedLength;
interface nsIDOMSVGAnimatedEnumeration;
interface nsIDOMSVGPoint;
interface nsIDOMSVGRect;
[scriptable, uuid(8A884160-DB64-4BF7-B932-15398E536A8D)]
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);
};