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.
29 #include "PlatformString.h"
30 #include "ExceptionCode.h"
34 using namespace khtml
;
36 class SVGColor
: public CSSValue
{
39 SVGColor(const String
& rgbColor
);
40 SVGColor(const Color
& c
);
41 SVGColor(unsigned short colorType
);
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;
66 const Color
& color() const;
68 virtual bool isSVGColor() const { return true; }
71 virtual unsigned short cssValueType() const { return DOM::CSSValue::CSS_CUSTOM
; }
74 unsigned short m_colorType
;
77 } // namespace WebCore