File indexing completed on 2024-12-22 04:13:11

0001 /*
0002  *  SPDX-FileCopyrightText: 2015 Dmitry Kazakov <dimula73@gmail.com>
0003  *
0004  *  SPDX-License-Identifier: GPL-2.0-or-later
0005  */
0006 
0007 #ifndef __KIS_LOD_AVAILABILITY_WIDGET_H
0008 #define __KIS_LOD_AVAILABILITY_WIDGET_H
0009 
0010 #include <QWidget>
0011 #include <QScopedPointer>
0012 
0013 #include <brushengine/kis_paintop_lod_limitations.h>
0014 
0015 class KoCanvasResourceProvider;
0016 #include <KisLodAvailabilityModel.h>
0017 
0018 
0019 class KisLodAvailabilityWidget : public QWidget
0020 {
0021     Q_OBJECT
0022 
0023 public:
0024     KisLodAvailabilityWidget(QWidget *parent);
0025     ~KisLodAvailabilityWidget() override;
0026 
0027     void setLodAvailabilityModel(KisLodAvailabilityModel *model);
0028 
0029 public Q_SLOTS:
0030     void slotLodAvailabilityStateChanged(KisLodAvailabilityModel::AvailabilityState state, const KisPaintopLodLimitations &l, bool isLodUserAllowed);
0031 
0032 Q_SIGNALS:
0033     void sigUserChangedLodAvailability(bool value);
0034     void sigUserChangedLodThreshold(qreal value);
0035 
0036 private Q_SLOTS:
0037     void showLodToolTip();
0038     void showLodThresholdWidget(const QPoint &pos);
0039 
0040 private:
0041     struct Private;
0042     const QScopedPointer<Private> m_d;
0043 };
0044 
0045 #endif /* __KIS_LOD_AVAILABILITY_WIDGET_H */