1
#ifndef oxygenshadowconfiguration_h
2
#define oxygenshadowconfiguration_h
4
//////////////////////////////////////////////////////////////////////////////
5
// oxygenshadowconfiguration.h
6
// shadow configuration
9
// Copyright (c) 2009 Hugo Pereira Da Costa <hugo.pereira@free.fr>
11
// Permission is hereby granted, free of charge, to any person obtaining a copy
12
// of this software and associated documentation files (the "Software"), to
13
// deal in the Software without restriction, including without limitation the
14
// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
15
// sell copies of the Software, and to permit persons to whom the Software is
16
// furnished to do so, subject to the following conditions:
18
// The above copyright notice and this permission notice shall be included in
19
// all copies or substantial portions of the Software.
21
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
22
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
23
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
24
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
25
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
26
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
28
//////////////////////////////////////////////////////////////////////////////
30
#include "oxygen_export.h"
32
#include <KConfigGroup>
33
#include <QtGui/QPalette>
35
namespace OxygenConfig
38
static const QString SHADOW_SIZE = "Size";
39
static const QString SHADOW_HOFFSET= "HorizontalOffset";
40
static const QString SHADOW_VOFFSET= "VerticalOffset";
41
static const QString SHADOW_INNER_COLOR = "InnerColor";
42
static const QString SHADOW_OUTER_COLOR = "OuterColor";
43
static const QString SHADOW_USE_OUTER_COLOR = "UseOuterColor";
45
static const QString ANIMATIONS_DURATION = "AnimationsDuration";
46
static const QString SHADOW_CACHE_MODE = "ShadowCacheMode";
48
static const QString USE_DROP_SHADOWS = "UseDropShadows";
49
static const QString USE_OXYGEN_SHADOWS = "UseOxygenShadows";
56
class OXYGEN_EXPORT ShadowConfiguration
61
//! button size enumeration
62
//! default constructor
63
ShadowConfiguration( QPalette::ColorGroup );
65
//! constructor from KConfig
66
ShadowConfiguration( QPalette::ColorGroup, const KConfigGroup& );
69
virtual ~ShadowConfiguration( void )
72
//! write to kconfig group
73
virtual void write( KConfigGroup& ) const;
76
QPalette::ColorGroup colorGroup( void ) const
77
{ return _colorGroup; }
80
void setEnabled( bool value )
84
bool isEnabled( void ) const
88
qreal shadowSize( void ) const
89
{ return _shadowSize; }
92
void setShadowSize( qreal value )
93
{ _shadowSize = value; }
96
qreal horizontalOffset( void ) const
97
{ return _horizontalOffset; }
100
void setHorizontalOffset( qreal value )
101
{ _horizontalOffset = value; }
104
qreal verticalOffset( void ) const
105
{ return _verticalOffset; }
108
void setVerticalOffset( qreal value )
109
{ _verticalOffset = value; }
112
QColor innerColor( void ) const
113
{ return _innerColor; }
116
void setInnerColor( QColor );
119
QColor midColor( void ) const
120
{ return _midColor; }
123
QColor outerColor( void ) const
124
{ return useOuterColor() ? _outerColor : _outerColor2; }
127
void setOuterColor( QColor );
130
bool useOuterColor( void ) const
131
{ return _useOuterColor; }
134
void setUseOuterColor( bool value )
135
{ _useOuterColor = value; }
137
//! equal to operator
138
bool operator == (const ShadowConfiguration& other ) const
141
_colorGroup == other._colorGroup &&
142
_enabled == other._enabled &&
143
_shadowSize == other._shadowSize &&
144
_horizontalOffset == other._horizontalOffset &&
145
_verticalOffset == other._verticalOffset &&
146
_innerColor == other._innerColor &&
147
( _useOuterColor == false || _outerColor == other._outerColor ) &&
148
_useOuterColor == other._useOuterColor;
154
void setMidColor( QColor );
156
//! calculated outer color
157
QColor outerColor2( void ) const
158
{ return _outerColor2; }
160
//! calculated outer color
161
void setOuterColor2( QColor );
163
//! calculate mid color
164
QColor calcMidColor( void ) const;
166
//! calculate outer color
167
QColor calcOuterColor( void ) const;
172
QPalette::ColorGroup _colorGroup;
180
//! horizontal offset
181
qreal _horizontalOffset;
184
qreal _verticalOffset;
195
//! calculated outer color