File indexing completed on 2024-06-16 04:17:16
0001 /* 0002 * SPDX-FileCopyrightText: 2022 Dmitry Kazakov <dimula73@gmail.com> 0003 * 0004 * SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 #ifndef KISPAINTTHICKNESSOPTIONDATA_H 0007 #define KISPAINTTHICKNESSOPTIONDATA_H 0008 0009 #include "KisCurveOptionData.h" 0010 0011 #include <KisOptionTuple.h> 0012 #include <KisPrefixedOptionDataWrapper.h> 0013 0014 0015 struct KisPaintThicknessOptionMixInImpl 0016 : boost::equality_comparable<KisPaintThicknessOptionMixInImpl> 0017 { 0018 enum ThicknessMode { 0019 RESERVED, 0020 OVERWRITE, 0021 OVERLAY 0022 }; 0023 0024 inline friend bool operator==(const KisPaintThicknessOptionMixInImpl &lhs, const KisPaintThicknessOptionMixInImpl &rhs) { 0025 return lhs.mode == rhs.mode; 0026 } 0027 0028 ThicknessMode mode {OVERLAY}; 0029 0030 bool read(const KisPropertiesConfiguration *setting); 0031 void write(KisPropertiesConfiguration *setting) const; 0032 }; 0033 0034 using KisPaintThicknessOptionMixIn = KisPrefixedOptionDataWrapper<KisPaintThicknessOptionMixInImpl>; 0035 0036 struct KisPaintThicknessOptionData : KisOptionTuple<KisCurveOptionData, KisPaintThicknessOptionMixIn> 0037 { 0038 KisPaintThicknessOptionData(const QString &prefix = "") 0039 : KisOptionTuple<KisCurveOptionData, KisPaintThicknessOptionMixIn>(prefix, 0040 KoID("PaintThickness", i18n("Paint Thickness"))) 0041 { 0042 } 0043 }; 0044 0045 #endif // KISPAINTTHICKNESSOPTIONDATA_H