File indexing completed on 2024-05-26 04:34:07

0001 /*
0002  *  SPDX-FileCopyrightText: 2022 Dmitry Kazakov <dimula73@gmail.com>
0003  *
0004  *  SPDX-License-Identifier: GPL-2.0-or-later
0005  */
0006 #ifndef KISSHARPNESSOPTIONDATA_H
0007 #define KISSHARPNESSOPTIONDATA_H
0008 
0009 #include "KisCurveOptionData.h"
0010 
0011 #include <KisOptionTuple.h>
0012 #include <KisPrefixedOptionDataWrapper.h>
0013 
0014 
0015 struct PAINTOP_EXPORT KisSharpnessOptionMixInImpl
0016     : boost::equality_comparable<KisSharpnessOptionMixInImpl>
0017 {
0018     inline friend bool operator==(const KisSharpnessOptionMixInImpl &lhs, const KisSharpnessOptionMixInImpl &rhs) {
0019             return lhs.alignOutlinePixels == rhs.alignOutlinePixels &&
0020             lhs.softness == rhs.softness;
0021     }
0022 
0023     bool alignOutlinePixels {false};
0024     int softness {0};
0025 
0026     bool read(const KisPropertiesConfiguration *setting);
0027     void write(KisPropertiesConfiguration *setting) const;
0028 };
0029 
0030 using KisSharpnessOptionMixIn = KisPrefixedOptionDataWrapper<KisSharpnessOptionMixInImpl>;
0031 
0032 struct PAINTOP_EXPORT KisSharpnessOptionData : KisOptionTuple<KisCurveOptionData, KisSharpnessOptionMixIn>
0033 {
0034     KisSharpnessOptionData(const QString &prefix = "");
0035 };
0036 
0037 #endif // KISSHARPNESSOPTIONDATA_H