- From: SVG Working Group repository <cam@mcc.id.au>
- Date: Sat, 15 Sep 2012 05:16:57 -0700
- To: public-svg-wg@w3.org
details: https://svgwg.org/hg/svg2/rev/f8d7174369c0 branches: changeset: 371:f8d7174369c0 user: Cameron McCormack <cam@mcc.id.au> date: Sat Sep 15 17:59:46 2012 +1000 description: Remove some tabs. details: https://svgwg.org/hg/svg2/rev/8fd3c34d3266 branches: changeset: 372:8fd3c34d3266 user: Cameron McCormack <cam@mcc.id.au> date: Sat Sep 15 22:15:26 2012 +1000 description: Add constructors to various interfaces. diffstat: master/changes.html | 8 + master/coords.html | 73 +++- master/definitions.xml | 1 + master/types.html | 995 ++++++++++++++++++++++-------------------------- 4 files changed, 528 insertions(+), 549 deletions(-) diffs (1470 lines): diff --git a/master/changes.html b/master/changes.html --- a/master/changes.html +++ b/master/changes.html @@ -53,16 +53,18 @@ have been made.</p> <li>Turned SVGLocatable and SVGTransformable into <a>SVGLocatableElement</a> and <a>SVGTransformableElement</a>, which directly inherit from <a>SVGElement</a>.</li> <li>Added <a>SVGGraphicsElement</a> and <a>SVGDefinitionElement</a> interfaces.</li> <li>Added an <a>SVGGeometryElement</a> interface with isPointInFill and isPointInStroke methods.</li> <li>Removed the SVGExternalResourcesRequired interface.</li> + + <li>Added constructors to <a>SVGNumber</a>, <a>SVGLength</a>, <a>SVGAngle</a> and <a>SVGRect</a>.</li> </ul> <h3 id="structure">Document Structure chapter</h3> <ul> <li>Deprecated the <code>suspendRedraw</code>, <code>unsuspendRedraw</code> and <code>unsuspendRedrawAll</code> methods in the SVGSVGElement interface.</li> <li>Removed the <span class="attr-name">'externalResourcesRequired'</span> attribute.</li> @@ -71,16 +73,22 @@ have been made.</p> </ul> <h3 id="styling">Styling chapter</h3> <ul> <li>Removed the <span class="attr-name">'contentStyleType'</span> attribute.</li> </ul> +<h3 id="coords">Coordinate Systems, Transformations and Units chapter</h3> + +<ul> + <li>Added constructors to <a>SVGPoint</a>, <a>SVGMatrix</a> and <a>SVGTransform</a>.</li> +</ul> + <h3 id="text">Text chapter</h3> <ul> <li>Added a number of missing attributes to the element summary boxes of the <a>'text'</a>, <a>'textPath'</a> and <a>'tref'</a> elements.</li> <li>Added <a>'text/width'</a> attribute to <a>'text'</a>, and a section about <a>'text-overflow'</a> processing.</li> diff --git a/master/coords.html b/master/coords.html --- a/master/coords.html +++ b/master/coords.html @@ -1445,42 +1445,55 @@ document have had the supplied transform within the SVG document.</p> <edit:example href="images/coords/geocoord3.svg" link="no" image="no"/> <h2 id="DOMInterfaces">DOM interfaces</h2> <h3 id="InterfaceSVGPoint">Interface SVGPoint</h3> - - <p>Many of the SVG DOM interfaces refer to objects of class <a>SVGPoint</a>. An <a>SVGPoint</a> is an (x, y) coordinate pair. When used in matrix operations, an <a>SVGPoint</a> is treated as a vector of the form: </p> <pre> [x] [y] [1]</pre> <p>If an <a>SVGPoint</a> object is designated as <em>read only</em>, then attempting to assign to one of its attributes will result in an exception being thrown.</p> -<pre class="idl">interface <b>SVGPoint</b> { +<pre class="idl">[<a href="#__svg__SVGPoint__constructor">Constructor</a>, + <a href="#__svg__SVGPoint__constructor1">Constructor</a>(float x, float y)] +interface <b>SVGPoint</b> { attribute float <a href="coords.html#__svg__SVGPoint__x">x</a>; attribute float <a href="coords.html#__svg__SVGPoint__y">y</a>; <a class="idlinterface" href="coords.html#InterfaceSVGPoint">SVGPoint</a> <a href="coords.html#__svg__SVGPoint__matrixTransform">matrixTransform</a>(<a class="idlinterface" href="coords.html#InterfaceSVGMatrix">SVGMatrix</a> matrix); };</pre> <dl class="interface"> + <dt class="operations-header">Constructors:</dt> + <dd> + <dl class="attributes"> + <dt id="__svg__SVGPoint__constructor" class="operation first-child"><b>SVGPoint</b>()</dt> + <dd class="operation"> + <div>Creates a new <a>SVGPoint</a> object with its x and y attributes set to 0.</div> + </dd> + <dt id="__svg__SVGPoint__constructor" class="operation first-child"><b>SVGPoint</b>(float x, float y)</dt> + <dd class="operation"> + <div>Creates a new <a>SVGPoint</a> object with its x and y attributes set to <var>x</var> and <var>y</var>, respectively.</div> + </dd> + </dl> + </dd> <dt class="attributes-header">Attributes:</dt> <dd> <dl class="attributes"> <dt id="__svg__SVGPoint__x" class="attribute first-child"><b>x</b><span class="idl-type-parenthetical"> (float)</span></dt> <dd class="attribute"> <div>The x coordinate.</div> <dl class="attribute"> <dt class="exceptions-header">Exceptions on setting</dt> @@ -1907,33 +1920,34 @@ cannot be modified. </dd> </dl> </dd> </dl> <h3 id="InterfaceSVGMatrix">Interface SVGMatrix</h3> - - <p>Many of SVG's graphics operations utilize 2x3 matrices of the form:</p> <pre> [a c e] [b d f]</pre> <p>which, when expanded into a 3x3 matrix for the purposes of matrix arithmetic, become: </p> <pre> [a c e] [b d f] [0 0 1]</pre> -<pre class="idl">interface <b>SVGMatrix</b> { + +<pre class="idl">[<a href="#__svg__SVGMatrix__constructor">Constructor</a>, + <a href="#__svg__SVGMatrix__constructor1">Constructor</a>(float a, float b, float c, float d, float e, float f)] +interface <b>SVGMatrix</b> { attribute float <a href="coords.html#__svg__SVGMatrix__a">a</a>; attribute float <a href="coords.html#__svg__SVGMatrix__b">b</a>; attribute float <a href="coords.html#__svg__SVGMatrix__c">c</a>; attribute float <a href="coords.html#__svg__SVGMatrix__d">d</a>; attribute float <a href="coords.html#__svg__SVGMatrix__e">e</a>; attribute float <a href="coords.html#__svg__SVGMatrix__f">f</a>; @@ -1946,16 +1960,27 @@ arithmetic, become: <a class="idlinterface" href="coords.html#InterfaceSVGMatrix">SVGMatrix</a> <a href="coords.html#__svg__SVGMatrix__rotateFromVector">rotateFromVector</a>(float x, float y); <a class="idlinterface" href="coords.html#InterfaceSVGMatrix">SVGMatrix</a> <a href="coords.html#__svg__SVGMatrix__flipX">flipX</a>(); <a class="idlinterface" href="coords.html#InterfaceSVGMatrix">SVGMatrix</a> <a href="coords.html#__svg__SVGMatrix__flipY">flipY</a>(); <a class="idlinterface" href="coords.html#InterfaceSVGMatrix">SVGMatrix</a> <a href="coords.html#__svg__SVGMatrix__skewX">skewX</a>(float angle); <a class="idlinterface" href="coords.html#InterfaceSVGMatrix">SVGMatrix</a> <a href="coords.html#__svg__SVGMatrix__skewY">skewY</a>(float angle); };</pre> <dl class="interface"> + <dt class="operations-header">Constructors:</dt> + <dd> + <dl class="operations"> + <dt id="__svg__SVGMatrix__constructor" class="operation first-child"><b>SVGMatrix</b>()</dt> + <dd>Creates a new <a>SVGMatrix</a> object whose a, b, c, d, e and f attributes + are all set to 0.</dd> + <dt id="__svg__SVGMatrix__constructor1" class="operation first-child"><b>SVGMatrix</b>(float <var>value</var>, optional unsigned short <var>unitType</var>)</dt> + <dd>Creates a new <a>SVGMatrix</a> object whose a, b, c, d, e and f attributes + are set to the values of the respective argument passed to the constructor.</dd> + </dl> + </dd> <dt class="attributes-header">Attributes:</dt> <dd> <dl class="attributes"> <dt id="__svg__SVGMatrix__a" class="attribute first-child"><b>a</b><span class="idl-type-parenthetical"> (float)</span></dt> <dd class="attribute"> <div> The <var>a</var> component of the matrix. @@ -2360,17 +2385,20 @@ returns the resulting matrix. <p><a>SVGTransform</a> is the interface for one of the component transformations within an <a>SVGTransformList</a>; thus, an <a>SVGTransform</a> object corresponds to a single component (e.g., <span class="attr-value">'scale(…)'</span> or <span class="attr-value">'matrix(…)'</span>) within a <a>'transform'</a> attribute specification.</p> -<pre class="idl">interface <b>SVGTransform</b> { +<pre class="idl">[<a href="#__svg__SVGTransform__constructor">Constructor</a>, + <a href="#__svg__SVGTransform__constructor1">Constructor</a>(SVGMatrix matrix), + <a href="#__svg__SVGTransform__constructor2">Constructor</a>(DOMString value)] +interface <b>SVGTransform</b> { // Transform Types const unsigned short <a href="coords.html#__svg__SVGTransform__SVG_TRANSFORM_UNKNOWN">SVG_TRANSFORM_UNKNOWN</a> = 0; const unsigned short <a href="coords.html#__svg__SVGTransform__SVG_TRANSFORM_MATRIX">SVG_TRANSFORM_MATRIX</a> = 1; const unsigned short <a href="coords.html#__svg__SVGTransform__SVG_TRANSFORM_TRANSLATE">SVG_TRANSFORM_TRANSLATE</a> = 2; const unsigned short <a href="coords.html#__svg__SVGTransform__SVG_TRANSFORM_SCALE">SVG_TRANSFORM_SCALE</a> = 3; const unsigned short <a href="coords.html#__svg__SVGTransform__SVG_TRANSFORM_ROTATE">SVG_TRANSFORM_ROTATE</a> = 4; const unsigned short <a href="coords.html#__svg__SVGTransform__SVG_TRANSFORM_SKEWX">SVG_TRANSFORM_SKEWX</a> = 5; @@ -2384,16 +2412,47 @@ attribute specification.</p> void <a href="coords.html#__svg__SVGTransform__setTranslate">setTranslate</a>(float tx, float ty); void <a href="coords.html#__svg__SVGTransform__setScale">setScale</a>(float sx, float sy); void <a href="coords.html#__svg__SVGTransform__setRotate">setRotate</a>(float angle, float cx, float cy); void <a href="coords.html#__svg__SVGTransform__setSkewX">setSkewX</a>(float angle); void <a href="coords.html#__svg__SVGTransform__setSkewY">setSkewY</a>(float angle); };</pre> <dl class="interface"> + <dt class="operations-header">Constructors:</dt> + <dd> + <dl class="attributes"> + <dt id="__svg__SVGTransform__constructor" class="operation first-child"><b>SVGTransform</b>()</dt> + <dd class="operation"> + <div>Creates a new <a>SVGTransform</a> object whose type attribute is + set to SVG_TRANSFORM_MATRIX and whose matrix attribute is set to an + <a>SVGMatrix</a> object that represents the identity matrix.</div> + </dd> + <dt id="__svg__SVGTransform__constructor1" class="operation first-child"><b>SVGTransform</b>(<a>SVGMatrix</a> <var>matrix</var>)</dt> + <dd class="operation"> + <div>Creates a new <a>SVGTransform</a> object whose type attribute is + set to SVG_TRANSFORM_MATRIX and whose matrix attribute is set to an + <a>SVGMatrix</a> object whose attributes are all initialized to be the + same as the corresponding attributes in <var>matrix</var>.</div> + </dd> + <dt id="__svg__SVGTransform__constructor2" class="operation first-child"><b>SVGTransform</b>(DOMString <var>value</var>)</dt> + <dd class="operation"> + <div> + <p>Creates a new <a>SVGTransform</a> object whose type and matrix + attributes are set to values determined by parsing <var>value</var> + as a <a><transform-function></a>.</p> + <p>If <var>value</var> could not be parsed as a + <a><transform-function></a>, then a <a href="http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#syntaxerror">SyntaxError</a> + is thrown.</p> + <p class='issue'>The CSS Transforms specification does not have + a grammar for <a><transform-function></a> yet.</p> + </div> + </dd> + </dl> + </dd> <dt class="constants-header">Constants in group “Transform Typesâ€:</dt> <dd> <dl class="constants"> <dt id="__svg__SVGTransform__SVG_TRANSFORM_UNKNOWN" class="constant first-child"><b>SVG_TRANSFORM_UNKNOWN</b><span class="idl-type-parenthetical"> (unsigned short)</span></dt> <dd class="constant"> <div> The unit type is not one of predefined types. It is invalid to attempt diff --git a/master/definitions.xml b/master/definitions.xml --- a/master/definitions.xml +++ b/master/definitions.xml @@ -1345,10 +1345,11 @@ <term name='filter primitive elements' href='https://dvcs.w3.org/hg/FXTF/raw-file/tip/filters/index.html#TermFilterPrimitiveElement'/> <term name='tree order' href='http://www.w3.org/TR/2012/WD-dom-20120405/#concept-tree-order'/> <term name='InvalidAccessError' href='http://www.w3.org/TR/2012/WD-dom-20120405/#invalidaccesserror'/> <term name='InvalidStateError' href='http://www.w3.org/TR/2012/WD-dom-20120405/#invalidstateerror'/> <term name='SyntaxError' href='http://www.w3.org/TR/2012/WD-dom-20120405/#syntaxerror'/> <!-- ... grammar symbols ................................................ --> <symbol name='identifier' href='http://www.w3.org/TR/2012/WD-css3-values-20120308/#identifier'/> + <symbol name='transform-function' href='http://dev.w3.org/csswg/css3-transforms/#transform-functions'/> </definitions> diff --git a/master/types.html b/master/types.html --- a/master/types.html +++ b/master/types.html @@ -486,16 +486,18 @@ attributes, including presentation attri a percentage of the bounding box width or height on a given object (refer to <a href='coords.html#ObjectBoundingBox'>the section that describes object bounding box units</a>).</p> </li> </ul> <p>In the SVG DOM, <length> values are represented using <a>SVGLength</a> or <a>SVGAnimatedLength</a> objects.</p> + + <p class='issue'>We should disentangle lengths and percentages.</p> </dd> <dt id="DataTypeListOfFamilyNames"><list-of-family-names></dt> <dd>A <list-of-family-names> is a list of font family names using the same syntax as the <a href='text.html#FontFamilyProperty'><span class='property'>'font-family'</span></a> property, excluding the <generic-family> and <span class='attr-value'>'inherit'</span> values.</dd> @@ -2124,38 +2126,44 @@ same value as <a>baseVal</a>. </dd> </dl> </dd> </dl> <h3 id="InterfaceSVGNumber">Interface SVGNumber</h3> - -Used for attributes of basic type -<a href="types.html#DataTypeNumber"><number></a>. -<pre class="idl">interface <b>SVGNumber</b> { +<p>Used for attributes of basic type +<a href="types.html#DataTypeNumber"><number></a>.</p> + +<pre class="idl">[<a href="#__svg__SVGNumber__constructor">Constructor</a>, + <a href="#__svg__SVGNumber__constructor1">Constructor</a>(float value)] +interface <b>SVGNumber</b> { attribute float <a href="types.html#__svg__SVGNumber__value">value</a>; };</pre> <dl class="interface"> -<dt class="attributes-header">Attributes:</dt> -<dd> -<dl class="attributes"> - -<dt id="__svg__SVGNumber__value" class="attribute first-child"><b>value</b><span class="idl-type-parenthetical"> (float)</span></dt> -<dd class="attribute"> -<div> -The value of the given attribute. - - -</div> -</dd> -</dl> -</dd> + <dt class="operations-header">Constructors:</dt> + <dd> + <dl class="attributes"> + <dt id="__svg__SVGNumber__constructor" class="operation first-child"><b>SVGNumber</b>()</dt> + <dd>Creates a new <a>SVGNumber</a> object with its value attribute set to 0.</dd> + <dt id="__svg__SVGNumber__constructor1" class="operation first-child"><b>SVGNumber</b>(float <var>value</var>)</dt> + <dd>Creates a new <a>SVGNumber</a> object with its value attribute set to <var>value</var>.</dd> + </dl> + </dd> + <dt class="attributes-header">Attributes:</dt> + <dd> + <dl class="attributes"> + <dt id="__svg__SVGNumber__value" class="attribute first-child"><b>value</b><span class="idl-type-parenthetical"> (float)</span></dt> + <dd class="attribute"> + <div>The value of the given attribute.</div> + </dd> + </dl> + </dd> </dl> <h3 id="InterfaceSVGAnimatedNumber">Interface SVGAnimatedNumber</h3> Used for attributes of basic type <a href="types.html#DataTypeNumber"><number></a> which can be @@ -2602,28 +2610,42 @@ the attribute is not animated. </dd> </dl> </dd> </dl> <h3 id="InterfaceSVGLength">Interface SVGLength</h3> - - <p>The <a>SVGLength</a> interface corresponds to the -<a href="types.html#DataTypeLength"><length></a> basic data type. -</p> - +<a href="types.html#DataTypeLength"><length></a> and +<a href="types.html#DataTypePercentage"><percentage></a> basic data types, +and represents a length or percentage that consists of a numerical factor and a unit, +where the unit is one of the set of units described in +<a href="coords.html#Units">Units</a> (em, ex, px, pt, pc, cm, mm and in), +a percentage, a unitless number (user units), or "unknown".</p> <p id="ReadOnlyLength">An <a>SVGLength</a> object can be designated as <em>read only</em>, which means that attempts to modify the object will result in an exception -being thrown, as described below. -</p> -<pre class="idl">interface <b>SVGLength</b> { +being thrown, as described below.</p> + +<p id="AssociatedElement">An <a>SVGLength</a> object can be <em>associated</em> +with a particular element, as well as being designated with a <em>directionality</em>: +horizontal, vertical or unspecified. The associated element and the directionality of the +length are used to resolve percentage values to user units. Unless otherwise +described, an <a>SVGLength</a> object is not associated with any element and +has unspecified directionality.</p> + +<p class='issue'>We need to define the behavior of converting values from/to percentages +when the viewport width/height/size is zero.</p> + +<pre class="idl">[<a href="#__svg__SVGLength__constructor">Constructor</a>, + <a href="#__svg__SVGLength__constructor1">Constructor</a>(float value, optional unsigned short unitType), + <a href="#__svg__SVGLength__constructor2">Constructor</a>(DOMString value)] +interface <b>SVGLength</b> { // Length Unit Types const unsigned short <a href="types.html#__svg__SVGLength__SVG_LENGTHTYPE_UNKNOWN">SVG_LENGTHTYPE_UNKNOWN</a> = 0; const unsigned short <a href="types.html#__svg__SVGLength__SVG_LENGTHTYPE_NUMBER">SVG_LENGTHTYPE_NUMBER</a> = 1; const unsigned short <a href="types.html#__svg__SVGLength__SVG_LENGTHTYPE_PERCENTAGE">SVG_LENGTHTYPE_PERCENTAGE</a> = 2; const unsigned short <a href="types.html#__svg__SVGLength__SVG_LENGTHTYPE_EMS">SVG_LENGTHTYPE_EMS</a> = 3; const unsigned short <a href="types.html#__svg__SVGLength__SVG_LENGTHTYPE_EXS">SVG_LENGTHTYPE_EXS</a> = 4; const unsigned short <a href="types.html#__svg__SVGLength__SVG_LENGTHTYPE_PX">SVG_LENGTHTYPE_PX</a> = 5; @@ -2635,328 +2657,234 @@ being thrown, as described below. readonly attribute unsigned short <a href="types.html#__svg__SVGLength__unitType">unitType</a>; attribute float <a href="types.html#__svg__SVGLength__value">value</a>; attribute float <a href="types.html#__svg__SVGLength__valueInSpecifiedUnits">valueInSpecifiedUnits</a>; attribute DOMString <a href="types.html#__svg__SVGLength__valueAsString">valueAsString</a>; void <a href="types.html#__svg__SVGLength__newValueSpecifiedUnits">newValueSpecifiedUnits</a>(unsigned short unitType, float valueInSpecifiedUnits); void <a href="types.html#__svg__SVGLength__convertToSpecifiedUnits">convertToSpecifiedUnits</a>(unsigned short unitType); -};</pre><dl class="interface"> -<dt class="constants-header">Constants in group “Length Unit Typesâ€:</dt> -<dd> -<dl class="constants"> - -<dt id="__svg__SVGLength__SVG_LENGTHTYPE_UNKNOWN" class="constant first-child"><b>SVG_LENGTHTYPE_UNKNOWN</b><span class="idl-type-parenthetical"> (unsigned short)</span></dt> -<dd class="constant"> -<div> -The unit type is not one of predefined unit types. It is invalid to -attempt to define a new value of this type or to attempt to switch an -existing value to this type. - - -</div> -</dd> - -<dt id="__svg__SVGLength__SVG_LENGTHTYPE_NUMBER" class="constant"><b>SVG_LENGTHTYPE_NUMBER</b><span class="idl-type-parenthetical"> (unsigned short)</span></dt> -<dd class="constant"> -<div> -No unit type was provided (i.e., a unitless value was specified), which -indicates a value in user units. - - -</div> -</dd> - -<dt id="__svg__SVGLength__SVG_LENGTHTYPE_PERCENTAGE" class="constant"><b>SVG_LENGTHTYPE_PERCENTAGE</b><span class="idl-type-parenthetical"> (unsigned short)</span></dt> -<dd class="constant"> -<div> -A percentage value was specified. - - -</div> -</dd> - -<dt id="__svg__SVGLength__SVG_LENGTHTYPE_EMS" class="constant"><b>SVG_LENGTHTYPE_EMS</b><span class="idl-type-parenthetical"> (unsigned short)</span></dt> -<dd class="constant"> -<div> -A value was specified using the em units defined in CSS 2.1. - - -</div> -</dd> - -<dt id="__svg__SVGLength__SVG_LENGTHTYPE_EXS" class="constant"><b>SVG_LENGTHTYPE_EXS</b><span class="idl-type-parenthetical"> (unsigned short)</span></dt> -<dd class="constant"> -<div> -A value was specified using the ex units defined in CSS 2.1. - - -</div> -</dd> - -<dt id="__svg__SVGLength__SVG_LENGTHTYPE_PX" class="constant"><b>SVG_LENGTHTYPE_PX</b><span class="idl-type-parenthetical"> (unsigned short)</span></dt> -<dd class="constant"> -<div> -A value was specified using the px units defined in CSS 2.1. - - -</div> -</dd> - -<dt id="__svg__SVGLength__SVG_LENGTHTYPE_CM" class="constant"><b>SVG_LENGTHTYPE_CM</b><span class="idl-type-parenthetical"> (unsigned short)</span></dt> -<dd class="constant"> -<div> -A value was specified using the cm units defined in CSS 2.1. - - -</div> -</dd> - -<dt id="__svg__SVGLength__SVG_LENGTHTYPE_MM" class="constant"><b>SVG_LENGTHTYPE_MM</b><span class="idl-type-parenthetical"> (unsigned short)</span></dt> -<dd class="constant"> -<div> -A value was specified using the mm units defined in CSS 2.1. - - -</div> -</dd> - -<dt id="__svg__SVGLength__SVG_LENGTHTYPE_IN" class="constant"><b>SVG_LENGTHTYPE_IN</b><span class="idl-type-parenthetical"> (unsigned short)</span></dt> -<dd class="constant"> -<div> -A value was specified using the in units defined in CSS 2.1. - - -</div> -</dd> - -<dt id="__svg__SVGLength__SVG_LENGTHTYPE_PT" class="constant"><b>SVG_LENGTHTYPE_PT</b><span class="idl-type-parenthetical"> (unsigned short)</span></dt> -<dd class="constant"> -<div> -A value was specified using the pt units defined in CSS 2.1. - - -</div> -</dd> - -<dt id="__svg__SVGLength__SVG_LENGTHTYPE_PC" class="constant"><b>SVG_LENGTHTYPE_PC</b><span class="idl-type-parenthetical"> (unsigned short)</span></dt> -<dd class="constant"> -<div> -A value was specified using the pc units defined in CSS 2.1. - - -</div> -</dd> -</dl> -</dd> -<dt class="attributes-header">Attributes:</dt> -<dd> -<dl class="attributes"> - -<dt id="__svg__SVGLength__unitType" class="attribute first-child"><b>unitType</b><span class="idl-type-parenthetical"> (readonly unsigned short)</span></dt> -<dd class="attribute"> -<div> -The type of the value as specified by one of the SVG_LENGTHTYPE_* -constants defined on this interface. - -</div> -</dd> - -<dt id="__svg__SVGLength__value" class="attribute"><b>value</b><span class="idl-type-parenthetical"> (float)</span></dt> -<dd class="attribute"> -<div> -The value as a floating point value, in user units. Setting this -attribute will cause <a>valueInSpecifiedUnits</a> and -<a>valueAsString</a> to be updated automatically to reflect this setting. - - -</div> -<dl class="attribute"> -<dt class="exceptions-header">Exceptions on setting</dt> -<dd> -<dl class="exceptions"> -<dt class="exception"><a class="idlinterface" - href="http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-17189187">DOMException</a>, code NO_MODIFICATION_ALLOWED_ERR -</dt> -<dd class="exception"> Raised when the length is -<a href="#ReadOnlyLength">read only</a>. - -</dd> -</dl> -</dd> -</dl> -</dd> - -<dt id="__svg__SVGLength__valueInSpecifiedUnits" class="attribute"><b>valueInSpecifiedUnits</b><span class="idl-type-parenthetical"> (float)</span></dt> -<dd class="attribute"> -<div> -The value as a floating point value, in the units expressed by -<a>unitType</a>. Setting this attribute will cause <a>value</a> and -<a>valueAsString</a> to be updated automatically to reflect this setting. - - -</div> -<dl class="attribute"> -<dt class="exceptions-header">Exceptions on setting</dt> -<dd> -<dl class="exceptions"> -<dt class="exception"><a class="idlinterface" - href="http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-17189187">DOMException</a>, code NO_MODIFICATION_ALLOWED_ERR -</dt> -<dd class="exception"> Raised when the length is -<a href="#ReadOnlyLength">read only</a>. - -</dd> -</dl> -</dd> -</dl> -</dd> - -<dt id="__svg__SVGLength__valueAsString" class="attribute"><b>valueAsString</b><span class="idl-type-parenthetical"> (DOMString)</span></dt> -<dd class="attribute"> -<div> -The value as a string value, in the units expressed by <a>unitType</a>. -Setting this attribute will cause <a>value</a>, -<a>valueInSpecifiedUnits</a> and <a>unitType</a> -to be updated automatically to reflect this -setting. - - -</div> -<dl class="attribute"> -<dt class="exceptions-header">Exceptions on setting</dt> -<dd> -<dl class="exceptions"> -<dt class="exception"><a class="idlinterface" - href="http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-17189187">DOMException</a>, code SYNTAX_ERR -</dt> -<dd class="exception"> Raised if the assigned string cannot -be parsed as a valid <a><length></a>. - -</dd> -<dt class="exception"><a class="idlinterface" - href="http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-17189187">DOMException</a>, code NO_MODIFICATION_ALLOWED_ERR -</dt> -<dd class="exception"> Raised when the length is -<a href="#ReadOnlyLength">read only</a>. - -</dd> -</dl> -</dd> -</dl> -</dd> -</dl> -</dd> -<dt class="operations-header">Operations:</dt> -<dd> -<dl class="attributes"> - -<dt id="__svg__SVGLength__newValueSpecifiedUnits" class="operation first-child">void <b>newValueSpecifiedUnits</b>(unsigned short <var>unitType</var>, float <var>valueInSpecifiedUnits</var>) -</dt> -<dd class="operation"> -<div> -Reset the value as a number with an associated <a>unitType</a>, thereby -replacing the values for all of the attributes on the object. - - -</div> -<dl class="operation"> -<dt class="parameters-header">Parameters</dt> -<dd> -<ol class="parameters"> -<li class="parameter first-child"> -<div>unsigned short <var>unitType</var></div> -<div> The unit type for the value (e.g., <a>SVG_LENGTHTYPE_MM</a>). - -</div> -</li> -<li class="parameter"> -<div>float <var>valueInSpecifiedUnits</var></div> -<div> The new value. - -</div> -</li> -</ol> -</dd> -<dt class="exceptions-header">Exceptions</dt> -<dd> -<dl class="exceptions"> -<dt class="exception first-child"><a class="idlinterface" - href="http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-17189187">DOMException</a>, code NOT_SUPPORTED_ERR -</dt> -<dd class="exception"> Raised if unitType is SVG_LENGTHTYPE_UNKNOWN -or not a valid unit type constant (one of the other SVG_LENGTHTYPE_* constants -defined on this interface). - -</dd> -<dt class="exception"><a class="idlinterface" - href="http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-17189187">DOMException</a>, code NO_MODIFICATION_ALLOWED_ERR -</dt> -<dd class="exception"> Raised when the length is -<a href="#ReadOnlyLength">read only</a>. - -</dd> -</dl> -</dd> -</dl> -</dd> - -<dt id="__svg__SVGLength__convertToSpecifiedUnits" class="operation">void <b>convertToSpecifiedUnits</b>(unsigned short <var>unitType</var>) -</dt> -<dd class="operation"> -<div> -Preserve the same underlying stored value, but reset the stored unit -identifier to the given <var>unitType</var>. Object attributes -<a>unitType</a>, <a>valueInSpecifiedUnits</a> and <a>valueAsString</a> -might be modified as a result of this method. For example, if the -original value were "0.5cm" and the method was invoked to convert to -millimeters, then the <a>unitType</a> would be changed to -<a>SVG_LENGTHTYPE_MM</a>, <a>valueInSpecifiedUnits</a> would be changed -to the numeric value 5 and <a>valueAsString</a> would be changed to -"5mm". - - -</div> -<dl class="operation"> -<dt class="parameters-header">Parameters</dt> -<dd> -<ol class="parameters"> -<li class="parameter first-child"> -<div>unsigned short <var>unitType</var></div> -<div> The unit type to switch to (e.g., <a>SVG_LENGTHTYPE_MM</a>). - -</div> -</li> -</ol> -</dd> -<dt class="exceptions-header">Exceptions</dt> -<dd> -<dl class="exceptions"> -<dt class="exception first-child"><a class="idlinterface" - href="http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-17189187">DOMException</a>, code NOT_SUPPORTED_ERR -</dt> -<dd class="exception"> Raised if unitType is SVG_LENGTHTYPE_UNKNOWN -or not a valid unit type constant (one of the other SVG_LENGTHTYPE_* constants -defined on this interface). - -</dd> -<dt class="exception"><a class="idlinterface" - href="http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-17189187">DOMException</a>, code NO_MODIFICATION_ALLOWED_ERR -</dt> -<dd class="exception"> Raised when the length is -<a href="#ReadOnlyLength">read only</a>. - -</dd> -</dl> -</dd> -</dl> -</dd> -</dl> -</dd> +};</pre> + +<dl class="interface"> + <dt class="operations-header">Constructors:</dt> + <dd> + <dl class="operations"> + <dt id="__svg__SVGLength__constructor" class="operation first-child"><b>SVGLength</b>()</dt> + <dd>Creates a new <a>SVGLength</a> object whose value is zero user units.</dd> + <dt id="__svg__SVGLength__constructor1" class="operation first-child"><b>SVGLength</b>(float <var>value</var>, optional unsigned short <var>unitType</var>)</dt> + <dd>Creates a new <a>SVGLength</a> object whose value is <var>value</var> in the + units specified by <var>unitType</var>.</dd> + <dt id="__svg__SVGLength__constructor2" class="operation first-child"><b>SVGLength</b>(DOMString <var>value</var>)</dt> + <dd>Creates a new <a>SVGLength</a> object whose value is determined by + parsing <var>value</var> as a <a><length></a> or <a><percentage></a>. + If <var>value</var> cannot be parsed as a <a><length></a> or + <a><percentage></a>, then a + <a href="http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#syntaxerror">SyntaxError</a> + is thrown.</dd> + </dl> + </dd> + <dt class="constants-header">Constants in group “Length Unit Typesâ€:</dt> + <dd> + <dl class="constants"> + <dt id="__svg__SVGLength__SVG_LENGTHTYPE_UNKNOWN" class="constant first-child"><b>SVG_LENGTHTYPE_UNKNOWN</b><span class="idl-type-parenthetical"> (unsigned short)</span></dt> + <dd class="constant"> + <div>The unit type is not one of predefined unit types. It is invalid to + attempt to define a new value of this type or to attempt to switch an + existing value to this type.</div> + </dd> + <dt id="__svg__SVGLength__SVG_LENGTHTYPE_NUMBER" class="constant"><b>SVG_LENGTHTYPE_NUMBER</b><span class="idl-type-parenthetical"> (unsigned short)</span></dt> + <dd class="constant"> + <div>No unit type was provided (i.e., a unitless value was specified), which + indicates a value in user units.</div> + </dd> + <dt id="__svg__SVGLength__SVG_LENGTHTYPE_PERCENTAGE" class="constant"><b>SVG_LENGTHTYPE_PERCENTAGE</b><span class="idl-type-parenthetical"> (unsigned short)</span></dt> + <dd class="constant"> + <div>A percentage value was specified.</div> + </dd> + <dt id="__svg__SVGLength__SVG_LENGTHTYPE_EMS" class="constant"><b>SVG_LENGTHTYPE_EMS</b><span class="idl-type-parenthetical"> (unsigned short)</span></dt> + <dd class="constant"> + <div>A value was specified using the em units defined in CSS 2.1.</div> + </dd> + <dt id="__svg__SVGLength__SVG_LENGTHTYPE_EXS" class="constant"><b>SVG_LENGTHTYPE_EXS</b><span class="idl-type-parenthetical"> (unsigned short)</span></dt> + <dd class="constant"> + <div>A value was specified using the ex units defined in CSS 2.1.</div> + </dd> + <dt id="__svg__SVGLength__SVG_LENGTHTYPE_PX" class="constant"><b>SVG_LENGTHTYPE_PX</b><span class="idl-type-parenthetical"> (unsigned short)</span></dt> + <dd class="constant"> + <div>A value was specified using the px units defined in CSS 2.1.</div> + </dd> + <dt id="__svg__SVGLength__SVG_LENGTHTYPE_CM" class="constant"><b>SVG_LENGTHTYPE_CM</b><span class="idl-type-parenthetical"> (unsigned short)</span></dt> + <dd class="constant"> + <div>A value was specified using the cm units defined in CSS 2.1.</div> + </dd> + <dt id="__svg__SVGLength__SVG_LENGTHTYPE_MM" class="constant"><b>SVG_LENGTHTYPE_MM</b><span class="idl-type-parenthetical"> (unsigned short)</span></dt> + <dd class="constant"> + <div>A value was specified using the mm units defined in CSS 2.1.</div> + </dd> + <dt id="__svg__SVGLength__SVG_LENGTHTYPE_IN" class="constant"><b>SVG_LENGTHTYPE_IN</b><span class="idl-type-parenthetical"> (unsigned short)</span></dt> + <dd class="constant"> + <div>A value was specified using the in units defined in CSS 2.1.</div> + </dd> + <dt id="__svg__SVGLength__SVG_LENGTHTYPE_PT" class="constant"><b>SVG_LENGTHTYPE_PT</b><span class="idl-type-parenthetical"> (unsigned short)</span></dt> + <dd class="constant"> + <div>A value was specified using the pt units defined in CSS 2.1.</div> + </dd> + <dt id="__svg__SVGLength__SVG_LENGTHTYPE_PC" class="constant"><b>SVG_LENGTHTYPE_PC</b><span class="idl-type-parenthetical"> (unsigned short)</span></dt> + <dd class="constant"> + <div>A value was specified using the pc units defined in CSS 2.1.</div> + </dd> + </dl> + </dd> + <dt class="attributes-header">Attributes:</dt> + <dd> + <dl class="attributes"> + <dt id="__svg__SVGLength__unitType" class="attribute first-child"><b>unitType</b><span class="idl-type-parenthetical"> (readonly unsigned short)</span></dt> + <dd class="attribute"> + <div>The type of the value as specified by one of the SVG_LENGTHTYPE_* + constants defined on this interface.</div> + </dd> + <dt id="__svg__SVGLength__value" class="attribute"><b>value</b><span class="idl-type-parenthetical"> (float)</span></dt> + <dd class="attribute"> + <div>The value of the length in user units. + On getting, returns the value converted to user units. If + the type of the <a>SVGLength</a> is unknown, or it is a percentage + but the object has no associated element, the numerical factor + of the length is returned. On setting, sets the numerical + factor to the assigned value and the unit type to user units.</div> + <dl class="attribute"> + <dt class="exceptions-header">Exceptions on setting</dt> + <dd> + <dl class="exceptions"> + <dt class="exception"><a class="idlinterface" href="http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-17189187">DOMException</a>, code NO_MODIFICATION_ALLOWED_ERR</dt> + <dd class="exception">Raised when the length is <a href="#ReadOnlyLength">read only</a>.</dd> + </dl> + </dd> + </dl> + </dd> + <dt id="__svg__SVGLength__valueInSpecifiedUnits" class="attribute"><b>valueInSpecifiedUnits</b><span class="idl-type-parenthetical"> (float)</span></dt> + <dd class="attribute"> + <div>The numerical factor of the length value.</div> + <dl class="attribute"> + <dt class="exceptions-header">Exceptions on setting</dt> + <dd> + <dl class="exceptions"> + <dt class="exception"><a class="idlinterface" href="http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-17189187">DOMException</a>, code NO_MODIFICATION_ALLOWED_ERR</dt> + <dd class="exception">Raised when the length is <a href="#ReadOnlyLength">read only</a>.</dd> + </dl> + </dd> + </dl> + </dd> + <dt id="__svg__SVGLength__valueAsString" class="attribute"><b>valueAsString</b><span class="idl-type-parenthetical"> (DOMString)</span></dt> + <dd class="attribute"> + <div> + <p>The length value as a string. On getting, returns a + string as follows:</p> + <ul> + <li>If the unit type of the length is unknown or user units, + the string is simply the numeric factor converted to a string.</li> + <li>If the unit type of the length is a percentage, the string + is the result of concatenating the numeric factor converted to a string + with the string "%".</li> + <li>Otherwise, the string is the result of concatenating the numeric + factor converted to a string with the CSS length unit in lowercase.</li> + </ul> + <p>On setting, updates the numeric factor and units type of the + <a>SVGLength</a> object according to the result of parsing the + assigned string as a <a><length></a> or <a><percentage></a>.</p> + </div> + <dl class="attribute"> + <dt class="exceptions-header">Exceptions on setting</dt> + <dd> + <dl class="exceptions"> + <dt class="exception"><a class="idlinterface" href="http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-17189187">DOMException</a>, code SYNTAX_ERR</dt> + <dd class="exception">Raised if the assigned string cannot be parsed as a valid <a><length></a> or <a><percentage></a>.</dd> + <dt class="exception"><a class="idlinterface" href="http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-17189187">DOMException</a>, code NO_MODIFICATION_ALLOWED_ERR</dt> + <dd class="exception">Raised when the length is <a href="#ReadOnlyLength">read only</a>.</dd> + </dl> + </dd> + </dl> + </dd> + </dl> + </dd> + <dt class="operations-header">Operations:</dt> + <dd> + <dl class="attributes"> + <dt id="__svg__SVGLength__newValueSpecifiedUnits" class="operation first-child">void <b>newValueSpecifiedUnits</b>(unsigned short <var>unitType</var>, float <var>valueInSpecifiedUnits</var>)</dt> + <dd class="operation"> + <div>Sets the numeric factor of the length value to <var>valueInSpecifiedUnits</var> + and the unit type to <var>unitType</var>.</div> + <dl class="operation"> + <dt class="parameters-header">Parameters</dt> + <dd> + <ol class="parameters"> + <li class="parameter first-child"> + <div>unsigned short <var>unitType</var></div> + <div>The unit type for the value (e.g., <a>SVG_LENGTHTYPE_MM</a>).</div> + </li> + <li class="parameter"> + <div>float <var>valueInSpecifiedUnits</var></div> + <div>The new value.</div> + </li> + </ol> + </dd> + <dt class="exceptions-header">Exceptions</dt> + <dd> + <dl class="exceptions"> + <dt class="exception first-child"><a class="idlinterface" href="http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-17189187">DOMException</a>, code NOT_SUPPORTED_ERR</dt> + <dd class="exception">Raised if unitType is SVG_LENGTHTYPE_UNKNOWN + or not a valid unit type constant (one of the other SVG_LENGTHTYPE_* constants + defined on this interface).</dd> + <dt class="exception"><a class="idlinterface" href="http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-17189187">DOMException</a>, code NO_MODIFICATION_ALLOWED_ERR</dt> + <dd class="exception">Raised when the length is <a href="#ReadOnlyLength">read only</a>.</dd> + </dl> + </dd> + </dl> + </dd> + <dt id="__svg__SVGLength__convertToSpecifiedUnits" class="operation">void <b>convertToSpecifiedUnits</b>(unsigned short <var>unitType</var>)</dt> + <dd class="operation"> + <div> + <p>Sets the unit type of the length value to the type specified by + <var>unitType</var> and sets the numeric factor value such that it + represents the same absolute length. + For example, if the original value were "0.5cm" and the method was + invoked to convert to millimeters, then <a>unitType</a> would return + <a>SVG_LENGTHTYPE_MM</a> and <a>valueInSpecifiedUnits</a> would return the + numeric value 5.</p> + <p>If the old or new unit type + is percentage and the <a>SVGLength</a> object has no associated + element, then the percentages are considered to resolve against + a length of 100 user units. For example, converting an <a>SVGLength</a> + whose value is 20px to a percentage will result in the value being 20%.</p> + </div> + <dl class="operation"> + <dt class="parameters-header">Parameters</dt> + <dd> + <ol class="parameters"> + <li class="parameter first-child"> + <div>unsigned short <var>unitType</var></div> + <div>The unit type to switch to (e.g., <a>SVG_LENGTHTYPE_MM</a>).</div> + </li> + </ol> + </dd> + <dt class="exceptions-header">Exceptions</dt> + <dd> + <dl class="exceptions"> + <dt class="exception first-child"><a class="idlinterface" href="http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-17189187">DOMException</a>, code NOT_SUPPORTED_ERR</dt> + <dd class="exception">Raised if unitType is SVG_LENGTHTYPE_UNKNOWN + or not a valid unit type constant (one of the other SVG_LENGTHTYPE_* constants + defined on this interface).</dd> + <dt class="exception"><a class="idlinterface" href="http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-17189187">DOMException</a>, code NO_MODIFICATION_ALLOWED_ERR</dt> + <dd class="exception">Raised when the length is <a href="#ReadOnlyLength">read only</a>.</dd> + </dl> + </dd> + </dl> + </dd> + </dl> + </dd> </dl> <h3 id="InterfaceSVGAnimatedLength">Interface SVGAnimatedLength</h3> Used for attributes of basic type <a href="types.html#DataTypeLength"><length></a> which can be @@ -3402,44 +3330,63 @@ the attribute is not animated. </dd> </dl> </dd> </dl> <h3 id="InterfaceSVGAngle">Interface SVGAngle</h3> - - <p>The <a>SVGAngle</a> interface corresponds to the -<a href="types.html#DataTypeAngle"><angle></a> basic data type. -</p> - +<a href="types.html#DataTypeAngle"><angle></a> basic data type, +and represents an angle that consists of a numerical factor and a unit, +where the unit is degrees, radians, grads, unitless numbers or "unknown".</p> <p id="ReadOnlyAngle">An <a>SVGAngle</a> object can be designated as <em>read only</em>, which means that attempts to modify the object will result in an exception -being thrown, as described below. -</p> -<pre class="idl">interface <b>SVGAngle</b> { +being thrown, as described below.</p> + +<pre class="idl">[<a href="#__svg__SVGAngle__constructor">Constructor</a>, + <a href="#__svg__SVGAngle__constructor1">Constructor</a>(float value, optional unsigned short unitType), + <a href="#__svg__SVGAngle__constructor2">Constructor</a>(DOMString value)] +interface <b>SVGAngle</b> { // Angle Unit Types const unsigned short <a href="types.html#__svg__SVGAngle__SVG_ANGLETYPE_UNKNOWN">SVG_ANGLETYPE_UNKNOWN</a> = 0; const unsigned short <a href="types.html#__svg__SVGAngle__SVG_ANGLETYPE_UNSPECIFIED">SVG_ANGLETYPE_UNSPECIFIED</a> = 1; const unsigned short <a href="types.html#__svg__SVGAngle__SVG_ANGLETYPE_DEG">SVG_ANGLETYPE_DEG</a> = 2; const unsigned short <a href="types.html#__svg__SVGAngle__SVG_ANGLETYPE_RAD">SVG_ANGLETYPE_RAD</a> = 3; const unsigned short <a href="types.html#__svg__SVGAngle__SVG_ANGLETYPE_GRAD">SVG_ANGLETYPE_GRAD</a> = 4; readonly attribute unsigned short <a href="types.html#__svg__SVGAngle__unitType">unitType</a>; attribute float <a href="types.html#__svg__SVGAngle__value">value</a>; attribute float <a href="types.html#__svg__SVGAngle__valueInSpecifiedUnits">valueInSpecifiedUnits</a>; attribute DOMString <a href="types.html#__svg__SVGAngle__valueAsString">valueAsString</a>; void <a href="types.html#__svg__SVGAngle__newValueSpecifiedUnits">newValueSpecifiedUnits</a>(unsigned short unitType, float valueInSpecifiedUnits); void <a href="types.html#__svg__SVGAngle__convertToSpecifiedUnits">convertToSpecifiedUnits</a>(unsigned short unitType); -};</pre><dl class="interface"> +};</pre> + +<dl class="interface"> + <dt class="operations-header">Constructors:</dt> + <dd> + <dl class="operations"> + <dt id="__svg__SVGAngle__constructor" class="operation first-child"><b>SVGAngle</b>()</dt> + <dd>Creates a new <a>SVGAngle</a> object whose value is zero user units.</dd> + <dt id="__svg__SVGAngle__constructor1" class="operation first-child"><b>SVGAngle</b>(float <var>value</var>, optional unsigned short <var>unitType</var>)</dt> + <dd>Creates a new <a>SVGAngle</a> object whose value is <var>value</var> in the + units specified by <var>unitType</var>.</dd> + <dt id="__svg__SVGAngle__constructor2" class="operation first-child"><b>SVGAngle</b>(DOMString <var>value</var>)</dt> + <dd>Creates a new <a>SVGAngle</a> object whose value is determined by + parsing <var>value</var> as an <a><angle></a>. + If <var>value</var> cannot be parsed, then a + <a href="http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#syntaxerror">SyntaxError</a> + is thrown.</dd> + </dl> + </dd> <dt class="constants-header">Constants in group “Angle Unit Typesâ€:</dt> <dd> <dl class="constants"> <dt id="__svg__SVGAngle__SVG_ANGLETYPE_UNKNOWN" class="constant first-child"><b>SVG_ANGLETYPE_UNKNOWN</b><span class="idl-type-parenthetical"> (unsigned short)</span></dt> <dd class="constant"> <div> The unit type is not one of predefined unit types. It is invalid to @@ -3497,203 +3444,154 @@ The unit type is radians. <dd class="attribute"> <div> The type of the value as specified by one of the SVG_ANGLETYPE_* constants defined on this interface. </div> </dd> -<dt id="__svg__SVGAngle__value" class="attribute"><b>value</b><span class="idl-type-parenthetical"> (float)</span></dt> -<dd class="attribute"> -<div> -The angle value as a floating point value, in degrees. Setting this -attribute will cause <a>valueInSpecifiedUnits</a> and -<a>valueAsString</a> to be updated automatically to reflect this setting. - - -</div> -<dl class="attribute"> -<dt class="exceptions-header">Exceptions on setting</dt> -<dd> -<dl class="exceptions"> -<dt class="exception"><a class="idlinterface" - href="http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-17189187">DOMException</a>, code NO_MODIFICATION_ALLOWED_ERR -</dt> -<dd class="exception"> Raised when the angle is -<a href="#ReadOnlyAngle">read only</a>. - -</dd> -</dl> -</dd> -</dl> -</dd> - -<dt id="__svg__SVGAngle__valueInSpecifiedUnits" class="attribute"><b>valueInSpecifiedUnits</b><span class="idl-type-parenthetical"> (float)</span></dt> -<dd class="attribute"> -<div> -The angle value as a floating point value, in the units expressed by -<a>unitType</a>. Setting this attribute will cause <a>value</a> and -<a>valueAsString</a> to be updated automatically to reflect this setting. - - -</div> -<dl class="attribute"> -<dt class="exceptions-header">Exceptions on setting</dt> -<dd> -<dl class="exceptions"> -<dt class="exception"><a class="idlinterface" - href="http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-17189187">DOMException</a>, code NO_MODIFICATION_ALLOWED_ERR -</dt> -<dd class="exception"> Raised when the angle is -<a href="#ReadOnlyAngle">read only</a>. - -</dd> -</dl> -</dd> -</dl> -</dd> - -<dt id="__svg__SVGAngle__valueAsString" class="attribute"><b>valueAsString</b><span class="idl-type-parenthetical"> (DOMString)</span></dt> -<dd class="attribute"> -<div> -The angle value as a string value, in the units expressed by -<a>unitType</a>. Setting this attribute will cause <a>value</a>, -<a>valueInSpecifiedUnits</a> and <a>unitType</a> -to be updated automatically to reflect -this setting. - - -</div> -<dl class="attribute"> -<dt class="exceptions-header">Exceptions on setting</dt> -<dd> -<dl class="exceptions"> -<dt class="exception"><a class="idlinterface" - href="http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-17189187">DOMException</a>, code SYNTAX_ERR -</dt> -<dd class="exception"> Raised if the assigned string cannot -be parsed as a valid <a><angle></a>. - -</dd> -<dt class="exception"><a class="idlinterface" - href="http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-17189187">DOMException</a>, code NO_MODIFICATION_ALLOWED_ERR -</dt> -<dd class="exception"> Raised when the angle is -<a href="#ReadOnlyAngle">read only</a>. - -</dd> -</dl> -</dd> -</dl> -</dd> + <dt id="__svg__SVGAngle__value" class="attribute"><b>value</b><span class="idl-type-parenthetical"> (float)</span></dt> + <dd class="attribute"> + <div>The value of the angle in degrees. + On getting, returns the value converted to degrees. If + the type of the <a>SVGAngle</a> is unknown, the numerical factor + of the angle is returned. On setting, sets the numerical + factor to the assigned value and the unit type to unitless numbers.</div> + <dl class="attribute"> + <dt class="exceptions-header">Exceptions on setting</dt> + <dd> + <dl class="exceptions"> + <dt class="exception"><a class="idlinterface" href="http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-17189187">DOMException</a>, code NO_MODIFICATION_ALLOWED_ERR</dt> + <dd class="exception">Raised when the angle is <a href="#ReadOnlyAngle">read only</a>.</dd> + </dl> + </dd> + </dl> + </dd> + + <dt id="__svg__SVGAngle__valueInSpecifiedUnits" class="attribute"><b>valueInSpecifiedUnits</b><span class="idl-type-parenthetical"> (float)</span></dt> + <dd class="attribute"> + <div>The numerical factor of the angle value.</div> + <dl class="attribute"> + <dt class="exceptions-header">Exceptions on setting</dt> + <dd> + <dl class="exceptions"> + <dt class="exception"><a class="idlinterface" href="http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-17189187">DOMException</a>, code NO_MODIFICATION_ALLOWED_ERR</dt> + <dd class="exception">Raised when the angle is <a href="#ReadOnlyAngle">read only</a>.</dd> + </dl> + </dd> + </dl> + </dd> + + <dt id="__svg__SVGAngle__valueAsString" class="attribute"><b>valueAsString</b><span class="idl-type-parenthetical"> (DOMString)</span></dt> + <dd class="attribute"> + <div> + <p>The angle value as a string. On getting, returns a + string as follows:</p> + <ul> + <li>If the unit type of the angle is unknown or unitless numbers, + the string is simply the numeric factor converted to a string.</li> + <li>Otherwise, the string is the result of concatenating the numeric + factor converted to a string with the CSS angle unit in lowercase.</li> + </ul> + <p>On setting, updates the numeric factor and units type of the + <a>SVGAngle</a> object according to the result of parsing the + assigned string as an <a><angle></a>.</p> + </div> + <dl class="attribute"> + <dt class="exceptions-header">Exceptions on setting</dt> + <dd> + <dl class="exceptions"> + <dt class="exception"><a class="idlinterface" href="http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-17189187">DOMException</a>, code SYNTAX_ERR</dt> + <dd class="exception">Raised if the assigned string cannot be parsed as a valid <a><angle></a>.</dd> + <dt class="exception"><a class="idlinterface" href="http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-17189187">DOMException</a>, code NO_MODIFICATION_ALLOWED_ERR</dt> + <dd class="exception">Raised when the angle is <a href="#ReadOnlyLength">read only</a>.</dd> + </dl> + </dd> + </dl> + </dd> + + </dl> </dd> <dt class="operations-header">Operations:</dt> <dd> <dl class="attributes"> -<dt id="__svg__SVGAngle__newValueSpecifiedUnits" class="operation first-child">void <b>newValueSpecifiedUnits</b>(unsigned short <var>unitType</var>, float <var>valueInSpecifiedUnits</var>) -</dt> -<dd class="operation"> -<div> -Reset the value as a number with an associated <a>unitType</a>, thereby -replacing the values for all of the attributes on the object. - - -</div> -<dl class="operation"> -<dt class="parameters-header">Parameters</dt> -<dd> -<ol class="parameters"> -<li class="parameter first-child"> -<div>unsigned short <var>unitType</var></div> -<div> The unit type for the value (e.g., <a>SVG_ANGLETYPE_DEG</a>). - -</div> -</li> -<li class="parameter"> -<div>float <var>valueInSpecifiedUnits</var></div> -<div> The angle value. - -</div> -</li> -</ol> -</dd> -<dt class="exceptions-header">Exceptions</dt> -<dd> -<dl class="exceptions"> -<dt class="exception first-child"><a class="idlinterface" - href="http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-17189187">DOMException</a>, code NOT_SUPPORTED_ERR -</dt> -<dd class="exception"> Raised if unitType is SVG_ANGLETYPE_UNKNOWN -or not a valid unit type constant (one of the other SVG_ANGLETYPE_* constants -defined on this interface). - -</dd> -<dt class="exception"><a class="idlinterface" - href="http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-17189187">DOMException</a>, code NO_MODIFICATION_ALLOWED_ERR -</dt> -<dd class="exception"> Raised when the angle is -<a href="#ReadOnlyAngle">read only</a>. - -</dd> + <dt id="__svg__SVGAngle__newValueSpecifiedUnits" class="operation first-child">void <b>newValueSpecifiedUnits</b>(unsigned short <var>unitType</var>, float <var>valueInSpecifiedUnits</var>)</dt> + <dd class="operation"> + <div>Sets the numeric factor of the angle value to <var>valueInSpecifiedUnits</var> + and the unit type to <var>unitType</var>.</div> + <dl class="operation"> + <dt class="parameters-header">Parameters</dt> + <dd> + <ol class="parameters"> + <li class="parameter first-child"> + <div>unsigned short <var>unitType</var></div> + <div>The unit type for the value (e.g., <a>SVG_ANGLETYPE_DEG</a>).</div> + </li> + <li class="parameter"> + <div>float <var>valueInSpecifiedUnits</var></div> + <div>The new value.</div> + </li> + </ol> + </dd> + <dt class="exceptions-header">Exceptions</dt> + <dd> + <dl class="exceptions"> + <dt class="exception first-child"><a class="idlinterface" href="http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-17189187">DOMException</a>, code NOT_SUPPORTED_ERR</dt> + <dd class="exception">Raised if unitType is SVG_ANGLETYPE_UNKNOWN + or not a valid unit type constant (one of the other SVG_ANGLETYPE_* constants + defined on this interface).</dd> + <dt class="exception"><a class="idlinterface" href="http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-17189187">DOMException</a>, code NO_MODIFICATION_ALLOWED_ERR</dt> + <dd class="exception">Raised when the angle is <a href="#ReadOnlyAngle">read only</a>.</dd> + </dl> + </dd> + </dl> + </dd> + + <dt id="__svg__SVGAngle__convertToSpecifiedUnits" class="operation">void <b>convertToSpecifiedUnits</b>(unsigned short <var>unitType</var>)</dt> + <dd class="operation"> + <div> + <p>Sets the unit type of the angle value to the type specified by + <var>unitType</var> and sets the numeric factor value such that it + represents the same absolute angle. + For example, if the original value were "180deg" and the method was + invoked to convert to radians, then <a>unitType</a> would return + <a>SVG_ANGLETYPE_RAD</a> and <a>valueInSpecifiedUnits</a> would return the + numeric value Ï€.</p> + </div> + <dl class="operation"> + <dt class="parameters-header">Parameters</dt> + <dd> + <ol class="parameters"> + <li class="parameter first-child"> + <div>unsigned short <var>unitType</var></div> + <div>The unit type to switch to (e.g., <a>SVG_ANGLETYPE_DEG</a>).</div> + </li> + </ol> + </dd> + <dt class="exceptions-header">Exceptions</dt> + <dd> + <dl class="exceptions"> + <dt class="exception first-child"><a class="idlinterface" href="http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-17189187">DOMException</a>, code NOT_SUPPORTED_ERR</dt> + <dd class="exception">Raised if unitType is SVG_ANGLETYPE_UNKNOWN + or not a valid unit type constant (one of the other SVG_ANGLETYPE_* constants + defined on this interface).</dd> + <dt class="exception"><a class="idlinterface" href="http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-17189187">DOMException</a>, code NO_MODIFICATION_ALLOWED_ERR</dt> + <dd class="exception">Raised when the angle is <a href="#ReadOnlyAngle">read only</a>.</dd> + </dl> + </dd> + </dl> + </dd> + </dl> + </dd> </dl> -</dd> -</dl> -</dd> - -<dt id="__svg__SVGAngle__convertToSpecifiedUnits" class="operation">void <b>convertToSpecifiedUnits</b>(unsigned short <var>unitType</var>) -</dt> -<dd class="operation"> -<div> -Preserve the same underlying stored value, but reset the stored unit -identifier to the given <var>unitType</var>. Object attributes -<a>unitType</a>, <a>valueInSpecifiedUnits</a> and <a>valueAsString</a> -might be modified as a result of this method. - - -</div> -<dl class="operation"> -<dt class="parameters-header">Parameters</dt> -<dd> -<ol class="parameters"> -<li class="parameter first-child"> -<div>unsigned short <var>unitType</var></div> -<div> The unit type to switch to (e.g., <a>SVG_ANGLETYPE_DEG</a>). - -</div> -</li> -</ol> -</dd> -<dt class="exceptions-header">Exceptions</dt> -<dd> -<dl class="exceptions"> -<dt class="exception first-child"><a class="idlinterface" - href="http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-17189187">DOMException</a>, code NOT_SUPPORTED_ERR -</dt> -<dd class="exception"> Raised if unitType is SVG_ANGLETYPE_UNKNOWN -or not a valid unit type constant (one of the other SVG_ANGLETYPE_* constants -defined on this interface). - -</dd> -<dt class="exception"><a class="idlinterface" - href="http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-17189187">DOMException</a>, code NO_MODIFICATION_ALLOWED_ERR -</dt> -<dd class="exception"> Raised when the angle is -<a href="#ReadOnlyAngle">read only</a>. - -</dd> -</dl> -</dd> -</dl> -</dd> -</dl> -</dd> -</dl> + + <h3 id="InterfaceSVGAnimatedAngle">Interface SVGAnimatedAngle</h3> Used for attributes of basic data type <a href="types.html#DataTypeAngle"><angle></a> that can be animated. <pre class="idl">interface <b>SVGAnimatedAngle</b> { @@ -4029,35 +3927,48 @@ is an arbitrary floating point number. </dd> </dl> </dd> </dl> <h3 id="InterfaceSVGRect">Interface SVGRect</h3> - - <p>Represents rectangular geometry. Rectangles are defined as consisting of a (x,y) coordinate pair identifying a minimum X value, a minimum Y value, and a width and height, which are usually constrained to be -non-negative. -</p> - +non-negative.</p> <p id="ReadOnlyRect">An <a>SVGRect</a> object can be designated as <em>read only</em>, which means that attempts to modify the object will result in an exception -being thrown, as described below. -</p> -<pre class="idl">interface <b>SVGRect</b> { +being thrown, as described below.</p> + +<pre class="idl">[<a href="#__svg__SVGRect__constructor">Constructor</a>, + <a href="#__svg__SVGRect__constructor1">Constructor</a>(float x, float y, float width, float height)] +interface <b>SVGRect</b> { attribute float <a href="types.html#__svg__SVGRect__x">x</a>; attribute float <a href="types.html#__svg__SVGRect__y">y</a>; attribute float <a href="types.html#__svg__SVGRect__width">width</a>; attribute float <a href="types.html#__svg__SVGRect__height">height</a>; -};</pre><dl class="interface"> +};</pre> + +<dl class="interface"> + <dt class="operations-header">Constructors:</dt> + <dd> + <dl class="attributes"> + <dt id="__svg__SVGRect__constructor" class="operation first-child"><b>SVGRect</b>()</dt> + <dd class="operation"> + <div>Creates a new <a>SVGRect</a> object with its x, y, width and height attributes set to 0.</div> + </dd> + <dt id="__svg__SVGRect__constructor" class="operation first-child"><b>SVGRect</b>(float x, float y, float width, float height)</dt> + <dd class="operation"> + <div>Creates a new <a>SVGRect</a> object with its x, y, width and height attributes set to <var>x</var>, <var>y</var>, <var>width</var> and <var>height</var>, respectively.</div> + </dd> + </dl> + </dd> <dt class="attributes-header">Attributes:</dt> <dd> <dl class="attributes"> <dt id="__svg__SVGRect__x" class="attribute first-child"><b>x</b><span class="idl-type-parenthetical"> (float)</span></dt> <dd class="attribute"> <div> The <var>x</var> coordinate of the rectangle, in user units. @@ -4505,56 +4416,56 @@ paths, text and the basic shapes.</p> <dl class="interface"> <dt class="operations-header">Operations:</dt> <dd> <dl class="attributes"> <dt id="__svg__SVGGeometryElement__isPointInFill" class="operation first-child">bool <b>isPointInFill</b>(<a>SVGPoint</a> point)</dt> <dd class="operation"> Returns whether the specified point is within the fill of the element. Normal hit testing rules apply; the value of the <a>'pointer-events'</a> - property on the element determines whether a point is considered to be - within the fill. + property on the element determines whether a point is considered to be + within the fill. <dl class="operation"> <dt class="parameters-header">Parameters</dt> <dd> <ol class="parameters"> <li class="parameter first-child"> <div><a>SVGPoint</a> <var>point</var></div> <div>The point to check for intersection with the fill of this element. The <a>SVGPoint</a> is interpreted as a as a point in the user space of this element.</div> </li> </ol> </dd> <dt class="returns-header">Returns</dt> <dd>true if the point is within the fill of this shape, - or false otherwise.</dd> + or false otherwise.</dd> </dl> </dd> <dt id="__svg__SVGGeometryElement__isPointInStroke" class="operation">bool <b>isPointInStroke</b>(<a>SVGPoint</a> point)</dt> <dd class="operation"> Returns whether the specified point is within the stroke of the element. Normal hit testing rules apply; the value of the <a>'pointer-events'</a> - property on the element determines whether a point is considered to be - within the stroke. + property on the element determines whether a point is considered to be + within the stroke. <dl class="operation"> <dt class="parameters-header">Parameters</dt> <dd> <ol class="parameters"> <li class="parameter first-child"> <div><a>SVGPoint</a> <var>point</var></div> <div>The point to check for intersection with the stroke of this element. The <a>SVGPoint</a> is interpreted as a as a point in the user space of this element.</div> </li> </ol> </dd> <dt class="returns-header">Returns</dt> <dd>true if the point is within the stroke of this shape, - or false otherwise.</dd> + or false otherwise.</dd> </dl> </dd> </dl> </dd> </dl> </div> <h3 id="InterfaceSVGDefinitionElement">Interface SVGDefinitionElement</h3>
Received on Saturday, 15 September 2012 12:18:12 UTC