File indexing completed on 2024-06-09 04:28:19

0001 /*
0002  *  SPDX-FileCopyrightText: 2016 Dmitry Kazakov <dimula73@gmail.com>
0003  *
0004  *  SPDX-License-Identifier: GPL-2.0-or-later
0005  */
0006 
0007 #ifndef __KIS_ROUNDMARKEROP_SETTINGS_H
0008 #define __KIS_ROUNDMARKEROP_SETTINGS_H
0009 
0010 #include <QScopedPointer>
0011 #include <kis_paintop_settings.h>
0012 #include <kis_outline_generation_policy.h>
0013 
0014 
0015 class KisRoundMarkerOpSettings : public KisOutlineGenerationPolicy<KisPaintOpSettings>
0016 {
0017 public:
0018     KisRoundMarkerOpSettings(KisResourcesInterfaceSP resourcesInterface);
0019     ~KisRoundMarkerOpSettings() override;
0020 
0021     bool paintIncremental() override;
0022 
0023     qreal paintOpSize() const override;
0024     void setPaintOpSize(qreal value) override;
0025 
0026     void setPaintOpAngle(qreal value) override;
0027     qreal paintOpAngle() const override;
0028 
0029     bool isAirbrushing() const override
0030     {
0031         return false;
0032     }
0033 
0034     qreal airbrushInterval() const override
0035     {
0036         return 1000.0;
0037     }
0038 
0039     KisOptimizedBrushOutline brushOutline(const KisPaintInformation &info, const OutlineMode &mode, qreal alignForZoom) override;
0040 
0041     QList<KisUniformPaintOpPropertySP> uniformProperties(KisPaintOpSettingsSP settings, QPointer<KisPaintOpPresetUpdateProxy> updateProxy) override;
0042 
0043 private:
0044     struct Private;
0045     const QScopedPointer<Private> m_d;
0046 };
0047 
0048 #endif /* __KIS_ROUNDMARKEROP_SETTINGS_H */