Krita Source Code Documentation
Loading...
Searching...
No Matches
KisDynamicSensorDrawingAngle.cpp
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 */
7
9
11#include <KisCurveOptionData.h>
12
13KisDynamicSensorDrawingAngle::KisDynamicSensorDrawingAngle(const KisDrawingAngleSensorData &data, std::optional<KisCubicCurve> curveOverride)
14 : KisDynamicSensor(DrawingAngleId, data, curveOverride)
15 , m_lockedAngleMode(data.lockedAngleMode)
16 , m_angleOffset(data.angleOffset)
17{
18}
19
21{
22 /* so that we are in 0.0..1.0 */
23 qreal ret = 0.5 + info.drawingAngle(m_lockedAngleMode) / (2.0 * M_PI) + m_angleOffset / 360.0;
24
25 // check if m_angleOffset pushed us out of bounds
26 if (ret > 1.0)
27 ret -= 1.0;
28
29 return ret;
30}
31
33{
34 return true;
35}
const KoID DrawingAngleId("drawingangle", ki18nc("Context: dynamic sensors", "Drawing angle"))
number depending on the angle
KisDynamicSensorDrawingAngle(const KisDrawingAngleSensorData &data, std::optional< KisCubicCurve > curveOverride)
qreal value(const KisPaintInformation &info) const override
qreal drawingAngle(bool considerLockedAngle=false) const
#define M_PI
Definition kis_global.h:111