File indexing completed on 2024-09-22 04:08:31
0001 /* 0002 * SPDX-FileCopyrightText: 2022 Dmitry Kazakov <dimula73@gmail.com> 0003 * 0004 * SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 #ifndef KISDYNAMICSENSORFUZZY_H 0007 #define KISDYNAMICSENSORFUZZY_H 0008 0009 #include "KisDynamicSensor.h" 0010 0011 class KisDynamicSensorData; 0012 0013 class KisDynamicSensorFuzzyBase : public KisDynamicSensor 0014 { 0015 public: 0016 bool isAdditive() const override; 0017 qreal value(const KisPaintInformation &info) const override; 0018 0019 protected: 0020 KisDynamicSensorFuzzyBase(const KoID &id, bool fuzzyPerStroke, const QString &parentOptionName, const KisSensorData &data, std::optional<KisCubicCurve> curveOverride); 0021 0022 private: 0023 const bool m_fuzzyPerStroke; 0024 QString m_perStrokeRandomSourceKey; 0025 }; 0026 0027 class KisDynamicSensorFuzzyPerDab : public KisDynamicSensorFuzzyBase 0028 { 0029 public: 0030 KisDynamicSensorFuzzyPerDab(const KisSensorData &data, std::optional<KisCubicCurve> curveOverride); 0031 }; 0032 0033 class KisDynamicSensorFuzzyPerStroke : public KisDynamicSensorFuzzyBase 0034 { 0035 public: 0036 KisDynamicSensorFuzzyPerStroke(const KisSensorData &data, std::optional<KisCubicCurve> curveOverride, const QString &parentOptionName); 0037 }; 0038 0039 #endif // KISDYNAMICSENSORFUZZY_H