File indexing completed on 2024-06-09 04:28:05
0001 /* 0002 * SPDX-FileCopyrightText: 2009, 2010 Lukáš Tvrdý (lukast.dev@gmail.com) 0003 * 0004 * SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 #ifndef KIS_GRID_PAINTOP_SETTINGS_H_ 0008 #define KIS_GRID_PAINTOP_SETTINGS_H_ 0009 0010 #include <QScopedPointer> 0011 0012 #include <brushengine/kis_paintop_settings.h> 0013 #include <kis_types.h> 0014 0015 #include <kis_outline_generation_policy.h> 0016 #include "kis_grid_paintop_settings_widget.h" 0017 0018 0019 0020 class KisGridPaintOpSettings : public KisOutlineGenerationPolicy<KisPaintOpSettings> 0021 { 0022 public: 0023 KisGridPaintOpSettings(KisResourcesInterfaceSP resourcesInterface); 0024 ~KisGridPaintOpSettings() override; 0025 0026 void setPaintOpSize(qreal value) override; 0027 qreal paintOpSize() const override; 0028 0029 void setPaintOpAngle(qreal value) override; 0030 qreal paintOpAngle() const override; 0031 0032 KisOptimizedBrushOutline brushOutline(const KisPaintInformation &info, const OutlineMode &mode, qreal alignForZoom) override; 0033 bool paintIncremental() override; 0034 0035 QList<KisUniformPaintOpPropertySP> uniformProperties(KisPaintOpSettingsSP settings, QPointer<KisPaintOpPresetUpdateProxy> updateProxy) override; 0036 0037 bool mousePressEvent(const KisPaintInformation& pos, Qt::KeyboardModifiers modifiers, KisNodeWSP currentNode) override; 0038 bool mouseReleaseEvent() override; 0039 0040 private: 0041 0042 struct Private; 0043 const QScopedPointer<Private> m_d; 0044 0045 public: 0046 bool m_modifyOffsetWithShortcut; 0047 0048 }; 0049 0050 typedef KisSharedPtr<KisGridPaintOpSettings> KisGridPaintOpSettingsSP; 0051 0052 #endif