File indexing completed on 2024-05-26 04:33:54

0001 /*
0002  *  SPDX-FileCopyrightText: 2008 Boudewijn Rempt <boud@valdyas.org>
0003  *  SPDX-FileCopyrightText: 2008, 2009 Lukáš Tvrdý <lukast.dev@gmail.com>
0004  *
0005  *  SPDX-License-Identifier: GPL-2.0-or-later
0006  */
0007 #ifndef KIS_DEFORM_PAINTOP_SETTINGS_H_
0008 #define KIS_DEFORM_PAINTOP_SETTINGS_H_
0009 
0010 #include <QScopedPointer>
0011 #include <brushengine/kis_paintop_settings.h>
0012 #include <kis_types.h>
0013 #include <kis_outline_generation_policy.h>
0014 
0015 class KisDeformPaintOpSettings : public KisOutlineGenerationPolicy<KisPaintOpSettings>
0016 {
0017 
0018 public:
0019     KisDeformPaintOpSettings(KisResourcesInterfaceSP resourcesInterface);
0020     ~KisDeformPaintOpSettings() override;
0021 
0022     void setPaintOpSize(qreal value) override;
0023     qreal paintOpSize() const override;
0024 
0025     void setPaintOpAngle(qreal value) override;
0026     qreal paintOpAngle() const override;
0027 
0028     KisOptimizedBrushOutline brushOutline(const KisPaintInformation &info, const OutlineMode &mode, qreal alignForZoom) override;
0029 
0030     bool paintIncremental() override;
0031     bool isAirbrushing() const override;
0032 
0033     QList<KisUniformPaintOpPropertySP> uniformProperties(KisPaintOpSettingsSP settings, QPointer<KisPaintOpPresetUpdateProxy> updateProxy) override;
0034 
0035 private:
0036     struct Private;
0037     const QScopedPointer<Private> m_d;
0038 };
0039 #endif