1 /*
2  *  Copyright (c) 2013 Dmitry Kazakov <dimula73@gmail.com>
3  *  Copyright (c) 2014 Mohit Goyal <mohit.bits2011@gmail.com>
4  *  This program is free software; you can redistribute it and/or modify
5  *  it under the terms of the GNU General Public License as published by
6  *  the Free Software Foundation; either version 2 of the License, or
7  *  (at your option) any later version.
8  *
9  *  This program is distributed in the hope that it will be useful,
10  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
11  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12  *  GNU General Public License for more details.
13  *
14  *  You should have received a copy of the GNU General Public License
15  *  along with this program; if not, write to the Free Software
16  *  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17  */
18 
19 
20 
21 #ifndef KIS_DYNAMIC_SENSOR_FUZZY_H
22 #define KIS_DYNAMIC_SENSOR_FUZZY_H
23 
24 #include "kis_dynamic_sensor.h"
25 #include <brushengine/kis_paint_information.h>
26 
27 #include <brushengine/kis_paintop.h>
28 #include <KoID.h>
29 #include <QCheckBox>
30 #include <QHBoxLayout>
31 #include <QDomElement>
32 
33 class KisDynamicSensorFuzzy : public QObject, public KisDynamicSensor
34 {
35     Q_OBJECT
36 public:
37     bool dependsOnCanvasRotation() const override;
38 
39     bool isAdditive() const override;
40 
41     KisDynamicSensorFuzzy(bool fuzzyPerStroke, const QString &parentOptionName);
~KisDynamicSensorFuzzy()42     ~KisDynamicSensorFuzzy() override {}
43     qreal value(const KisPaintInformation &info) override;
44 
45     void reset() override;
46 
47 private:
48     const bool m_fuzzyPerStroke;
49     QString m_perStrokeRandomSourceKey;
50 };
51 
52 #endif // KIS_DYNAMIC_SENSOR_FUZZY_H
53