File indexing completed on 2024-06-16 04:16:12
0001 /* 0002 * SPDX-FileCopyrightText: 2016 Eugene Ingerman <geneing at gmail dot com> 0003 * 0004 * SPDX-License-Identifier: LGPL-2.0-or-later 0005 */ 0006 0007 0008 #ifndef HISTOGRAMDOCKERWIDGET_H 0009 #define HISTOGRAMDOCKERWIDGET_H 0010 0011 #include <QObject> 0012 #include <QWidget> 0013 #include <QLabel> 0014 #include <QThread> 0015 #include "HistogramComputationStrokeStrategy.h" 0016 #include "KisWidgetWithIdleTask.h" 0017 0018 class KoColorSpace; 0019 0020 class HistogramDockerWidget : public KisWidgetWithIdleTask<QLabel> 0021 { 0022 Q_OBJECT 0023 0024 public: 0025 HistogramDockerWidget(QWidget *parent = 0, const char *name = 0, Qt::WindowFlags f = Qt::WindowFlags()); 0026 ~HistogramDockerWidget() override; 0027 void paintEvent(QPaintEvent *event) override; 0028 0029 public Q_SLOTS: 0030 void receiveNewHistogram(HistogramData data); 0031 0032 private: 0033 KisIdleTasksManager::TaskGuard registerIdleTask(KisCanvas2 *canvas) override; 0034 void clearCachedState() override; 0035 0036 private: 0037 HistVector m_histogramData; 0038 const KoColorSpace* m_colorSpace {0}; 0039 bool m_smoothHistogram {false}; 0040 }; 0041 0042 #endif // HISTOGRAMDOCKERWIDGET_H