File indexing completed on 2024-06-23 04:27:44
0001 /* 0002 * SPDX-FileCopyrightText: 2008-2010 Lukáš Tvrdý <lukast.dev@gmail.com> 0003 * 0004 * SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 #ifndef KIS_HAIRYINK_OPTION_DATA_H 0007 #define KIS_HAIRYINK_OPTION_DATA_H 0008 0009 0010 #include "kis_types.h" 0011 #include <boost/operators.hpp> 0012 0013 #include "kis_cubic_curve.h" 0014 0015 class KisPropertiesConfiguration; 0016 0017 struct KisHairyInkOptionData : boost::equality_comparable<KisHairyInkOptionData> 0018 { 0019 inline friend bool operator==(const KisHairyInkOptionData &lhs, const KisHairyInkOptionData &rhs) { 0020 return lhs.inkDepletionEnabled == rhs.inkDepletionEnabled 0021 && lhs.inkAmount == rhs.inkAmount 0022 && lhs.inkDepletionCurve == rhs.inkDepletionCurve 0023 && lhs.useSaturation == rhs.useSaturation 0024 && lhs.useOpacity == rhs.useOpacity 0025 && lhs.useWeights == rhs.useWeights 0026 && lhs.pressureWeight == rhs.pressureWeight 0027 && lhs.bristleLengthWeight == rhs.bristleLengthWeight 0028 && lhs.bristleInkAmountWeight == rhs.bristleInkAmountWeight 0029 && lhs.inkDepletionWeight == rhs.inkDepletionWeight 0030 && lhs.useSoakInk == rhs.useSoakInk; 0031 } 0032 0033 bool inkDepletionEnabled {false}; 0034 0035 int inkAmount {1024}; 0036 QString inkDepletionCurve {DEFAULT_CURVE_STRING}; 0037 0038 bool useSaturation {false}; 0039 bool useOpacity {true}; 0040 bool useWeights {false}; 0041 0042 int pressureWeight {50}; 0043 int bristleLengthWeight {50}; 0044 int bristleInkAmountWeight {50}; 0045 int inkDepletionWeight {50}; 0046 0047 bool useSoakInk {false}; 0048 0049 bool read(const KisPropertiesConfiguration *setting); 0050 void write(KisPropertiesConfiguration *setting) const; 0051 }; 0052 0053 #endif // KIS_HAIRYINK_OPTION_DATA_H