File indexing completed on 2025-02-02 04:22:08
0001 /* 0002 * SPDX-FileCopyrightText: 2004, 2007 Cyrille Berger <cberger@cberger.net> 0003 * 0004 * SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 #ifndef _KIS_AUTO_BRUSH_WIDGET_H_ 0008 #define _KIS_AUTO_BRUSH_WIDGET_H_ 0009 0010 #include <QObject> 0011 #include <QResizeEvent> 0012 #include "kritapaintop_export.h" 0013 #include "ui_wdgautobrush.h" 0014 #include <kis_auto_brush.h> 0015 0016 #include <lager/cursor.hpp> 0017 #include <KisBrushModel.h> 0018 0019 class KisSignalCompressor; 0020 class KisAspectRatioLocker; 0021 class KisAutoBrushModel; 0022 0023 class PAINTOP_EXPORT KisWdgAutoBrush : public QWidget, public Ui::KisWdgAutoBrush 0024 { 0025 Q_OBJECT 0026 0027 public: 0028 KisWdgAutoBrush(QWidget *parent, const char *name) 0029 : QWidget(parent) 0030 { 0031 setObjectName(name); 0032 setupUi(this); 0033 } 0034 0035 }; 0036 0037 class PAINTOP_EXPORT KisAutoBrushWidget : public KisWdgAutoBrush 0038 { 0039 Q_OBJECT 0040 0041 public: 0042 0043 KisAutoBrushWidget(int maxBrushSize, 0044 KisAutoBrushModel *model, 0045 QWidget *parent, const char* name); 0046 ~KisAutoBrushWidget() override; 0047 0048 KisBrushSP brush(); 0049 0050 private Q_SLOTS: 0051 void setStackedWidget(int); 0052 0053 void slotCurveWidgetChanged(); 0054 void slotCurvePropertyChanged(const QString &value); 0055 0056 void slotUpdateBrushPreview(); 0057 0058 protected: 0059 void resizeEvent(QResizeEvent *) override; 0060 0061 private: 0062 QScopedPointer<KisAspectRatioLocker> m_fadeAspectLocker; 0063 0064 struct Private; 0065 const QScopedPointer<Private> m_d; 0066 }; 0067 0068 0069 #endif