File indexing completed on 2024-06-16 04:17:36

0001 /*
0002  *  SPDX-FileCopyrightText: 2022 Agata Cacko <cacko.azh@gmail.com>
0003  *
0004  *  SPDX-License-Identifier: GPL-2.0-or-later
0005  */
0006 #ifndef KIS_SPRAY_OP_OPTION_MODEL_H
0007 #define KIS_SPRAY_OP_OPTION_MODEL_H
0008 
0009 #include <lager/cursor.hpp>
0010 #include <lager/extra/qt.hpp>
0011 
0012 #include "KisSprayOpOptionData.h"
0013 #include "KisWidgetConnectionUtils.h"
0014 
0015 class KisSprayOpOptionModel : public QObject
0016 {
0017     Q_OBJECT
0018 public:
0019     KisSprayOpOptionModel(lager::cursor<KisSprayOpOptionData> optionData);
0020 
0021     lager::cursor<KisSprayOpOptionData> optionData;
0022     
0023     LAGER_QT_CURSOR(int, diameter);
0024     LAGER_QT_CURSOR(qreal, aspect);
0025     LAGER_QT_CURSOR(qreal, brushRotation);
0026     LAGER_QT_CURSOR(qreal, scale);
0027     LAGER_QT_CURSOR(qreal, spacing);
0028     LAGER_QT_CURSOR(bool, jitterMovement);
0029     LAGER_QT_CURSOR(qreal, jitterAmount);
0030     LAGER_QT_CURSOR(bool, useDensity);
0031     LAGER_QT_READER(bool, isNumParticlesVisible);
0032     LAGER_QT_CURSOR(int, particleCount);
0033     LAGER_QT_CURSOR(qreal, coverage);
0034     
0035     LAGER_QT_CURSOR(int, angularDistributionType);
0036     LAGER_QT_CURSOR(QString, angularDistributionCurve);
0037     LAGER_QT_CURSOR(int, angularDistributionCurveRepeat);
0038     LAGER_QT_CURSOR(int, radialDistributionType);
0039     LAGER_QT_CURSOR(qreal, radialDistributionStdDeviation);
0040     LAGER_QT_CURSOR(qreal, radialDistributionClusteringAmount);
0041     LAGER_QT_CURSOR(QString, radialDistributionCurve);
0042     LAGER_QT_CURSOR(int, radialDistributionCurveRepeat);
0043     LAGER_QT_CURSOR(bool, radialDistributionCenterBiased);
0044 };
0045 
0046 #endif // KIS_SPRAY_OP_OPTION_MODEL_H