File indexing completed on 2024-04-28 15:22:39

0001 /*
0002  * This file is part of the DOM implementation for KDE.
0003  *
0004  * Copyright 1999 Lars Knoll (knoll@kde.org)
0005  *
0006  * This library is free software; you can redistribute it and/or
0007  * modify it under the terms of the GNU Library General Public
0008  * License as published by the Free Software Foundation; either
0009  * version 2 of the License, or (at your option) any later version.
0010  *
0011  * This library is distributed in the hope that it will be useful,
0012  * but WITHOUT ANY WARRANTY; without even the implied warranty of
0013  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
0014  * Library General Public License for more details.
0015  *
0016  * You should have received a copy of the GNU Library General Public License
0017  * along with this library; see the file COPYING.LIB.  If not, write to
0018  * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
0019  * Boston, MA 02110-1301, USA.
0020  *
0021  */
0022 #ifndef _CSS_css_extensionsimpl_h_
0023 #define _CSS_css_extensionsimpl_h_
0024 
0025 #include "css_valueimpl.h"
0026 #include "dom_string.h"
0027 
0028 namespace DOM
0029 {
0030 
0031 class CSS2AzimuthImpl : public CSSValueImpl
0032 {
0033 public:
0034     CSS2AzimuthImpl(DocumentImpl *doc);
0035 
0036     ~CSS2AzimuthImpl();
0037 
0038     unsigned short azimuthType() const;
0039     DOM::DOMString identifier() const;
0040     bool behind() const;
0041     void setAngleValue(const unsigned short &unitType, const float &floatValue);
0042     float getAngleValue(const unsigned short &unitType);
0043     void setIdentifier(const DOM::DOMString &identifier, const bool &behind);
0044 };
0045 
0046 class DOM::DOMString;
0047 
0048 class CSS2BackgroundPositionImpl : public CSSValueImpl
0049 {
0050 public:
0051     CSS2BackgroundPositionImpl(DocumentImpl *doc);
0052 
0053     ~CSS2BackgroundPositionImpl();
0054 
0055     unsigned short horizontalType() const;
0056     unsigned short verticalType() const;
0057     DOM::DOMString horizontalIdentifier() const;
0058     DOM::DOMString verticalIdentifier() const;
0059     float getHorizontalPosition(const float &horizontalType);
0060     float getVerticalPosition(const float &verticalType);
0061     void setHorizontalPosition(const unsigned short &horizontalType, const float &value);
0062     void setVerticalPosition(const unsigned short &verticalType, const float &value);
0063     void setPositionIdentifier(const DOM::DOMString &horizontalIdentifier, const DOM::DOMString &verticalIdentifier);
0064 };
0065 
0066 class CSS2BorderSpacingImpl : public CSSValueImpl
0067 {
0068 public:
0069     CSS2BorderSpacingImpl(DocumentImpl *doc);
0070 
0071     ~CSS2BorderSpacingImpl();
0072 
0073     unsigned short horizontalType() const;
0074     unsigned short verticalType() const;
0075     float getHorizontalSpacing(const float &horizontalType);
0076     float getVerticalSpacing(const float &verticalType);
0077     void setHorizontalSpacing(const unsigned short &horizontalType, const float &value);
0078     void setVerticalSpacing(const unsigned short &verticalType, const float &value);
0079     void setInherit();
0080 };
0081 
0082 class CSS2CounterIncrementImpl
0083 {
0084 public:
0085     CSS2CounterIncrementImpl(DocumentImpl *doc);
0086 
0087     ~CSS2CounterIncrementImpl();
0088 
0089     short increment() const;
0090     void setIncrement(const short &);
0091 };
0092 
0093 class CSS2CounterResetImpl
0094 {
0095 public:
0096     CSS2CounterResetImpl(DocumentImpl *doc);
0097 
0098     ~CSS2CounterResetImpl();
0099 
0100     short reset() const;
0101     void setReset(const short &);
0102 };
0103 
0104 class CSS2CursorImpl : public CSSValueImpl
0105 {
0106 public:
0107     CSS2CursorImpl(DocumentImpl *doc);
0108 
0109     ~CSS2CursorImpl();
0110 
0111     unsigned short cursorType() const;
0112     void setCursorType(const unsigned short &);
0113 
0114     CSSValueList uris() const;
0115 };
0116 
0117 class CSS2FontFaceSrcImpl
0118 {
0119 public:
0120     CSS2FontFaceSrcImpl(DocumentImpl *doc);
0121 
0122     ~CSS2FontFaceSrcImpl();
0123 
0124     CSSValueList format() const;
0125 };
0126 
0127 class CSS2FontFaceWidthsImpl
0128 {
0129 public:
0130     CSS2FontFaceWidthsImpl(DocumentImpl *doc);
0131 
0132     ~CSS2FontFaceWidthsImpl();
0133 
0134     CSSValueList numbers() const;
0135 };
0136 
0137 class CSS2PageSizeImpl : public CSSValueImpl
0138 {
0139 public:
0140     CSS2PageSizeImpl(DocumentImpl *doc);
0141 
0142     ~CSS2PageSizeImpl();
0143 
0144     unsigned short widthType() const;
0145     unsigned short heightType() const;
0146     DOM::DOMString identifier() const;
0147     float getWidth(const float &widthType);
0148     float getHeightSize(const float &heightType);
0149     void setWidthSize(const unsigned short &widthType, const float &value);
0150     void setHeightSize(const unsigned short &heightType, const float &value);
0151     void setIdentifier(const DOM::DOMString &identifier);
0152 };
0153 
0154 class CSS2PlayDuringImpl : public CSSValueImpl
0155 {
0156 public:
0157     CSS2PlayDuringImpl(DocumentImpl *doc);
0158 
0159     ~CSS2PlayDuringImpl();
0160 
0161     unsigned short playDuringType() const;
0162     bool mix() const;
0163 
0164     void setMix(const bool &);
0165     bool repeat() const;
0166 
0167     void setRepeat(const bool &);
0168 };
0169 
0170 class CSS2PropertiesImpl
0171 {
0172 public:
0173     CSS2PropertiesImpl(DocumentImpl *doc);
0174 
0175     ~CSS2PropertiesImpl();
0176 };
0177 
0178 class CSS2TextShadowImpl
0179 {
0180 public:
0181     CSS2TextShadowImpl(DocumentImpl *doc);
0182 
0183     ~CSS2TextShadowImpl();
0184 
0185     CSSValue color() const;
0186     CSSValue horizontal() const;
0187     CSSValue vertical() const;
0188     CSSValue blur() const;
0189 };
0190 
0191 }; // namespace
0192 
0193 #endif