File indexing completed on 2024-05-26 04:34:08
0001 /* 0002 * SPDX-FileCopyrightText: 2022 Dmitry Kazakov <dimula73@gmail.com> 0003 * 0004 * SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 #ifndef KISTEXTUREOPTIONMODEL_H 0007 #define KISTEXTUREOPTIONMODEL_H 0008 0009 0010 #include <lager/cursor.hpp> 0011 #include <lager/extra/qt.hpp> 0012 0013 #include "KisTextureOptionData.h" 0014 #include "KoResourceLoadResult.h" 0015 0016 0017 class KisTextureOptionModel : public QObject 0018 { 0019 Q_OBJECT 0020 public: 0021 KisTextureOptionModel(lager::cursor<KisTextureOptionData> optionData, KisResourcesInterfaceSP resourcesInterface); 0022 lager::cursor<KisTextureOptionData> optionData; 0023 0024 LAGER_QT_CURSOR(bool, isEnabled); 0025 LAGER_QT_CURSOR(KoResourceSP, textureResource); 0026 LAGER_QT_CURSOR(qreal, scale); 0027 LAGER_QT_CURSOR(qreal, brightness); 0028 LAGER_QT_CURSOR(qreal, contrast); 0029 LAGER_QT_CURSOR(qreal, neutralPoint); 0030 LAGER_QT_CURSOR(int, offsetX); 0031 LAGER_QT_CURSOR(int, offsetY); 0032 LAGER_QT_CURSOR(int, maximumOffsetX); 0033 LAGER_QT_CURSOR(int, maximumOffsetY); 0034 LAGER_QT_CURSOR(bool, isRandomOffsetX); 0035 LAGER_QT_CURSOR(bool, isRandomOffsetY); 0036 LAGER_QT_CURSOR(int, texturingMode); 0037 LAGER_QT_CURSOR(int, cutOffPolicy); 0038 LAGER_QT_CURSOR(qreal, cutOffLeftNormalized); 0039 LAGER_QT_CURSOR(qreal, cutOffRightNormalized); 0040 LAGER_QT_CURSOR(bool, invert); 0041 0042 KisTextureOptionData bakedOptionData() const; 0043 0044 private: 0045 void updateOffsetLimits(KoResourceSP resource); 0046 }; 0047 0048 #endif // KISTEXTUREOPTIONMODEL_H