File indexing completed on 2024-06-23 04:27:37

0001 /*
0002  *  SPDX-FileCopyrightText: 2022 Dmitry Kazakov <dimula73@gmail.com>
0003  *
0004  *  SPDX-License-Identifier: GPL-2.0-or-later
0005  */
0006 #ifndef KISSMUDGELENGTHOPTIONWIDGET_H
0007 #define KISSMUDGELENGTHOPTIONWIDGET_H
0008 
0009 #include <KisCurveOptionWidget.h>
0010 #include <KisSmudgeLengthOptionData.h>
0011 
0012 
0013 class KisSmudgeLengthOptionWidget : public KisCurveOptionWidget
0014 {
0015     Q_OBJECT
0016 public:
0017     using data_type = KisSmudgeLengthOptionData;
0018 
0019     KisSmudgeLengthOptionWidget(lager::cursor<KisSmudgeLengthOptionData> optionData,
0020                                 lager::reader<bool> isBrushPierced,
0021                                 lager::reader<bool> forceNewEngine);
0022     ~KisSmudgeLengthOptionWidget();
0023 
0024     void writeOptionSetting(KisPropertiesConfigurationSP setting) const override;
0025     void readOptionSetting(const KisPropertiesConfigurationSP setting) override;
0026 
0027     lager::reader<bool> useNewEngine() const;
0028 
0029 private:
0030     void updateBrushPierced(bool pierced);
0031 
0032 private:
0033     struct Private;
0034     const QScopedPointer<Private> m_d;
0035 };
0036 
0037 #endif // KISSMUDGELENGTHOPTIONWIDGET_H