• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2     Copyright (C) 2006 Nikolas Zimmermann <zimmermann@kde.org>
3 
4     This file is part of the KDE project
5 
6     This library is free software; you can redistribute it and/or
7     modify it under the terms of the GNU Library General Public
8     License as published by the Free Software Foundation; either
9     version 2 of the License, or (at your option) any later version.
10 
11     This library is distributed in the hope that it will be useful,
12     but WITHOUT ANY WARRANTY; without even the implied warranty of
13     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14     Library General Public License for more details.
15 
16     You should have received a copy of the GNU Library General Public License
17     along with this library; see the file COPYING.LIB.  If not, write to
18     the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
19     Boston, MA 02110-1301, USA.
20 */
21 
22 #ifndef RadialGradientAttributes_h
23 #define RadialGradientAttributes_h
24 
25 #include "GradientAttributes.h"
26 
27 #if ENABLE(SVG)
28 
29 namespace WebCore {
30     struct RadialGradientAttributes : GradientAttributes {
RadialGradientAttributesRadialGradientAttributes31         RadialGradientAttributes()
32             : m_cx(0.5)
33             , m_cy(0.5)
34             , m_r(0.5)
35             , m_fx(0.0)
36             , m_fy(0.0)
37             , m_cxSet(false)
38             , m_cySet(false)
39             , m_rSet(false)
40             , m_fxSet(false)
41             , m_fySet(false)
42         {
43         }
44 
cxRadialGradientAttributes45         double cx() const { return m_cx; }
cyRadialGradientAttributes46         double cy() const { return m_cy; }
rRadialGradientAttributes47         double r() const { return m_r; }
fxRadialGradientAttributes48         double fx() const { return m_fx; }
fyRadialGradientAttributes49         double fy() const { return m_fy; }
50 
setCxRadialGradientAttributes51         void setCx(double value) { m_cx = value; m_cxSet = true; }
setCyRadialGradientAttributes52         void setCy(double value) { m_cy = value; m_cySet = true; }
setRRadialGradientAttributes53         void setR(double value) { m_r = value; m_rSet = true; }
setFxRadialGradientAttributes54         void setFx(double value) { m_fx = value; m_fxSet = true; }
setFyRadialGradientAttributes55         void setFy(double value) { m_fy = value; m_fySet = true; }
56 
hasCxRadialGradientAttributes57         bool hasCx() const { return m_cxSet; }
hasCyRadialGradientAttributes58         bool hasCy() const { return m_cySet; }
hasRRadialGradientAttributes59         bool hasR() const { return m_rSet; }
hasFxRadialGradientAttributes60         bool hasFx() const { return m_fxSet; }
hasFyRadialGradientAttributes61         bool hasFy() const { return m_fySet; }
62 
63     private:
64         // Properties
65         double m_cx;
66         double m_cy;
67         double m_r;
68         double m_fx;
69         double m_fy;
70 
71         // Property states
72         bool m_cxSet : 1;
73         bool m_cySet : 1;
74         bool m_rSet : 1;
75         bool m_fxSet : 1;
76         bool m_fySet : 1;
77     };
78 
79 } // namespace WebCore
80 
81 #endif // ENABLE(SVG)
82 #endif
83 
84 // vim:ts=4:noet
85