File indexing completed on 2024-06-16 04:17:17
0001 /* 0002 * SPDX-FileCopyrightText: 2022 Dmitry Kazakov <dimula73@gmail.com> 0003 * 0004 * SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 #include "KisSmudgeRadiusOptionData.h" 0007 #include <KisSmudgeLengthOptionData.h> 0008 0009 KisSmudgeRadiusOptionData::KisSmudgeRadiusOptionData() 0010 : KisCurveOptionData( 0011 KoID("SmudgeRadius", i18n("Smudge Radius")), 0012 Checkability::Checkable, std::nullopt, 0013 std::make_pair(0.0, 3.0)) 0014 { 0015 valueFixUpReadCallback = [] (KisCurveOptionDataCommon *data, const KisPropertiesConfiguration *setting) { 0016 const int smudgeRadiusVersion = setting->getInt("SmudgeRadiusVersion", 1); 0017 if (smudgeRadiusVersion < 2) { 0018 data->strengthValue = data->strengthValue / 100.0; 0019 } 0020 0021 KisSmudgeLengthOptionMixInImpl lengthData; 0022 lengthData.read(setting); 0023 0024 data->strengthMaxValue = lengthData.useNewEngine ? 1.0 : 3.0; 0025 data->strengthValue = qMin(data->strengthValue, data->strengthMaxValue); 0026 }; 0027 0028 valueFixUpWriteCallback = [] (qreal, KisPropertiesConfiguration *setting) { 0029 setting->setProperty("SmudgeRadiusVersion", 2); 0030 }; 0031 }