File indexing completed on 2024-06-23 04:27:55
0001 /* 0002 * SPDX-FileCopyrightText: 2010 Lukáš Tvrdý <lukast.dev@gmail.com> 0003 * 0004 * SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 #ifndef KIS_PARTICLEOP_OPTION_DATA_H 0007 #define KIS_PARTICLEOP_OPTION_DATA_H 0008 0009 0010 #include "kis_types.h" 0011 #include <boost/operators.hpp> 0012 0013 class KisPropertiesConfiguration; 0014 class KisPaintopLodLimitations; 0015 0016 struct KisParticleOpOptionData : boost::equality_comparable<KisParticleOpOptionData> 0017 { 0018 inline friend bool operator==(const KisParticleOpOptionData &lhs, const KisParticleOpOptionData &rhs) { 0019 return lhs.particleCount == rhs.particleCount 0020 && lhs.particleIterations == rhs.particleIterations 0021 && qFuzzyCompare(lhs.particleGravity, rhs.particleGravity) 0022 && qFuzzyCompare(lhs.particleWeight, rhs.particleWeight) 0023 && qFuzzyCompare(lhs.particleScaleX, rhs.particleScaleX) 0024 && qFuzzyCompare(lhs.particleScaleY, rhs.particleScaleY); 0025 } 0026 0027 int particleCount {50}; 0028 int particleIterations {10}; 0029 qreal particleGravity {0.989}; 0030 qreal particleWeight {0.2}; 0031 qreal particleScaleX {0.3}; 0032 qreal particleScaleY {0.3}; 0033 0034 bool read(const KisPropertiesConfiguration *setting); 0035 void write(KisPropertiesConfiguration *setting) const; 0036 0037 KisPaintopLodLimitations lodLimitations() const; 0038 }; 0039 0040 #endif // KIS_PARTICLEOP_OPTION_DATA_H