- 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