File indexing completed on 2024-05-26 04:23:56

0001 /*
0002  * SPDX-FileCopyrightText: 2001-2015 Klaralvdalens Datakonsult AB. All rights reserved.
0003  *
0004  * This file is part of the KD Chart library.
0005  *
0006  * SPDX-License-Identifier: GPL-2.0-or-later
0007  */
0008 
0009 #ifndef KCHARTPIEDIAGRAM_P_H
0010 #define KCHARTPIEDIAGRAM_P_H
0011 
0012 //
0013 //  W A R N I N G
0014 //  -------------
0015 //
0016 // This file is not part of the KD Chart API.  It exists purely as an
0017 // implementation detail.  This header file may change from version to
0018 // version without notice, or even be removed.
0019 //
0020 // We mean it.
0021 //
0022 
0023 #include "KChartPieDiagram.h"
0024 #include "KChartAbstractPieDiagram_p.h"
0025 #include "KChartMath_p.h"
0026 
0027 
0028 namespace KChart {
0029 
0030 /**
0031  * \internal
0032  */
0033 class Q_DECL_HIDDEN PieDiagram::Private : public AbstractPieDiagram::Private
0034 {
0035     friend class PieDiagram;
0036 public:
0037     Private();
0038     ~Private() override;
0039 
0040     Private( const Private& rhs ) :
0041         AbstractPieDiagram::Private( rhs ),
0042         startAngles(),
0043         angleLens(),
0044         size( 0 ),
0045         labelDecorations( NoDecoration ),
0046         isCollisionAvoidanceEnabled( false )
0047         {
0048             // just for consistency
0049         }
0050 
0051 protected:
0052     // this information needed temporarily at drawing time
0053     QVector< qreal > startAngles;
0054     QVector< qreal > angleLens;
0055     qreal size;
0056     LabelPaintCache labelPaintCache;
0057     PieDiagram::LabelDecorations labelDecorations;
0058     bool isCollisionAvoidanceEnabled;
0059 };
0060 
0061 KCHART_IMPL_DERIVED_DIAGRAM( PieDiagram, AbstractPieDiagram, PolarCoordinatePlane )
0062 
0063 }
0064 
0065 #endif /* KCHARTPIEDIAGRAM_P_H */