Krita Source Code Documentation
Loading...
Searching...
No Matches
KisDynamicSensors.h
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2006-2007, 2010 Cyrille Berger <cberger@cberger.net>
3 * SPDX-FileCopyrightText: 2011 Lukáš Tvrdý <lukast.dev@gmail.com>
4 * SPDX-FileCopyrightText: 2022 Dmitry Kazakov <dimula73@gmail.com>
5 *
6 * SPDX-License-Identifier: GPL-2.0-or-later
7 */
8#ifndef KISDYNAMICSENSORS_H
9#define KISDYNAMICSENSORS_H
10
11#include "KisDynamicSensor.h"
13
15{
16public:
17 KisDynamicSensorSpeed(const KisSensorData &data, std::optional<KisCubicCurve> curveOverride);
18
19 qreal value(const KisPaintInformation& info) const override {
20 return info.drawingSpeed();
21 }
22};
23
25{
26public:
27 KisDynamicSensorRotation(const KisSensorData &data, std::optional<KisCubicCurve> curveOverride);
28
29 bool isAdditive() const override {
30 return true;
31 }
32
33 qreal value(const KisPaintInformation& info) const override {
34 return info.rotation() / 180.0;
35 }
36};
37
39{
40public:
41 KisDynamicSensorPressure(const KisSensorData &data, std::optional<KisCubicCurve> curveOverride);
42 qreal value(const KisPaintInformation& info) const override {
43 return info.pressure();
44 }
45};
46
48{
49public:
50 KisDynamicSensorPressureIn(const KisSensorData &data, std::optional<KisCubicCurve> curveOverride);
51
52 qreal value(const KisPaintInformation& info) const override {
53 return !info.isHoveringMode() ? info.maxPressure() : 0.0;
54 }
55};
56
58{
59public:
60 KisDynamicSensorXTilt(const KisSensorData &data, std::optional<KisCubicCurve> curveOverride);
61
62 qreal value(const KisPaintInformation& info) const override {
63 return 1.0 - fabs(info.xTilt()) / 60.0;
64 }
65};
66
68{
69public:
70 KisDynamicSensorYTilt(const KisSensorData &data, std::optional<KisCubicCurve> curveOverride);
71 qreal value(const KisPaintInformation& info) const override {
72 return 1.0 - fabs(info.yTilt()) / 60.0;
73 }
74};
75
77{
78public:
79 KisDynamicSensorTiltDirection(const KisSensorData &data, std::optional<KisCubicCurve> curveOverride);
80
81 bool isAdditive() const override {
82 return true;
83 }
84
85 qreal value(const KisPaintInformation& info) const override {
87 }
88};
89
91{
92public:
93 KisDynamicSensorTiltElevation(const KisSensorData &data, std::optional<KisCubicCurve> curveOverride);
94
95 qreal value(const KisPaintInformation& info) const override {
96 return KisPaintInformation::tiltElevation(info, 60.0, 60.0, true);
97 }
98};
99
101{
102public:
103 KisDynamicSensorPerspective(const KisSensorData &data, std::optional<KisCubicCurve> curveOverride);
104
105 qreal value(const KisPaintInformation& info) const override {
106 return info.perspective();
107 }
108};
109
111{
112public:
113 KisDynamicSensorTangentialPressure(const KisSensorData &data, std::optional<KisCubicCurve> curveOverride);
114
115 qreal value(const KisPaintInformation& info) const override {
116 return info.tangentialPressure();
117 }
118};
119
120#endif // KISDYNAMICSENSORS_H
KisDynamicSensorPerspective(const KisSensorData &data, std::optional< KisCubicCurve > curveOverride)
qreal value(const KisPaintInformation &info) const override
qreal value(const KisPaintInformation &info) const override
KisDynamicSensorPressureIn(const KisSensorData &data, std::optional< KisCubicCurve > curveOverride)
qreal value(const KisPaintInformation &info) const override
KisDynamicSensorPressure(const KisSensorData &data, std::optional< KisCubicCurve > curveOverride)
KisDynamicSensorRotation(const KisSensorData &data, std::optional< KisCubicCurve > curveOverride)
bool isAdditive() const override
qreal value(const KisPaintInformation &info) const override
KisDynamicSensorSpeed(const KisSensorData &data, std::optional< KisCubicCurve > curveOverride)
qreal value(const KisPaintInformation &info) const override
qreal value(const KisPaintInformation &info) const override
KisDynamicSensorTangentialPressure(const KisSensorData &data, std::optional< KisCubicCurve > curveOverride)
bool isAdditive() const override
KisDynamicSensorTiltDirection(const KisSensorData &data, std::optional< KisCubicCurve > curveOverride)
qreal value(const KisPaintInformation &info) const override
KisDynamicSensorTiltElevation(const KisSensorData &data, std::optional< KisCubicCurve > curveOverride)
qreal value(const KisPaintInformation &info) const override
KisDynamicSensorXTilt(const KisSensorData &data, std::optional< KisCubicCurve > curveOverride)
qreal value(const KisPaintInformation &info) const override
qreal value(const KisPaintInformation &info) const override
KisDynamicSensorYTilt(const KisSensorData &data, std::optional< KisCubicCurve > curveOverride)
static qreal scalingToAdditive(qreal x)
qreal perspective() const
reciprocal of distance on the perspective grid
static qreal tiltDirection(const KisPaintInformation &info, bool normalize=true)
qreal xTilt() const
The tilt of the pen on the horizontal axis (from 0.0 to 1.0)
static qreal tiltElevation(const KisPaintInformation &info, qreal maxTiltX=60.0, qreal maxTiltY=60.0, bool normalize=true)
qreal tangentialPressure() const
tangential pressure (i.e., rate for an airbrush device)
qreal yTilt() const
The tilt of the pen on the vertical axis (from 0.0 to 1.0)
qreal rotation() const
rotation as given by the tablet event
qreal pressure() const
The pressure of the value (from 0.0 to 1.0)