File indexing completed on 2024-05-12 16:01:30
0001 /* 0002 * SPDX-FileCopyrightText: 2016 Dmitry Kazakov <dimula73@gmail.com> 0003 * 0004 * SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 #ifndef __KIS_DERIVED_RESOURCES_H 0008 #define __KIS_DERIVED_RESOURCES_H 0009 0010 #include "KoDerivedResourceConverter.h" 0011 #include "KoResourceUpdateMediator.h" 0012 #include <QScopedPointer> 0013 0014 class KisPresetUpdateMediator : public KoResourceUpdateMediator 0015 { 0016 Q_OBJECT 0017 public: 0018 KisPresetUpdateMediator(); 0019 ~KisPresetUpdateMediator() override; 0020 void connectResource(QVariant sourceResource) override; 0021 0022 private Q_SLOTS: 0023 void slotSettingsChanged(); 0024 void slotResourceChanged(const QModelIndex &topLeft, const QModelIndex &bottomRight, const QVector<int> &roles); 0025 0026 private: 0027 struct Private; 0028 const QScopedPointer<Private> m_d; 0029 }; 0030 0031 class KisCompositeOpResourceConverter : public KoDerivedResourceConverter 0032 { 0033 public: 0034 KisCompositeOpResourceConverter(); 0035 0036 QVariant fromSource(const QVariant &value) override; 0037 QVariant toSource(const QVariant &value, const QVariant &sourceValue) override; 0038 }; 0039 0040 class KisEffectiveCompositeOpResourceConverter : public KoDerivedResourceConverter 0041 { 0042 public: 0043 KisEffectiveCompositeOpResourceConverter(); 0044 0045 QVariant fromSource(const QVariant &value) override; 0046 QVariant toSource(const QVariant &value, const QVariant &sourceValue) override; 0047 }; 0048 0049 class KisOpacityResourceConverter : public KoDerivedResourceConverter, public QObject 0050 { 0051 public: 0052 KisOpacityResourceConverter(); 0053 0054 QVariant fromSource(const QVariant &value) override; 0055 QVariant toSource(const QVariant &value, const QVariant &sourceValue) override; 0056 }; 0057 0058 class KisFlowResourceConverter : public KoDerivedResourceConverter, public QObject 0059 { 0060 public: 0061 KisFlowResourceConverter(); 0062 0063 QVariant fromSource(const QVariant &value) override; 0064 QVariant toSource(const QVariant &value, const QVariant &sourceValue) override; 0065 }; 0066 0067 class KisFadeResourceConverter : public KoDerivedResourceConverter, public QObject 0068 { 0069 public: 0070 KisFadeResourceConverter(); 0071 0072 QVariant fromSource(const QVariant &value) override; 0073 QVariant toSource(const QVariant &value, const QVariant &sourceValue) override; 0074 }; 0075 0076 class KisScatterResourceConverter : public KoDerivedResourceConverter, public QObject 0077 { 0078 public: 0079 KisScatterResourceConverter(); 0080 0081 QVariant fromSource(const QVariant &value) override; 0082 QVariant toSource(const QVariant &value, const QVariant &sourceValue) override; 0083 }; 0084 0085 class KisSizeResourceConverter : public KoDerivedResourceConverter, public QObject 0086 { 0087 public: 0088 KisSizeResourceConverter(); 0089 0090 QVariant fromSource(const QVariant &value) override; 0091 QVariant toSource(const QVariant &value, const QVariant &sourceValue) override; 0092 }; 0093 0094 class KisPatternSizeResourceConverter : public KoDerivedResourceConverter, public QObject 0095 { 0096 public: 0097 KisPatternSizeResourceConverter(); 0098 0099 QVariant fromSource(const QVariant& value) override; 0100 QVariant toSource(const QVariant& value, const QVariant& sourceValue) override; 0101 }; 0102 0103 class KisLodAvailabilityResourceConverter : public KoDerivedResourceConverter 0104 { 0105 public: 0106 KisLodAvailabilityResourceConverter(); 0107 0108 QVariant fromSource(const QVariant &value) override; 0109 QVariant toSource(const QVariant &value, const QVariant &sourceValue) override; 0110 }; 0111 0112 class KisLodSizeThresholdResourceConverter : public KoDerivedResourceConverter 0113 { 0114 public: 0115 KisLodSizeThresholdResourceConverter(); 0116 0117 QVariant fromSource(const QVariant &value) override; 0118 QVariant toSource(const QVariant &value, const QVariant &sourceValue) override; 0119 }; 0120 0121 class KisLodSizeThresholdSupportedResourceConverter : public KoDerivedResourceConverter 0122 { 0123 public: 0124 KisLodSizeThresholdSupportedResourceConverter(); 0125 0126 QVariant fromSource(const QVariant &value) override; 0127 QVariant toSource(const QVariant &value, const QVariant &sourceValue) override; 0128 }; 0129 0130 class KisEraserModeResourceConverter : public KoDerivedResourceConverter 0131 { 0132 public: 0133 KisEraserModeResourceConverter(); 0134 0135 QVariant fromSource(const QVariant &value) override; 0136 QVariant toSource(const QVariant &value, const QVariant &sourceValue) override; 0137 }; 0138 0139 class KisBrushNameResourceConverter : public KoDerivedResourceConverter 0140 { 0141 public: 0142 KisBrushNameResourceConverter(); 0143 0144 QVariant fromSource(const QVariant &value) override; 0145 QVariant toSource(const QVariant &value, const QVariant &sourceValue) override; 0146 }; 0147 0148 0149 #endif /* __KIS_DERIVED_RESOURCES_H */