File indexing completed on 2024-06-23 04:27:08
0001 /* 0002 * This file is part of Krita 0003 * 0004 * SPDX-FileCopyrightText: 2020 L. E. Segovia <amy@amyspark.me> 0005 * 0006 * SPDX-License-Identifier: GPL-2.0-or-later 0007 */ 0008 0009 #ifndef SEEXPR_GENERATOR_H 0010 #define SEEXPR_GENERATOR_H 0011 0012 #include <QObject> 0013 #include <QVariant> 0014 0015 #include "generator/kis_generator.h" 0016 0017 #define BASE_SCRIPT \ 0018 "$val=voronoi(5*[$u,$v,.5],4,.6,.2); \n \ 0019 $color=ccurve($val,\n\ 0020 0.000, [0.141, 0.059, 0.051], 4,\n\ 0021 0.185, [0.302, 0.176, 0.122], 4,\n\ 0022 0.301, [0.651, 0.447, 0.165], 4,\n\ 0023 0.462, [0.976, 0.976, 0.976], 4);\n\ 0024 $color\n\ 0025 " 0026 0027 class KisConfigWidget; 0028 0029 class KritaSeExprGenerator : public QObject 0030 { 0031 Q_OBJECT 0032 public: 0033 KritaSeExprGenerator(QObject *parent, const QVariantList &); 0034 ~KritaSeExprGenerator() override; 0035 }; 0036 0037 class KisSeExprGenerator : public KisGenerator 0038 { 0039 public: 0040 KisSeExprGenerator(); 0041 0042 using KisGenerator::generate; 0043 0044 void generate(KisProcessingInformation dst, 0045 const QSize& size, 0046 const KisFilterConfigurationSP config, 0047 KoUpdater* progressUpdater 0048 ) const override; 0049 0050 static inline KoID id() 0051 { 0052 return KoID("seexpr", i18n("SeExpr")); 0053 } 0054 KisFilterConfigurationSP factoryConfiguration(KisResourcesInterfaceSP resourcesInterface) const override; 0055 KisFilterConfigurationSP defaultConfiguration(KisResourcesInterfaceSP resourcesInterface) const override; 0056 KisConfigWidget *createConfigurationWidget(QWidget *parent, const KisPaintDeviceSP dev, bool useForMasks) const override; 0057 }; 0058 0059 #endif