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 #include "KisDynamicSensorDrawingAngle.h" 0007 0008 #include <KisDynamicSensorIds.h> 0009 0010 #include <kis_paint_information.h> 0011 #include <KisCurveOptionData.h> 0012 0013 KisDynamicSensorDrawingAngle::KisDynamicSensorDrawingAngle(const KisDrawingAngleSensorData &data, std::optional<KisCubicCurve> curveOverride) 0014 : KisDynamicSensor(DrawingAngleId, data, curveOverride) 0015 , m_lockedAngleMode(data.lockedAngleMode) 0016 , m_angleOffset(data.angleOffset) 0017 { 0018 } 0019 0020 qreal KisDynamicSensorDrawingAngle::value(const KisPaintInformation &info) const 0021 { 0022 /* so that we are in 0.0..1.0 */ 0023 qreal ret = 0.5 + info.drawingAngle(m_lockedAngleMode) / (2.0 * M_PI) + m_angleOffset / 360.0; 0024 0025 // check if m_angleOffset pushed us out of bounds 0026 if (ret > 1.0) 0027 ret -= 1.0; 0028 0029 return ret; 0030 } 0031 0032 bool KisDynamicSensorDrawingAngle::isAbsoluteRotation() const 0033 { 0034 return true; 0035 }