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