don't discard iframe children.
[kdelibs.git] / khtml / svg / SVGColor.h
blob9fe0369da492a87d1676ba8e21f73caba84b4821
1 /*
2 Copyright (C) 2004, 2005 Nikolas Zimmermann <wildfox@kde.org>
3 2004, 2005, 2006, 2007 Rob Buis <buis@kde.org>
5 This file is part of the KDE project
7 This library is free software; you can redistribute it and/or
8 modify it under the terms of the GNU Library General Public
9 License as published by the Free Software Foundation; either
10 version 2 of the License, or (at your option) any later version.
12 This library is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 Library General Public License for more details.
17 You should have received a copy of the GNU Library General Public License
18 along with this library; see the file COPYING.LIB. If not, write to
19 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
20 Boston, MA 02110-1301, USA.
23 #ifndef SVGColor_h
24 #define SVGColor_h
25 #if ENABLE(SVG)
27 #include "CSSValue.h"
28 #include "Color.h"
29 #include "PlatformString.h"
30 #include "ExceptionCode.h"
32 namespace WebCore {
34 using namespace khtml;
36 class SVGColor : public CSSValue {
37 public:
38 SVGColor();
39 SVGColor(const String& rgbColor);
40 SVGColor(const Color& c);
41 SVGColor(unsigned short colorType);
42 virtual ~SVGColor();
44 enum SVGColorType {
45 SVG_COLORTYPE_UNKNOWN = 0,
46 SVG_COLORTYPE_RGBCOLOR = 1,
47 SVG_COLORTYPE_RGBCOLOR_ICCCOLOR = 2,
48 SVG_COLORTYPE_CURRENTCOLOR = 3
51 // 'SVGColor' functions
52 unsigned short colorType() const;
54 unsigned rgbColor() const;
56 static Color colorFromRGBColorString(const String&);
58 void setRGBColor(const String& rgbColor) { ExceptionCode ignored = 0; setRGBColor(rgbColor, ignored); }
59 void setRGBColor(const String& rgbColor, ExceptionCode&);
60 void setRGBColorICCColor(const String& rgbColor, const String& iccColor, ExceptionCode&);
61 void setColor(unsigned short colorType, const String& rgbColor, const String& iccColor, ExceptionCode&);
63 virtual String cssText() const;
65 // Helpers
66 const Color& color() const;
68 virtual bool isSVGColor() const { return true; }
70 // KHTML compat
71 virtual unsigned short cssValueType() const { return DOM::CSSValue::CSS_CUSTOM; }
72 private:
73 Color m_color;
74 unsigned short m_colorType;
77 } // namespace WebCore
79 #endif // ENABLE(SVG)
80 #endif // SVGColor_h
82 // vim:ts=4:noet