File indexing completed on 2024-06-23 04:27:49

0001 /*
0002  *  SPDX-FileCopyrightText: 2022 Dmitry Kazakov <dimula73@gmail.com>
0003  *
0004  *  SPDX-License-Identifier: GPL-2.0-or-later
0005  */
0006 
0007 #ifndef KISCURVEOPTIONDATA_H
0008 #define KISCURVEOPTIONDATA_H
0009 
0010 #include <KisCurveOptionDataCommon.h>
0011 #include <KisKritaSensorPack.h>
0012 
0013 
0014 struct PAINTOP_EXPORT KisCurveOptionData : KisCurveOptionDataCommon
0015 {
0016     using Checkability = KisKritaSensorPack::Checkability;
0017 
0018     /**
0019      * When `isChecked` is std::nullopt, then the initial checked state
0020      * is deduced from the checkability property. Non-checkable options
0021      * will always be checked, checkable --- unchecked
0022      */
0023     KisCurveOptionData(const QString &prefix,
0024                        const KoID &id,
0025                        Checkability checkability = Checkability::Checkable,
0026                        std::optional<bool> isChecked = std::nullopt,
0027                        const std::pair<qreal, qreal> &valueRange = {0.0, 1.0});
0028 
0029     KisCurveOptionData(const KoID &id,
0030                        Checkability checkability = Checkability::Checkable,
0031                        std::optional<bool> isChecked = std::nullopt,
0032                        const std::pair<qreal, qreal> &valueRange = {0.0, 1.0});
0033         
0034     KisKritaSensorData& sensorStruct();
0035     const KisKritaSensorData& sensorStruct() const;
0036 };
0037 
0038 #endif // KISCURVEOPTIONDATA_H