You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
746 lines
21 KiB
746 lines
21 KiB
/*
|
|
* This file is part of the DOM implementation for KDE.
|
|
*
|
|
* (C) 1999 Lars Knoll (knoll@kde.org)
|
|
*
|
|
* This library is free software; you can redistribute it and/or
|
|
* modify it under the terms of the GNU Library General Public
|
|
* License as published by the Free Software Foundation; either
|
|
* version 2 of the License, or (at your option) any later version.
|
|
*
|
|
* This library is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
* Library General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU Library General Public License
|
|
* along with this library; see the file COPYING.LIB. If not, write to
|
|
* the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
|
* Boston, MA 02110-1301, USA.
|
|
*
|
|
* This file includes excerpts from the Document Object Model (DOM)
|
|
* Level 2 Specification (Style)
|
|
* http://www.w3.org/TR/DOM-Level-2-Style/
|
|
* Copyright © 2000 W3C® (MIT, INRIA, Keio), All Rights Reserved.
|
|
*
|
|
*/
|
|
#ifndef _CSS_css_value_h_
|
|
#define _CSS_css_value_h_
|
|
|
|
#include <dom/dom_string.h>
|
|
|
|
#include <qcolor.h>
|
|
|
|
#include <kdemacros.h>
|
|
|
|
namespace DOM {
|
|
|
|
class CSSStyleDeclarationImpl;
|
|
class CSSRule;
|
|
class CSSValue;
|
|
|
|
/**
|
|
* The \c CSSStyleDeclaration interface represents a
|
|
* single <a href="http://www.w3.org/TR/REC-CSS2/syndata.html#block">
|
|
* CSS declaration block </a> . This interface may be used to
|
|
* determine the style properties currently set in a block or to set
|
|
* style properties explicitly within the block.
|
|
*
|
|
* While an implementation may not recognize all CSS properties
|
|
* within a CSS declaration block, it is expected to provide access to
|
|
* all specified properties through the \c CSSStyleDeclaration
|
|
* interface. Furthermore, implementations that support a
|
|
* specific level of CSS should correctly handle <a
|
|
* href="http://www.w3.org/TR/REC-CSS2/about.html#shorthand"> CSS
|
|
* shorthand </a> properties for that level. For a further discussion
|
|
* of shorthand properties, see the \c CSS2Properties
|
|
* interface.
|
|
*
|
|
*/
|
|
class KHTML_EXPORT CSSStyleDeclaration
|
|
{
|
|
public:
|
|
CSSStyleDeclaration();
|
|
CSSStyleDeclaration(const CSSStyleDeclaration &other);
|
|
CSSStyleDeclaration(CSSStyleDeclarationImpl *impl);
|
|
public:
|
|
|
|
CSSStyleDeclaration & operator = (const CSSStyleDeclaration &other);
|
|
|
|
~CSSStyleDeclaration();
|
|
|
|
/**
|
|
* The parsable textual representation of the declaration block
|
|
* (including the surrounding curly braces). Setting this
|
|
* attribute will result in the parsing of the new value and
|
|
* resetting of the properties in the declaration block.
|
|
*
|
|
*/
|
|
DOM::DOMString cssText() const;
|
|
|
|
/**
|
|
* see cssText
|
|
* @exception CSSException
|
|
* SYNTAX_ERR: Raised if the specified CSS string value has a
|
|
* syntax error and is unparsable.
|
|
*
|
|
* @exception DOMException
|
|
* NO_MODIFICATION_ALLOWED_ERR: Raised if this declaration is
|
|
* readonly.
|
|
*
|
|
*/
|
|
void setCssText( const DOM::DOMString & );
|
|
|
|
/**
|
|
* The number of properties that have been explicitly set in this
|
|
* declaration block.
|
|
*
|
|
*/
|
|
unsigned long length() const;
|
|
|
|
/**
|
|
* The CSS rule that contains this declaration block.
|
|
*
|
|
*/
|
|
CSSRule parentRule() const;
|
|
|
|
/**
|
|
* Used to retrieve the value of a CSS property if it has been
|
|
* explicitly set within this declaration block.
|
|
*
|
|
* @param propertyName The name of the CSS property. See the <a
|
|
* href="http://www.w3.org/TR/REC-CSS2/propidx.html"> CSS property
|
|
* index </a> .
|
|
*
|
|
* @return Returns the value of the property if it has been
|
|
* explicitly set for this declaration block. Returns the empty
|
|
* string if the property has not been set.
|
|
*
|
|
*/
|
|
DOM::DOMString getPropertyValue ( const DOM::DOMString &propertyName ) const;
|
|
DOM::DOMString getPropertyValue ( const DOM::DOMString &propertyName );
|
|
|
|
/**
|
|
* Used to retrieve the object representation of the value of a
|
|
* CSS property if it has been explicitly set within this
|
|
* declaration block. This method returns null if the property is
|
|
* a <a href="http://www.w3.org/TR/REC-CSS2/about.html#shorthand">
|
|
* shorthand </a> property. Shorthand property values can only be
|
|
* accessed and modified as strings, using the
|
|
* \c getPropertyValue and \c setProperty
|
|
* methods.
|
|
*
|
|
* @param propertyName The name of the CSS property. See the <a
|
|
* href="http://www.w3.org/TR/REC-CSS2/propidx.html"> CSS property
|
|
* index </a> .
|
|
*
|
|
* @return Returns the value of the property if it has been
|
|
* explicitly set for this declaration block. Returns the
|
|
* \c null if the property has not been set.
|
|
*
|
|
*/
|
|
CSSValue getPropertyCSSValue ( const DOM::DOMString &propertyName ) const;
|
|
CSSValue getPropertyCSSValue ( const DOM::DOMString &propertyName );
|
|
|
|
/**
|
|
* Used to remove a CSS property if it has been explicitly set
|
|
* within this declaration block.
|
|
*
|
|
* @param propertyName The name of the CSS property. See the <a
|
|
* href="http://www.w3.org/TR/REC-CSS2/propidx.html"> CSS property
|
|
* index </a> .
|
|
*
|
|
* @return Returns the value of the property if it has been
|
|
* explicitly set for this declaration block. Returns the empty
|
|
* string if the property has not been set or the property name
|
|
* does not correspond to a valid CSS2 property.
|
|
*
|
|
* @exception DOMException
|
|
* NO_MODIFICATION_ALLOWED_ERR: Raised if this declaration is
|
|
* readonly.
|
|
*
|
|
*/
|
|
DOM::DOMString removeProperty ( const DOM::DOMString &propertyName );
|
|
|
|
/**
|
|
* Used to retrieve the priority of a CSS property (e.g. the
|
|
* \c "important" qualifier) if the property has been
|
|
* explicitly set in this declaration block.
|
|
*
|
|
* @param propertyName The name of the CSS property. See the <a
|
|
* href="http://www.w3.org/TR/REC-CSS2/propidx.html"> CSS property
|
|
* index </a> .
|
|
*
|
|
* @return A string representing the priority (e.g.
|
|
* \c "important" ) if one exists. The empty string if none
|
|
* exists.
|
|
*
|
|
*/
|
|
DOM::DOMString getPropertyPriority ( const DOM::DOMString &propertyName ) const;
|
|
DOM::DOMString getPropertyPriority ( const DOM::DOMString &propertyName );
|
|
|
|
/**
|
|
* Used to set a property value and priority within this
|
|
* declaration block.
|
|
*
|
|
* @param propertyName The name of the CSS property. See the <a
|
|
* href="http://www.w3.org/TR/REC-CSS2/propidx.html"> CSS property
|
|
* index </a> .
|
|
*
|
|
* @param value The new value of the property.
|
|
*
|
|
* @param priority The new priority of the property (e.g.
|
|
* \c "important" ).
|
|
*
|
|
* @return
|
|
*
|
|
* @exception CSSException
|
|
* SYNTAX_ERR: Raised if the specified value has a syntax error
|
|
* and is unparsable.
|
|
*
|
|
* @exception DOMException
|
|
* NO_MODIFICATION_ALLOWED_ERR: Raised if this declaration is
|
|
* readonly.
|
|
*
|
|
*/
|
|
void setProperty ( const DOM::DOMString &propertyName, const DOM::DOMString &value, const DOM::DOMString &priority );
|
|
|
|
/**
|
|
* Used to retrieve the properties that have been explicitly set
|
|
* in this declaration block. The order of the properties
|
|
* retrieved using this method does not have to be the order in
|
|
* which they were set. This method can be used to iterate over
|
|
* all properties in this declaration block.
|
|
*
|
|
* @param index Index of the property name to retrieve.
|
|
*
|
|
* @return The name of the property at this ordinal position. The
|
|
* empty string if no property exists at this position.
|
|
*
|
|
*/
|
|
DOM::DOMString item ( unsigned long index ) const;
|
|
DOM::DOMString item ( unsigned long index );
|
|
|
|
/**
|
|
* @internal
|
|
* not part of the DOM
|
|
*/
|
|
CSSStyleDeclarationImpl *handle() const;
|
|
bool isNull() const;
|
|
|
|
protected:
|
|
CSSStyleDeclarationImpl *impl;
|
|
};
|
|
|
|
|
|
class CSSValueImpl;
|
|
|
|
/**
|
|
* The \c CSSValue interface represents a simple or a
|
|
* complexe value.
|
|
*
|
|
*/
|
|
class KHTML_EXPORT CSSValue
|
|
{
|
|
public:
|
|
CSSValue();
|
|
CSSValue(const CSSValue &other);
|
|
CSSValue(CSSValueImpl *impl);
|
|
public:
|
|
|
|
CSSValue & operator = (const CSSValue &other);
|
|
|
|
~CSSValue();
|
|
/**
|
|
* An integer indicating which type of unit applies to the value.
|
|
*
|
|
* All CSS2 constants are not supposed to be required by the
|
|
* implementation since all CSS2 interfaces are optionals.
|
|
*
|
|
*/
|
|
enum UnitTypes {
|
|
CSS_INHERIT = 0,
|
|
CSS_PRIMITIVE_VALUE = 1,
|
|
CSS_VALUE_LIST = 2,
|
|
CSS_CUSTOM = 3,
|
|
CSS_INITIAL = 4
|
|
};
|
|
|
|
/**
|
|
* A string representation of the current value.
|
|
*
|
|
*/
|
|
DOM::DOMString cssText() const;
|
|
|
|
/**
|
|
* see cssText
|
|
* @exception CSSException
|
|
* SYNTAX_ERR: Raised if the specified CSS string value has a
|
|
* syntax error and is unparsable.
|
|
*
|
|
* @exception DOMException
|
|
* NO_MODIFICATION_ALLOWED_ERR: Raised if this declaration is
|
|
* readonly.
|
|
*
|
|
*/
|
|
void setCssText( const DOM::DOMString & );
|
|
|
|
/**
|
|
* A code defining the type of the value as defined above.
|
|
*
|
|
*/
|
|
unsigned short cssValueType() const;
|
|
|
|
/**
|
|
* @internal
|
|
* not part of the DOM
|
|
*/
|
|
bool isCSSValueList() const;
|
|
bool isCSSPrimitiveValue() const;
|
|
CSSValueImpl *handle() const;
|
|
bool isNull() const;
|
|
|
|
protected:
|
|
CSSValueImpl *impl;
|
|
};
|
|
|
|
|
|
class CSSValueListImpl;
|
|
class CSSValue;
|
|
|
|
/**
|
|
* The \c CSSValueList interface provides the absraction
|
|
* of an ordered collection of CSS values.
|
|
*
|
|
*/
|
|
class KHTML_EXPORT CSSValueList : public CSSValue
|
|
{
|
|
public:
|
|
CSSValueList();
|
|
CSSValueList(const CSSValueList &other);
|
|
CSSValueList(const CSSValue &other);
|
|
CSSValueList(CSSValueListImpl *impl);
|
|
public:
|
|
|
|
CSSValueList & operator = (const CSSValueList &other);
|
|
CSSValueList & operator = (const CSSValue &other);
|
|
|
|
~CSSValueList();
|
|
|
|
/**
|
|
* The number of \c CSSValue s in the list. The range
|
|
* of valid values indices is \c 0 to \c length-1
|
|
* inclusive.
|
|
*
|
|
*/
|
|
unsigned long length() const;
|
|
|
|
/**
|
|
* Used to retrieve a CSS rule by ordinal index. The order in this
|
|
* collection represents the order of the values in the CSS style
|
|
* property.
|
|
*
|
|
* @param index Index into the collection.
|
|
*
|
|
* @return The style rule at the \c index position in
|
|
* the \c CSSValueList , or \c null if
|
|
* that is not valid index.
|
|
*
|
|
*/
|
|
CSSValue item ( unsigned long index );
|
|
|
|
protected:
|
|
CSSValueListImpl *vimpl;
|
|
};
|
|
|
|
|
|
class CSSPrimitiveValueImpl;
|
|
class Counter;
|
|
class RGBColor;
|
|
class Rect;
|
|
|
|
/**
|
|
* The \c CSSPrimitiveValue interface represents a single
|
|
* <a href="http://www.w3.org/TR/REC-CSS2/syndata.html#values"> CSS
|
|
* value </a> . 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 properties explicitly within the block. An instance
|
|
* of this interface can be obtained from the
|
|
* \c getPropertyCSSValue method of the
|
|
* \c CSSStyleDeclaration interface.
|
|
*
|
|
*/
|
|
class KHTML_EXPORT CSSPrimitiveValue : public CSSValue
|
|
{
|
|
public:
|
|
CSSPrimitiveValue();
|
|
CSSPrimitiveValue(const CSSPrimitiveValue &other);
|
|
CSSPrimitiveValue(const CSSValue &other);
|
|
CSSPrimitiveValue(CSSPrimitiveValueImpl *impl);
|
|
public:
|
|
|
|
CSSPrimitiveValue & operator = (const CSSPrimitiveValue &other);
|
|
CSSPrimitiveValue & operator = (const CSSValue &other);
|
|
|
|
~CSSPrimitiveValue();
|
|
/**
|
|
* An integer indicating which type of unit applies to the value.
|
|
*
|
|
*/
|
|
enum UnitTypes {
|
|
CSS_UNKNOWN = 0,
|
|
CSS_NUMBER = 1,
|
|
CSS_PERCENTAGE = 2,
|
|
CSS_EMS = 3,
|
|
CSS_EXS = 4,
|
|
CSS_PX = 5,
|
|
CSS_CM = 6,
|
|
CSS_MM = 7,
|
|
CSS_IN = 8,
|
|
CSS_PT = 9,
|
|
CSS_PC = 10,
|
|
CSS_DEG = 11,
|
|
CSS_RAD = 12,
|
|
CSS_GRAD = 13,
|
|
CSS_MS = 14,
|
|
CSS_S = 15,
|
|
CSS_HZ = 16,
|
|
CSS_KHZ = 17,
|
|
CSS_DIMENSION = 18,
|
|
CSS_STRING = 19,
|
|
CSS_URI = 20,
|
|
CSS_IDENT = 21,
|
|
CSS_ATTR = 22,
|
|
CSS_COUNTER = 23,
|
|
CSS_RECT = 24,
|
|
CSS_RGBCOLOR = 25,
|
|
CSS_PAIR = 100, // We envision this being exposed as a means of getting computed style values for pairs
|
|
CSS_HTML_RELATIVE = 255
|
|
};
|
|
|
|
/**
|
|
* The type of the value as defined by the constants specified
|
|
* above.
|
|
*
|
|
*/
|
|
unsigned short primitiveType() const;
|
|
|
|
/**
|
|
* 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
|
|
* \c DOMException will be raised.
|
|
*
|
|
* @param unitType A unit code as defined above. The unit code can
|
|
* only be a float unit type (e.g. \c NUMBER ,
|
|
* \c PERCENTAGE , \c CSS_EMS , \c CSS_EXS
|
|
* , \c CSS_PX , \c CSS_PX ,
|
|
* \c CSS_CM , \c CSS_MM , \c CSS_IN
|
|
* , \c CSS_PT , \c CSS_PC ,
|
|
* \c CSS_DEG , \c CSS_RAD ,
|
|
* \c CSS_GRAD , \c CSS_MS , \c CSS_S
|
|
* , \c CSS_HZ , \c CSS_KHZ ,
|
|
* \c CSS_DIMENSION ).
|
|
*
|
|
* @param floatValue The new float value.
|
|
*
|
|
* @return
|
|
* @exception DOMException
|
|
* INVALID_ACCESS_ERR: Raises if the attached property doesn't
|
|
* support the float value or the unit type.
|
|
*
|
|
* NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
|
|
* readonly.
|
|
*
|
|
*/
|
|
void setFloatValue ( unsigned short unitType, float floatValue );
|
|
|
|
/**
|
|
* 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 \c DOMException
|
|
* is raised.
|
|
*
|
|
* @param unitType A unit code to get the float value. The unit
|
|
* code can only be a float unit type (e.g. \c CSS_NUMBER
|
|
* , \c CSS_PERCENTAGE , \c CSS_EMS
|
|
* , \c CSS_EXS , \c CSS_PX ,
|
|
* \c CSS_PX , \c CSS_CM , \c CSS_MM
|
|
* , \c CSS_IN , \c CSS_PT ,
|
|
* \c CSS_PC , \c CSS_DEG , \c CSS_RAD
|
|
* , \c CSS_GRAD , \c CSS_MS ,
|
|
* \c CSS_S , \c CSS_HZ , \c CSS_KHZ
|
|
* , \c CSS_DIMENSION ).
|
|
*
|
|
* @return The float value in the specified unit.
|
|
*
|
|
* @exception DOMException
|
|
* INVALID_ACCESS_ERR: Raises if the CSS value doesn't contain a
|
|
* float value or if the float value can't be converted into the
|
|
* specified unit.
|
|
*
|
|
*/
|
|
// ### KDE 4: make this const!
|
|
float getFloatValue ( unsigned short unitType );
|
|
|
|
/**
|
|
* A method to set the string value with a 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
|
|
* \c DOMException will be raised.
|
|
*
|
|
* @param stringType A string code as defined above. The string
|
|
* code can only be a string unit type (e.g. \c CSS_URI
|
|
* , \c CSS_IDENT , \c CSS_INHERIT
|
|
* and \c CSS_ATTR ).
|
|
*
|
|
* @param stringValue The new string value. If the
|
|
* \c stringType is equal to \c CSS_INHERIT , the
|
|
* \c stringValue should be \c inherit .
|
|
*
|
|
* @return
|
|
* @exception DOMException
|
|
* INVALID_ACCESS_ERR: Raises if the CSS value doesn't contain a
|
|
* string value or if the string value can't be converted into the
|
|
* specified unit.
|
|
*
|
|
* NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
|
|
* readonly.
|
|
*
|
|
*/
|
|
void setStringValue ( unsigned short stringType, const DOM::DOMString &stringValue );
|
|
|
|
/**
|
|
* This method is used to get the string value in a specified
|
|
* unit. If the CSS value doesn't contain a string value, a
|
|
* \c DOMException is raised.
|
|
*
|
|
* @return The string value in the current unit. The current
|
|
* \c valueType can only be a string unit type (e.g.
|
|
* \c CSS_URI , \c CSS_IDENT and
|
|
* \c CSS_ATTR ).
|
|
*
|
|
* @exception DOMException
|
|
* INVALID_ACCESS_ERR: Raises if the CSS value doesn't contain a
|
|
* string value.
|
|
*
|
|
*/
|
|
// ### KDE4: make this const!
|
|
DOM::DOMString getStringValue ( );
|
|
|
|
/**
|
|
* This method is used to get the Counter value. If this CSS value
|
|
* doesn't contain a counter value, a \c DOMException
|
|
* is raised. Modification to the corresponding style property can
|
|
* be achieved using the \c Counter interface.
|
|
*
|
|
* @return The Counter value.
|
|
*
|
|
* @exception DOMException
|
|
* INVALID_ACCESS_ERR: Raises if the CSS value doesn't contain a
|
|
* Counter value.
|
|
*
|
|
*/
|
|
// ### KDE4: make this const!
|
|
Counter getCounterValue ( );
|
|
|
|
/**
|
|
* This method is used to get the Rect value. If this CSS value
|
|
* doesn't contain a rect value, a \c DOMException is
|
|
* raised. Modification to the corresponding style property can be
|
|
* achieved using the \c Rect interface.
|
|
*
|
|
* @return The Rect value.
|
|
*
|
|
* @exception DOMException
|
|
* INVALID_ACCESS_ERR: Raises if the CSS value doesn't contain a
|
|
* Rect value.
|
|
*
|
|
*/
|
|
// ### KDE4: make this const!
|
|
Rect getRectValue ( );
|
|
|
|
/**
|
|
* This method is used to get the RGB color. If this CSS value
|
|
* doesn't contain a RGB color value, a \c DOMException
|
|
* is raised. Modification to the corresponding style
|
|
* property can be achieved using the \c RGBColor
|
|
* interface.
|
|
*
|
|
* @return the RGB color value.
|
|
*
|
|
* @exception DOMException
|
|
* INVALID_ACCESS_ERR: Raises if the attached property can't
|
|
* return a RGB color value.
|
|
*
|
|
*/
|
|
// ### KDE4: make this const!
|
|
RGBColor getRGBColorValue ( );
|
|
};
|
|
|
|
|
|
|
|
/**
|
|
* The \c RGBColor interface is used to represent any <a
|
|
* href="http://www.w3.org/TR/REC-CSS2/syndata.html#value-def-color">
|
|
* RGB color </a> value. This interface reflects the values in the
|
|
* underlying style property. Hence, modifications made through this
|
|
* interface modify the style property.
|
|
*
|
|
*/
|
|
class KHTML_EXPORT RGBColor
|
|
{
|
|
public:
|
|
RGBColor();
|
|
/**
|
|
* @deprecated
|
|
*/
|
|
RGBColor(const QColor& c) { m_color = c.rgb(); }
|
|
RGBColor(QRgb color);
|
|
|
|
RGBColor(const RGBColor &other);
|
|
RGBColor & operator = (const RGBColor &other);
|
|
|
|
~RGBColor();
|
|
|
|
/**
|
|
* This attribute is used for the red value of the RGB color.
|
|
*
|
|
*/
|
|
CSSPrimitiveValue red() const;
|
|
|
|
/**
|
|
* This attribute is used for the green value of the RGB color.
|
|
*
|
|
*/
|
|
CSSPrimitiveValue green() const;
|
|
|
|
/**
|
|
* This attribute is used for the blue value of the RGB color.
|
|
*
|
|
*/
|
|
CSSPrimitiveValue blue() const;
|
|
|
|
/**
|
|
* @internal
|
|
*/
|
|
QRgb color() const { return m_color; }
|
|
protected:
|
|
QRgb m_color;
|
|
};
|
|
|
|
class RectImpl;
|
|
|
|
/**
|
|
* The \c Rect interface is used to represent any <a
|
|
* href="http://www.w3.org/TR/REC-CSS2/visufx.html#value-def-shape">
|
|
* rect </a> value. This interface reflects the values in the
|
|
* underlying style property. Hence, modifications made through this
|
|
* interface modify the style property.
|
|
*
|
|
*/
|
|
class KHTML_EXPORT Rect
|
|
{
|
|
friend class CSSPrimitiveValue;
|
|
public:
|
|
Rect();
|
|
Rect(const Rect &other);
|
|
|
|
Rect & operator = (const Rect &other);
|
|
|
|
~Rect();
|
|
|
|
/**
|
|
* This attribute is used for the top of the rect.
|
|
*
|
|
*/
|
|
CSSPrimitiveValue top() const;
|
|
|
|
/**
|
|
* This attribute is used for the right of the rect.
|
|
*
|
|
*/
|
|
CSSPrimitiveValue right() const;
|
|
|
|
/**
|
|
* This attribute is used for the bottom of the rect.
|
|
*
|
|
*/
|
|
CSSPrimitiveValue bottom() const;
|
|
|
|
/**
|
|
* This attribute is used for the left of the rect.
|
|
*
|
|
*/
|
|
CSSPrimitiveValue left() const;
|
|
|
|
/**
|
|
* @internal
|
|
* not part of the DOM
|
|
*/
|
|
RectImpl *handle() const;
|
|
bool isNull() const;
|
|
|
|
protected:
|
|
RectImpl *impl;
|
|
Rect(RectImpl *i);
|
|
};
|
|
|
|
class CounterImpl;
|
|
|
|
/**
|
|
* The \c Counter interface is used to represent any <a
|
|
* href="http://www.w3.org/TR/REC-CSS2/syndata.html#value-def-counter">
|
|
* counter or counters function </a> value. This interface reflects
|
|
* the values in the underlying style property. Hence, modifications
|
|
* made through this interface modify the style property.
|
|
*
|
|
*/
|
|
class KHTML_EXPORT Counter
|
|
{
|
|
friend class CSSPrimitiveValue;
|
|
public:
|
|
Counter();
|
|
Counter(const Counter &other);
|
|
public:
|
|
|
|
Counter & operator = (const Counter &other);
|
|
|
|
~Counter();
|
|
|
|
/**
|
|
* This attribute is used for the identifier of the counter.
|
|
*
|
|
*/
|
|
DOM::DOMString identifier() const;
|
|
|
|
/**
|
|
* This attribute is used for the style of the list.
|
|
*
|
|
*/
|
|
DOM::DOMString listStyle() const;
|
|
|
|
/**
|
|
* This attribute is used for the separator of nested counters.
|
|
*
|
|
*/
|
|
DOM::DOMString separator() const;
|
|
|
|
/**
|
|
* @internal
|
|
* not part of the DOM
|
|
*/
|
|
CounterImpl *handle() const;
|
|
bool isNull() const;
|
|
|
|
protected:
|
|
CounterImpl *impl;
|
|
Counter(CounterImpl *i);
|
|
};
|
|
|
|
|
|
} // namespace
|
|
|
|
|
|
#endif
|