Krita Source Code Documentation
Loading...
Searching...
No Matches
MyPaintSensorPack.h
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2022 Dmitry Kazakov <dimula73@gmail.com>
3 *
4 * SPDX-License-Identifier: GPL-2.0-or-later
5 */
6
7#ifndef MYPAINTSENSORPACK_H
8#define MYPAINTSENSORPACK_H
9
10#include <boost/operators.hpp>
11
12#include <KisSensorData.h>
14
15const QString MYPAINT_JSON = "MyPaint/json";
16
17const KoID MyPaintPressureId("mypaint_pressure", ki18n("Pressure"));
18const KoID MyPaintFineSpeedId("mypaint_speed1", ki18n("Fine Speed"));
19const KoID MyPaintGrossSpeedId("mypaint_speed2", ki18n("Gross Speed"));
20const KoID MyPaintRandomId("mypaint_random", ki18n("Random"));
21const KoID MyPaintStrokeId("mypaint_stroke", ki18nc("The duration of a brush stroke", "Stroke"));
22const KoID MyPaintDirectionId("mypaint_direction", ki18nc("Drawing Angle", "Direction"));
23const KoID MyPaintDeclinationId("mypaint_tilt_declination", ki18nc("Pen tilt declination", "Declination"));
24const KoID MyPaintAscensionId("mypaint_tilt_ascension", ki18nc("Pen tilt ascension", "Ascension"));
25const KoID MyPaintCustomId("mypaint_custom", ki18n("Custom"));
26
27struct MyPaintSensorDataWithRange : KisSensorData, boost::equality_comparable<MyPaintSensorDataWithRange>
28{
30
31 inline friend bool operator==(const MyPaintSensorDataWithRange &lhs, const MyPaintSensorDataWithRange &rhs) {
32 return lhs.curveRange == rhs.curveRange &&
33 static_cast<const KisSensorData&>(lhs) == static_cast<const KisSensorData&>(rhs);
34 }
35
36 QRectF baseCurveRange() const override;
37 void setBaseCurveRange(const QRectF &rect) override;
38 void reset() override;
39
40 void reshapeCurve();
41
42 QRectF curveRange {0,-1,1,2};
43};
44
71
73{
74public:
75 MyPaintSensorPack() = default;
76 MyPaintSensorPack(const MyPaintSensorPack &rhs) = default;
77
78 KisSensorPackInterface * clone() const override;
79
80 std::vector<const KisSensorData *> constSensors() const override;
81 std::vector<KisSensorData *> sensors() override;
82
85
86 bool compare(const KisSensorPackInterface *rhs) const override;
87 bool read(KisCurveOptionDataCommon &data, const KisPropertiesConfiguration *setting) const override;
88 void write(const KisCurveOptionDataCommon &data, KisPropertiesConfiguration *setting) const override;
89
90
91private:
93};
94
95#endif // MYPAINTSENSORPACK_H
const KoID MyPaintDeclinationId("mypaint_tilt_declination", ki18nc("Pen tilt declination", "Declination"))
const KoID MyPaintCustomId("mypaint_custom", ki18n("Custom"))
const KoID MyPaintDirectionId("mypaint_direction", ki18nc("Drawing Angle", "Direction"))
const KoID MyPaintAscensionId("mypaint_tilt_ascension", ki18nc("Pen tilt ascension", "Ascension"))
const KoID MyPaintPressureId("mypaint_pressure", ki18n("Pressure"))
const QString MYPAINT_JSON
const KoID MyPaintStrokeId("mypaint_stroke", ki18nc("The duration of a brush stroke", "Stroke"))
const KoID MyPaintRandomId("mypaint_random", ki18n("Random"))
const KoID MyPaintGrossSpeedId("mypaint_speed2", ki18n("Gross Speed"))
const KoID MyPaintFineSpeedId("mypaint_speed1", ki18n("Fine Speed"))
Definition KoID.h:30
MyPaintSensorPack(const MyPaintSensorPack &rhs)=default
std::vector< KisSensorData * > sensors() override
void write(const KisCurveOptionDataCommon &data, KisPropertiesConfiguration *setting) const override
bool compare(const KisSensorPackInterface *rhs) const override
const MyPaintSensorData & constSensorsStruct() const
KisSensorPackInterface * clone() const override
MyPaintSensorData m_data
MyPaintSensorPack()=default
std::vector< const KisSensorData * > constSensors() const override
MyPaintSensorData & sensorsStruct()
bool read(KisCurveOptionDataCommon &data, const KisPropertiesConfiguration *setting) const override
MyPaintSensorDataWithRange(const KoID &id)
friend bool operator==(const MyPaintSensorDataWithRange &lhs, const MyPaintSensorDataWithRange &rhs)
void setBaseCurveRange(const QRectF &rect) override
QRectF baseCurveRange() const override
MyPaintSensorDataWithRange sensorCustom
MyPaintSensorDataWithRange sensorAscension
MyPaintSensorDataWithRange sensorDirection
MyPaintSensorDataWithRange sensorFineSpeed
MyPaintSensorDataWithRange sensorRandom
friend bool operator==(const MyPaintSensorData &lhs, const MyPaintSensorData &rhs)
MyPaintSensorDataWithRange sensorStroke
MyPaintSensorDataWithRange sensorGrossSpeed
MyPaintSensorDataWithRange sensorPressure
MyPaintSensorDataWithRange sensorDeclination