CSS::DOM::Value::PrimiUser(Contributed Perl DocumCSS::DOM::Value::Primitive(3)NAMECSS::DOM::Value::Primitive - CSSPrimitiveValue class for CSS::DOM
VERSION
Version 0.14
SYNOPSIS
# ...
DESCRIPTION
This module implements objects that represent CSS primitive property
values (as opposed to lists). It implements the DOM CSSPrimitiveValue,
Rect, and RGBColor interfaces.
METHODS
If you need the constructor, it's below the object methods. Normally
you would get an object via CSS::DOM::Style's "getPropertyCSSValue"
method.
CSSValue Interface
cssText
Returns a string representation of the attribute. Pass an argument
to set it.
cssValueType
Returns "CSS::DOM::Value::CSS_PRIMITIVE_VALUE".
CSSPrimitiveValue Interface
primitiveType
Returns one of the "CONSTANTS" listed below.
getFloatValue
Returns a number if the value is numeric.
The rest have still to be implemented.
Rect Interface
The four methods "top", "right", "bottom" and "left" each return
another value object representing the individual value.
RGBColor Interface
The four methods "red", "green", "blue" and "alpha" each return another
value object representing the individual value.
Constructor
You probably don't need to call this, but here it is anyway:
$val = new CSS::DOM::Value::Primitive:: %args;
The hash-style arguments are as follows. Only "type" and "value" are
required.
type
One of the constants listed below under "CONSTANTS"
value
The data stored inside the value object. The format expected
depends on the type. See below.
css CSS code used for serialisation. This will make reading "cssText"
faster at least until the value is modified.
owner
The style object that owns this value; if this is omitted, then the
value is read-only. The value object holds a weak reference to the
owner.
property
The name of the CSS property to which this value belongs. "cssText"
uses this to determine how to parse text passed to it. This does
not apply to the sub-values of colours, counters and rects, but it
does apply to individual elements of a list value.
index
The index of this value within a list value (only applies to
elements of a list, of course).
format
This is used by sub-values of colours and rects. It determines how
assignment to "cssText" is handled. This uses the same syntax as
the formats in CSS::DOM::PropertyParser.
Here are the formats for the "value" argument, which depend on the
type:
CSS_UNKNOWN
A string of CSS code.
CSS_NUMBER, CSS_PERCENTAGE
A simple scalar containing a number.
Standard Dimensions
Also a simple scalar containing a number.
This applies to "CSS_EMS", "CSS_EXS", "CSS_PX", "CSS_CM", "CSS_MM",
"CSS_IN", "CSS_PT", "CSS_PC", "CSS_DEG", "CSS_RAD", "CSS_GRAD",
"CSS_MS", "CSS_S", "CSS_HZ" and "CSS_KHZ".
CSS_DIMENSION
An array ref: "[$number, $unit_text]"
CSS_STRING
A simple scalar containing a string (not a CSS string literal;
i.e., no quotes or escapes).
CSS_URI
The URL (not a CSS literal)
CSS_IDENT
A string (no escapes)
CSS_ATTR
A string containing the name of the attribute.
CSS_COUNTER
An array ref: "[$name, $separator, $style]"
$separator and $style may each be "undef". If $separator is
"undef", the object represents a "counter(...)". Otherwise it
represents "counters(...)".
CSS_RECT
An array ref: "[$top, $right, $bottom, $left]"
The four elements are either CSSValue objects or array refs of
arguments to be passed to the constructor. E.g.:
[
[type => CSS_PX, value => 20],
[type => CSS_PERCENTAGE, value => 50],
[type => CSS_PERCENTAGE, value => 50],
[type => CSS_PX, value => 50],
]
When these array refs are converted to objects, the "format"
argument is supplied automatically, so you do not need to include
it here.
CSS_RGBCOLOR
A string beginning with '#', with no escapes (such as '#fff' or
'#c0ffee'), a colour name (like red) or an array ref with three to
four elements:
[$r, $g, $b]
[$r, $g, $b, $alpha]
The elements are either CSSValue objects or array refs of argument
lists, as with "CSS_RECT".
CONSTANTS
The following constants can be imported with "use
CSS::DOM::Value::Primitive ':all'". They represent the type of
primitive value.
CSS_UNKNOWN
CSS_NUMBER
CSS_PERCENTAGE
CSS_EMS
CSS_EXS
CSS_PX
CSS_CM
CSS_MM
CSS_IN
CSS_PT
CSS_PC
CSS_DEG
CSS_RAD
CSS_GRAD
CSS_MS
CSS_S
CSS_HZ
CSS_KHZ
CSS_DIMENSION
CSS_STRING
CSS_URI
CSS_IDENT
CSS_ATTR
CSS_COUNTER
CSS_RECT
CSS_RGBCOLOR
SEE ALSO
CSS::DOM
CSS::DOM::Value
CSS::DOM::Value::List
CSS::DOM::Style
perl v5.14.1 2010-12-10 CSS::DOM::Value::Primitive(3)