File indexing completed on 2024-05-26 04:34:09

0001 /*
0002  * SPDX-FileCopyrightText: 2020 Ashwin Dhakaita <ashwingpdhakaita@gmail.com>
0003  *
0004  * SPDX-License-Identifier: GPL-2.0-or-later
0005  */
0006 
0007 #ifndef KIS_MY_PAINTOP_SETTINGS_H_
0008 #define KIS_MY_PAINTOP_SETTINGS_H_
0009 
0010 #include <QScopedPointer>
0011 
0012 #include <brushengine/kis_no_size_paintop_settings.h>
0013 #include <kis_types.h>
0014 
0015 #include <kis_outline_generation_policy.h>
0016 #include "MyPaintPaintOpSettingsWidget.h"
0017 
0018 
0019 class KisMyPaintOpSettings : public KisOutlineGenerationPolicy<KisPaintOpSettings>
0020 {
0021 public:
0022     KisMyPaintOpSettings(KisResourcesInterfaceSP resourcesInterface);
0023     ~KisMyPaintOpSettings() override;
0024 
0025     void setPaintOpSize(qreal value) override;
0026     qreal paintOpSize() const override;
0027 
0028     void setPaintOpAngle(qreal value) override;
0029     qreal paintOpAngle() const override;
0030 
0031     void setPaintOpOpacity(qreal value) override;
0032     qreal paintOpOpacity() override;
0033 
0034     KisOptimizedBrushOutline brushOutline(const KisPaintInformation &info, const OutlineMode &mode, qreal alignForZoom) override;
0035 
0036     QString modelName() const override {
0037         return "airbrush";
0038     }
0039 
0040     bool paintIncremental() override;
0041     void resetSettings(const QStringList &preserveProperties = QStringList()) override;
0042 
0043     void onPropertyChanged() override;
0044 
0045 private:
0046     Q_DISABLE_COPY(KisMyPaintOpSettings)
0047 
0048     struct Private;
0049     const QScopedPointer<Private> m_d;
0050 
0051 };
0052 
0053 typedef KisSharedPtr<KisMyPaintOpSettings> KisMyPaintOpSettingsSP;
0054 
0055 #endif