File indexing completed on 2024-06-16 04:17:22
0001 /* 0002 * SPDX-FileCopyrightText: 2008-2010 Lukáš Tvrdý <lukast.dev@gmail.com> 0003 * 0004 * SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 #include "KisHairyInkOptionData.h" 0007 0008 #include "kis_properties_configuration.h" 0009 0010 0011 const QString HAIRY_INK_DEPLETION_ENABLED = "HairyInk/enabled"; 0012 const QString HAIRY_INK_AMOUNT = "HairyInk/inkAmount"; 0013 const QString HAIRY_INK_USE_SATURATION = "HairyInk/useSaturation"; 0014 const QString HAIRY_INK_USE_OPACITY = "HairyInk/useOpacity"; 0015 const QString HAIRY_INK_USE_WEIGHTS = "HairyInk/useWeights"; 0016 const QString HAIRY_INK_PRESSURE_WEIGHT = "HairyInk/pressureWeights"; 0017 const QString HAIRY_INK_BRISTLE_LENGTH_WEIGHT = "HairyInk/bristleLengthWeights"; 0018 const QString HAIRY_INK_BRISTLE_INK_AMOUNT_WEIGHT = "HairyInk/bristleInkAmountWeight"; 0019 const QString HAIRY_INK_DEPLETION_WEIGHT = "HairyInk/inkDepletionWeight"; 0020 const QString HAIRY_INK_DEPLETION_CURVE = "HairyInk/inkDepletionCurve"; 0021 const QString HAIRY_INK_SOAK = "HairyInk/soak"; 0022 0023 0024 bool KisHairyInkOptionData::read(const KisPropertiesConfiguration *setting) 0025 { 0026 inkDepletionEnabled = setting->getBool(HAIRY_INK_DEPLETION_ENABLED, false); 0027 inkAmount = setting->getInt(HAIRY_INK_AMOUNT, 1024); 0028 useSaturation = setting->getBool(HAIRY_INK_USE_SATURATION, false); 0029 useOpacity = setting->getBool(HAIRY_INK_USE_OPACITY, true); 0030 useWeights = setting->getBool(HAIRY_INK_USE_WEIGHTS, false); 0031 pressureWeight = setting->getInt(HAIRY_INK_PRESSURE_WEIGHT, 50); 0032 bristleLengthWeight = setting->getInt(HAIRY_INK_BRISTLE_LENGTH_WEIGHT, 50); 0033 bristleInkAmountWeight = setting->getInt(HAIRY_INK_BRISTLE_INK_AMOUNT_WEIGHT, 50); 0034 inkDepletionWeight = setting->getInt(HAIRY_INK_DEPLETION_WEIGHT, 50); 0035 inkDepletionCurve = setting->getCubicCurve(HAIRY_INK_DEPLETION_CURVE, KisCubicCurve()).toString(); 0036 useSoakInk = setting->getBool(HAIRY_INK_SOAK, false); 0037 0038 return true; 0039 } 0040 0041 void KisHairyInkOptionData::write(KisPropertiesConfiguration *setting) const 0042 { 0043 setting->setProperty(HAIRY_INK_DEPLETION_ENABLED, inkDepletionEnabled); 0044 setting->setProperty(HAIRY_INK_AMOUNT, inkAmount); 0045 setting->setProperty(HAIRY_INK_USE_SATURATION, useSaturation); 0046 setting->setProperty(HAIRY_INK_USE_OPACITY, useOpacity); 0047 setting->setProperty(HAIRY_INK_USE_WEIGHTS, useWeights); 0048 setting->setProperty(HAIRY_INK_PRESSURE_WEIGHT, pressureWeight); 0049 setting->setProperty(HAIRY_INK_BRISTLE_LENGTH_WEIGHT, bristleLengthWeight); 0050 setting->setProperty(HAIRY_INK_BRISTLE_INK_AMOUNT_WEIGHT, bristleInkAmountWeight); 0051 setting->setProperty(HAIRY_INK_DEPLETION_WEIGHT, inkDepletionWeight); 0052 setting->setProperty(HAIRY_INK_DEPLETION_CURVE, QVariant::fromValue(KisCubicCurve(inkDepletionCurve))); 0053 setting->setProperty(HAIRY_INK_SOAK, useSoakInk); 0054 }