KD Chart 2  [rev.2.7]
KDChartAbstractThreeDAttributes.cpp
Go to the documentation of this file.
1 /****************************************************************************
2 ** Copyright (C) 2001-2020 Klaralvdalens Datakonsult AB. All rights reserved.
3 **
4 ** This file is part of the KD Chart library.
5 **
6 ** Licensees holding valid commercial KD Chart licenses may use this file in
7 ** accordance with the KD Chart Commercial License Agreement provided with
8 ** the Software.
9 **
10 **
11 ** This file may be distributed and/or modified under the terms of the
12 ** GNU General Public License version 2 and version 3 as published by the
13 ** Free Software Foundation and appearing in the file LICENSE.GPL.txt included.
14 **
15 ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
16 ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
17 **
18 ** Contact info@kdab.com if any conditions of this licensing are not
19 ** clear to you.
20 **
21 **********************************************************************/
22 
24 #include "KDChartAbstractThreeDAttributes_p.h"
25 
26 #include <QDebug>
27 #include <QBrush>
28 #include <KDABLibFakes>
29 
30 #define d d_func()
31 
32 
33 using namespace KDChart;
34 
35 
36 AbstractThreeDAttributes::Private::Private()
37  : enabled( false ),
38  depth( 20 ),
39  threeDBrushEnabled( false )
40 {
41 }
42 
43 
44 AbstractThreeDAttributes::AbstractThreeDAttributes()
45  : _d( new Private() )
46 {
47 }
48 
50  : _d( new Private( *r.d ) )
51 {
52 }
53 
55 {
56  if ( this == &r )
57  return *this;
58 
59  *d = *r.d;
60 
61  return *this;
62 }
63 
65 {
66  delete _d; _d = 0;
67 }
68 
69 
71 {
72  return isEnabled() == r.isEnabled() &&
73  depth() == r.depth() &&
75 }
76 
77 
78 void AbstractThreeDAttributes::init( )
79 {
80 
81 }
82 
84 {
85  d->enabled = enabled;
86 }
87 
89 {
90  return d->enabled;
91 }
92 
94 {
95  d->depth = depth;
96 }
97 
98 
100 {
101  return d->depth;
102 }
103 
104 
106 {
107  return isEnabled() ? d->depth : 0.0;
108 }
109 
111 {
112  return d->threeDBrushEnabled;
113 }
114 
116 {
117  d->threeDBrushEnabled = enabled;
118 }
119 
120 QBrush AbstractThreeDAttributes::threeDBrush( const QBrush& brush, const QRectF& rect ) const
121 {
122  if ( isThreeDBrushEnabled() ) {
123  QLinearGradient gr(rect.topLeft(), rect.bottomRight());
124  gr.setColorAt(0.0, brush.color());
125  gr.setColorAt(0.5, brush.color().lighter(180));
126  gr.setColorAt(1.0, brush.color());
127  return QBrush(gr);
128  }
129  return brush;
130 }
131 
132 #if !defined(QT_NO_DEBUG_STREAM)
133 QDebug operator<<(QDebug dbg, const KDChart::AbstractThreeDAttributes& a)
134 {
135  dbg << "enabled="<<a.isEnabled()
136  << "depth="<<a.depth();
137  return dbg;
138 }
139 #endif /* QT_NO_DEBUG_STREAM */
AbstractThreeDAttributes & operator=(const AbstractThreeDAttributes &)
virtual QBrush threeDBrush(const QBrush &brush, const QRectF &rect) const
QDebug operator<<(QDebug stream, const DataDimension &r)
bool operator==(const AbstractThreeDAttributes &) const

Klarälvdalens Datakonsult AB (KDAB)
"The Qt, C++ and OpenGL Experts"
https://www.kdab.com/

https://www.kdab.com/development-resources/qt-tools/kd-chart/