blob: f58c95868c6f712557dc8bc0b3de3f4d2a0539f9 [file] [log] [blame]
<?xml version="1.0" encoding="utf-8"?>
<!-- CSSPrimitiveValue interface -->
<interface id="CSS-CSSPrimitiveValue" name="CSSPrimitiveValue"
inherits="CSSValue" since="DOM Level 2">
<descr>
<p>
The <code>CSSPrimitiveValue</code> interface represents a single
<xspecref href="&css2;/syndata.html#values">CSS value</xspecref>. This
interface may be used to determine the value of a specific style property
currently set in a block or to set a specific style property explicitly
within the block. An instance of this interface might be obtained from
the <code>getPropertyCSSValue</code> method of the
<code>CSSStyleDeclaration</code> interface. A
<code>CSSPrimitiveValue</code> object only occurs in a context of a CSS
property.
</p>
<p>
Conversions are allowed between absolute values (from millimeters to
centimeters, from degrees to radians, and so on) but not between relative
values. (For example, a pixel value cannot be converted to a centimeter
value.) Percentage values can't be converted since they are relative to
the parent value (or another property value). There is one exception for
color percentage values: since a color percentage value is relative to
the range 0-255, a color percentage value can be converted to a number;
(see also the <code>RGBColor</code> interface).
</p>
</descr>
<group id="CSS-CSSPrimitiveValue-types" name="UnitTypes">
<descr>
<p>An integer indicating which type of unit applies to the value.</p>
</descr>
<constant name="CSS_UNKNOWN" type="unsigned short" value="0">
<descr><p>The value is not a recognized CSS2 value. The value can only be
obtained by using the <code>cssText</code> attribute.</p></descr>
</constant>
<constant name="CSS_NUMBER" type="unsigned short" value="1">
<descr><p>The value is a simple <xspecref
href="&css2;/syndata.html#q13">number</xspecref>.
The value can be obtained by using the <code>getFloatValue</code> method.</p></descr>
</constant>
<constant name="CSS_PERCENTAGE" type="unsigned short" value="2">
<descr><p>The value is a <xspecref
href="&css2;/syndata.html#percentage-units">percentage</xspecref>.
The value can be obtained by using the <code>getFloatValue</code> method.</p></descr>
</constant>
<constant name="CSS_EMS" type="unsigned short" value="3">
<descr><p>The value is a <xspecref
href="&css2;/syndata.html#length-units">length
(ems)</xspecref>. The value can be obtained by using the <code>getFloatValue</code>
method.</p></descr>
</constant>
<constant name="CSS_EXS" type="unsigned short" value="4">
<descr><p>The value is a <xspecref
href="&css2;/syndata.html#length-units">length
(exs)</xspecref>. The value can be obtained by using the <code>getFloatValue</code>
method.</p></descr>
</constant>
<constant name="CSS_PX" type="unsigned short" value="5">
<descr><p>The value is a <xspecref
href="&css2;/syndata.html#length-units">length
(px)</xspecref>. The value can be obtained by using the <code>getFloatValue</code>
method.</p></descr>
</constant>
<constant name="CSS_CM" type="unsigned short" value="6">
<descr><p>The value is a <xspecref
href="&css2;/syndata.html#length-units">length
(cm)</xspecref>. The value can be obtained by using the <code>getFloatValue</code>
method.</p></descr>
</constant>
<constant name="CSS_MM" type="unsigned short" value="7">
<descr><p>The value is a <xspecref
href="&css2;/syndata.html#length-units">length
(mm)</xspecref>. The value can be obtained by using the <code>getFloatValue</code>
method.</p></descr>
</constant>
<constant name="CSS_IN" type="unsigned short" value="8">
<descr><p>The value is a <xspecref
href="&css2;/syndata.html#length-units">length
(in)</xspecref>. The value can be obtained by using the <code>getFloatValue</code>
method.</p></descr>
</constant>
<constant name="CSS_PT" type="unsigned short" value="9">
<descr><p>The value is a <xspecref
href="&css2;/syndata.html#length-units">length
(pt)</xspecref>. The value can be obtained by using the <code>getFloatValue</code>
method.</p></descr>
</constant>
<constant name="CSS_PC" type="unsigned short" value="10">
<descr><p>The value is a <xspecref
href="&css2;/syndata.html#length-units">length
(pc)</xspecref>. The value can be obtained by using the <code>getFloatValue</code>
method.</p></descr>
</constant>
<constant name="CSS_DEG" type="unsigned short" value="11">
<descr><p>The value is an <xspecref
href="&css2;/syndata.html#q19">angle
(deg)</xspecref>. The value can be obtained by using the <code>getFloatValue</code>
method.</p></descr>
</constant>
<constant name="CSS_RAD" type="unsigned short" value="12">
<descr><p>The value is an <xspecref
href="&css2;/syndata.html#q19">angle
(rad)</xspecref>. The value can be obtained by using the <code>getFloatValue</code>
method.</p></descr>
</constant>
<constant name="CSS_GRAD" type="unsigned short" value="13">
<descr><p>The value is an <xspecref
href="&css2;/syndata.html#q19">angle
(grad)</xspecref>. The value can be obtained by using the <code>getFloatValue</code>
method.</p></descr>
</constant>
<constant name="CSS_MS" type="unsigned short" value="14">
<descr><p>The value is a <xspecref
href="&css2;/syndata.html#q20">time
(ms)</xspecref>. The value can be obtained by using the <code>getFloatValue</code>
method.</p></descr>
</constant>
<constant name="CSS_S" type="unsigned short" value="15">
<descr><p>The value is a <xspecref
href="&css2;/syndata.html#q20">time (s)</xspecref>.
The value can be obtained by using the <code>getFloatValue</code> method.</p></descr>
</constant>
<constant name="CSS_HZ" type="unsigned short" value="16">
<descr><p>The value is a <xspecref
href="&css2;/syndata.html#q21">frequency
(Hz)</xspecref>. The value can be obtained by using the <code>getFloatValue</code>
method.</p></descr>
</constant>
<constant name="CSS_KHZ" type="unsigned short" value="17">
<descr><p>The value is a <xspecref
href="&css2;/syndata.html#q21">frequency
(kHz)</xspecref>. The value can be obtained by using the <code>getFloatValue</code>
method.</p></descr>
</constant>
<constant name="CSS_DIMENSION" type="unsigned short" value="18">
<descr><p>The value is a number with an unknown dimension.
The value can be obtained by using the <code>getFloatValue</code> method.</p></descr>
</constant>
<constant name="CSS_STRING" type="unsigned short" value="19">
<descr><p>The value is a <xspecref
href="&css2;/syndata.html#strings">STRING</xspecref>.
The value can be obtained by using the <code>getStringValue</code> method.</p></descr>
</constant>
<constant name="CSS_URI" type="unsigned short" value="20">
<descr><p>The value is a <xspecref
href="&css2;/syndata.html#uri">URI</xspecref>.
The value can be obtained by using the <code>getStringValue</code> method.</p></descr>
</constant>
<constant name="CSS_IDENT" type="unsigned short" value="21">
<descr><p>The value is an <xspecref
href="&css2;/syndata.html#value-def-identifier">identifier</xspecref>.
The value can be obtained by using the <code>getStringValue</code> method.</p></descr>
</constant>
<constant name="CSS_ATTR" type="unsigned short" value="22">
<descr><p>The value is a <xspecref
href="&css2;/generate.html#x16">attribute
function</xspecref>. The value can be obtained by using the <code>getStringValue</code>
method.</p></descr>
</constant>
<constant name="CSS_COUNTER" type="unsigned short" value="23">
<descr><p>The value is a <xspecref
href="&css2;/syndata.html#counter">counter or
counters function</xspecref>. The value can be obtained by using the
<code>getCounterValue</code> method.</p></descr>
</constant>
<constant name="CSS_RECT" type="unsigned short" value="24">
<descr><p>The value is a <xspecref
href="&css2;/visufx.html#value-def-shape">rect
function</xspecref>. The value can be obtained by using the <code>getRectValue</code>
method.</p></descr>
</constant>
<constant name="CSS_RGBCOLOR" type="unsigned short" value="25">
<descr><p>The value is a <xspecref
href="&css2;/syndata.html#color-units">RGB
color</xspecref>. The value can be obtained by using the <code>getRGBColorValue</code>
method.</p></descr>
</constant>
</group>
<attribute id="CSS-CSSPrimitiveValue-primitiveType"
name="primitiveType" type="unsigned short" readonly="yes">
<descr>
<p>The type of the value as defined by the constants specified above.</p>
</descr>
</attribute>
<method id="CSS-CSSPrimitiveValue-setFloatValue" name="setFloatValue">
<descr>
<p>
A method to set the float value with a specified unit. If the property
attached with this value can not accept the specified unit or the float
value, the value will be unchanged and a <code>DOMException</code> will
be raised.
</p>
</descr>
<parameters>
<param name="unitType" type="unsigned short" attr="in">
<descr>
<p>
A unit code as defined above. The unit code can only be a float
unit type (i.e. <code>CSS_NUMBER</code>,
<code>CSS_PERCENTAGE</code>, <code>CSS_EMS</code>,
<code>CSS_EXS</code>, <code>CSS_PX</code>, <code>CSS_CM</code>,
<code>CSS_MM</code>, <code>CSS_IN</code>, <code>CSS_PT</code>,
<code>CSS_PC</code>, <code>CSS_DEG</code>, <code>CSS_RAD</code>,
<code>CSS_GRAD</code>, <code>CSS_MS</code>, <code>CSS_S</code>,
<code>CSS_HZ</code>, <code>CSS_KHZ</code>,
<code>CSS_DIMENSION</code>).
</p>
</descr>
</param>
<param name="floatValue" type="float" attr="in">
<descr>
<p>
The new float value.
</p>
</descr>
</param>
</parameters>
<returns type="void">
<descr>
</descr>
</returns>
<raises>
<exception name="DOMException">
<descr>
<p>
INVALID_ACCESS_ERR: Raised if the attached property doesn't support
the float value or the unit type.</p>
<p>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
readonly.</p>
</descr>
</exception>
</raises>
</method>
<method id="CSS-CSSPrimitiveValue-getFloatValue" name="getFloatValue">
<descr>
<p>
This method is used to get a float value in a specified unit. If this
CSS value doesn't contain a float value or can't be converted into the
specified unit, a <code>DOMException</code> is raised.
</p>
</descr>
<parameters>
<param name="unitType" type="unsigned short" attr="in">
<descr>
<p>
A unit code to get the float value. The unit code can only be a
float unit type (i.e. <code>CSS_NUMBER</code>,
<code>CSS_PERCENTAGE</code>, <code>CSS_EMS</code>,
<code>CSS_EXS</code>, <code>CSS_PX</code>, <code>CSS_CM</code>,
<code>CSS_MM</code>, <code>CSS_IN</code>, <code>CSS_PT</code>,
<code>CSS_PC</code>, <code>CSS_DEG</code>, <code>CSS_RAD</code>,
<code>CSS_GRAD</code>, <code>CSS_MS</code>, <code>CSS_S</code>,
<code>CSS_HZ</code>, <code>CSS_KHZ</code>,
<code>CSS_DIMENSION</code>).
</p>
</descr>
</param>
</parameters>
<returns type="float">
<descr>
<p>
The float value in the specified unit.
</p>
</descr>
</returns>
<raises>
<exception name="DOMException">
<descr>
<p>
INVALID_ACCESS_ERR: Raised if the CSS value doesn't contain a float
value or if the float value can't be converted into the specified
unit.
</p>
</descr>
</exception>
</raises>
</method>
<method id="CSS-CSSPrimitiveValue-setStringValue" name="setStringValue">
<descr>
<p>
A method to set the string value with the specified unit. If the
property attached to this value can't accept the specified unit or the
string value, the value will be unchanged and a
<code>DOMException</code> will be raised.
</p>
</descr>
<parameters>
<param name="stringType" type="unsigned short" attr="in">
<descr>
<p>
A string code as defined above. The string code can only be a
string unit type (i.e. <code>CSS_STRING</code>,
<code>CSS_URI</code>, <code>CSS_IDENT</code>, and
<code>CSS_ATTR</code>).
</p>
</descr>
</param>
<param name="stringValue" type="DOMString" attr="in">
<descr>
<p>
The new string value.
</p>
</descr>
</param>
</parameters>
<returns type="void">
<descr>
</descr>
</returns>
<raises>
<exception name="DOMException">
<descr>
<p>
INVALID_ACCESS_ERR: Raised if the CSS value doesn't contain a string
value or if the string value can't be converted into the specified
unit.</p>
<p>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
readonly.</p>
</descr>
</exception>
</raises>
</method>
<method id="CSS-CSSPrimitiveValue-getStringValue" name="getStringValue">
<descr>
<p>
This method is used to get the string value. If the
CSS value doesn't contain a string value, a <code>DOMException</code>
is raised.
</p>
<note>
<p>
Some properties (like <loc
href="&css2;/fonts.html#propdef-font-family">'font-family'</loc> or
<loc
href="&css2;/aural.html#propdef-voice-family">'voice-family'</loc>)
convert a whitespace separated list of idents to a string.
</p>
</note>
</descr>
<parameters>
</parameters>
<returns type="DOMString">
<descr>
<p>
The string value in the current unit. The current
<code>primitiveType</code> can only be a string unit type
(i.e. <code>CSS_STRING</code>, <code>CSS_URI</code>,
<code>CSS_IDENT</code> and <code>CSS_ATTR</code>).
</p>
</descr>
</returns>
<raises>
<exception name="DOMException">
<descr>
<p>
INVALID_ACCESS_ERR: Raised if the CSS value doesn't contain a string
value.
</p>
</descr>
</exception>
</raises>
</method>
<method id="CSS-CSSPrimitiveValue-getCounterValue" name="getCounterValue">
<descr>
<p>
This method is used to get the Counter value. If this CSS value doesn't
contain a counter value, a <code>DOMException</code> is
raised. Modification to the corresponding style property can be
achieved using the <code>Counter</code> interface.
</p>
</descr>
<parameters>
</parameters>
<returns type="Counter">
<descr>
<p>The Counter value.</p>
</descr>
</returns>
<raises>
<exception name="DOMException">
<descr>
<p>
INVALID_ACCESS_ERR: Raised if the CSS value doesn't contain a
Counter value (e.g. this is not <code>CSS_COUNTER</code>).
</p>
</descr>
</exception>
</raises>
</method>
<method id="CSS-CSSPrimitiveValue-getRectValue" name="getRectValue">
<descr>
<p>
This method is used to get the Rect value. If this CSS value doesn't
contain a rect value, a <code>DOMException</code> is
raised. Modification to the corresponding style property can be
achieved using the <code>Rect</code> interface.
</p>
</descr>
<parameters>
</parameters>
<returns type="Rect">
<descr>
<p>The Rect value.</p>
</descr>
</returns>
<raises>
<exception name="DOMException">
<descr>
<p>
INVALID_ACCESS_ERR: Raised if the CSS value doesn't contain a Rect
value. (e.g. this is not <code>CSS_RECT</code>).
</p>
</descr>
</exception>
</raises>
</method>
<method id="CSS-CSSPrimitiveValue-getRGBColorValue" name="getRGBColorValue">
<descr>
<p>
This method is used to get the RGB color. If this CSS value doesn't
contain a RGB color value, a <code>DOMException</code> is
raised. Modification to the corresponding style property can be
achieved using the <code>RGBColor</code> interface.
</p>
</descr>
<parameters>
</parameters>
<returns type="RGBColor">
<descr>
<p>the RGB color value.</p>
</descr>
</returns>
<raises>
<exception name="DOMException">
<descr>
<p>
INVALID_ACCESS_ERR: Raised if the attached property can't return a
RGB color value (e.g. this is not <code>CSS_RGBCOLOR</code>).
</p>
</descr>
</exception>
</raises>
</method>
</interface>