1 /**************************************************************************** 2 ** 3 ** Copyright (C) 2016 The Qt Company Ltd. 4 ** Contact: https://www.qt.io/licensing/ 5 ** 6 ** This file is part of the Qt Charts module of the Qt Toolkit. 7 ** 8 ** $QT_BEGIN_LICENSE:GPL$ 9 ** Commercial License Usage 10 ** Licensees holding valid commercial Qt licenses may use this file in 11 ** accordance with the commercial license agreement provided with the 12 ** Software or, alternatively, in accordance with the terms contained in 13 ** a written agreement between you and The Qt Company. For licensing terms 14 ** and conditions see https://www.qt.io/terms-conditions. For further 15 ** information use the contact form at https://www.qt.io/contact-us. 16 ** 17 ** GNU General Public License Usage 18 ** Alternatively, this file may be used under the terms of the GNU 19 ** General Public License version 3 or (at your option) any later version 20 ** approved by the KDE Free Qt Foundation. The licenses are as published by 21 ** the Free Software Foundation and appearing in the file LICENSE.GPL3 22 ** included in the packaging of this file. Please review the following 23 ** information to ensure the GNU General Public License requirements will 24 ** be met: https://www.gnu.org/licenses/gpl-3.0.html. 25 ** 26 ** $QT_END_LICENSE$ 27 ** 28 ****************************************************************************/ 29 30 // W A R N I N G 31 // ------------- 32 // 33 // This file is not part of the Qt Chart API. It exists purely as an 34 // implementation detail. This header file may change from version to 35 // version without notice, or even be removed. 36 // 37 // We mean it. 38 39 40 #ifndef STACKEDBARCHARTITEM_H 41 #define STACKEDBARCHARTITEM_H 42 43 #include <private/abstractbarchartitem_p.h> 44 #include <QtCharts/QStackedBarSeries> 45 #include <QtWidgets/QGraphicsItem> 46 #include <QtCharts/private/qchartglobal_p.h> 47 48 QT_CHARTS_BEGIN_NAMESPACE 49 50 class Q_CHARTS_PRIVATE_EXPORT StackedBarChartItem : public AbstractBarChartItem 51 { 52 Q_OBJECT 53 public: 54 StackedBarChartItem(QAbstractBarSeries *series, QGraphicsItem* item =0); 55 56 private Q_SLOTS: 57 void handleLabelsPositionChanged(); 58 void positionLabels(); 59 60 private: 61 virtual QVector<QRectF> calculateLayout(); 62 void initializeLayout(int set, int category, int layoutIndex, bool resetAnimation); 63 QPointF topLeftPoint(int category, qreal barWidth, qreal value); 64 QPointF bottomRightPoint(int category, qreal barWidth, qreal value); 65 }; 66 67 QT_CHARTS_END_NAMESPACE 68 69 #endif // STACKEDBARCHARTITEM_H 70