54eaf797b1403d16a6073f5b1c0e7e4127733ee5
[WebKit-https.git] / WebCore / ksvg2 / svg / SVGPaint.h
1 /*
2     Copyright (C) 2004, 2005 Nikolas Zimmermann <wildfox@kde.org>
3                   2004, 2005 Rob Buis <buis@kde.org>
4
5     This file is part of the KDE project
6
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.
11
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.
16
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., 59 Temple Place - Suite 330,
20     Boston, MA 02111-1307, USA.
21 */
22
23 #ifndef KSVG_SVGPaintImpl_H
24 #define KSVG_SVGPaintImpl_H
25 #ifdef SVG_SUPPORT
26
27 #include "ksvg.h"
28 #include <SVGColor.h>
29
30 namespace WebCore {
31
32     class SVGPaint : public SVGColor {
33     public:
34         enum SVGPaintType {
35             SVG_PAINTTYPE_UNKNOWN               = 0,
36             SVG_PAINTTYPE_RGBCOLOR              = 1,
37             SVG_PAINTTYPE_RGBCOLOR_ICCCOLOR     = 2,
38             SVG_PAINTTYPE_NONE                  = 101,
39             SVG_PAINTTYPE_CURRENTCOLOR          = 102,
40             SVG_PAINTTYPE_URI_NONE              = 103,
41             SVG_PAINTTYPE_URI_CURRENTCOLOR      = 104,
42             SVG_PAINTTYPE_URI_RGBCOLOR          = 105,
43             SVG_PAINTTYPE_URI_RGBCOLOR_ICCCOLOR = 106,
44             SVG_PAINTTYPE_URI                   = 107
45         };
46
47         SVGPaint();
48         SVGPaint(const String& uri);
49         SVGPaint(SVGPaintType);
50         SVGPaint(SVGPaintType, const String& uri, const String& rgbPaint = String(), const String& iccPaint = String());
51         virtual ~SVGPaint();
52
53         // 'SVGPaint' functions
54         SVGPaintType paintType() const { return m_paintType; }
55         String uri() const;
56
57         void setUri(const String&);
58         void setPaint(SVGPaintType, const String& uri, const String& rgbPaint, const String& iccPaint, ExceptionCode&);
59
60         virtual String cssText() const;
61
62     private:
63         SVGPaintType m_paintType;
64         String m_uri;
65     };
66
67 } // namespace WebCore
68
69 #endif // SVG_SUPPORT
70 #endif // KSVG_SVGPaintImpl_H
71
72 // vim:ts=4:noet