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 KISCURVERANGEMODELINTERFACE_H 0008 #define KISCURVERANGEMODELINTERFACE_H 0009 0010 #include "kritapaintop_export.h" 0011 0012 #include <lager/cursor.hpp> 0013 #include <lager/reader.hpp> 0014 0015 #include <QString> 0016 #include <QRectF> 0017 0018 class PAINTOP_EXPORT KisCurveRangeModelInterface 0019 { 0020 public: 0021 virtual ~KisCurveRangeModelInterface(); 0022 virtual lager::cursor<QString> curve() = 0; 0023 virtual lager::reader<QString> xMinLabel() = 0; 0024 virtual lager::reader<QString> xMaxLabel() = 0; 0025 virtual lager::reader<QString> yMinLabel() = 0; 0026 virtual lager::reader<QString> yMaxLabel() = 0; 0027 virtual lager::reader<qreal> yMinValue() = 0; 0028 virtual lager::reader<qreal> yMaxValue() = 0; 0029 virtual lager::reader<QString> yValueSuffix() = 0; 0030 virtual lager::reader<qreal> xMinValue() = 0; 0031 virtual lager::reader<qreal> xMaxValue() = 0; 0032 virtual lager::reader<QString> xValueSuffix() = 0; 0033 }; 0034 0035 // usage: factory(curve, curveRange, activeSensorId, activeSensorLength) 0036 using KisCurveRangeModelFactory = 0037 std::function<KisCurveRangeModelInterface *(lager::cursor<QString>, 0038 lager::cursor<QRectF>, 0039 lager::reader<QString>, 0040 lager::reader<int>)>; 0041 0042 #endif // KISCURVERANGEMODELINTERFACE_H