File indexing completed on 2024-06-16 04:16:48
0001 /* 0002 * This file is part of Krita 0003 * 0004 * SPDX-FileCopyrightText: 2006 Cyrille Berger <cberger@cberger.net> 0005 * 0006 * SPDX-License-Identifier: GPL-2.0-or-later 0007 */ 0008 0009 #ifndef PATTERN_GENERATOR_H 0010 #define PATTERN_GENERATOR_H 0011 0012 #include <QObject> 0013 #include <QVariant> 0014 #include "generator/kis_generator.h" 0015 0016 class KisConfigWidget; 0017 0018 class KritaPatternGenerator : public QObject 0019 { 0020 Q_OBJECT 0021 public: 0022 KritaPatternGenerator(QObject *parent, const QVariantList &); 0023 ~KritaPatternGenerator() override; 0024 }; 0025 0026 class PatternGenerator : public KisGenerator 0027 { 0028 public: 0029 0030 PatternGenerator(); 0031 0032 using KisGenerator::generate; 0033 0034 void generate(KisProcessingInformation dst, 0035 const QSize& size, 0036 const KisFilterConfigurationSP config, 0037 KoUpdater* progressUpdater 0038 ) const override; 0039 0040 static inline KoID id() { 0041 return KoID("pattern", i18n("Pattern")); 0042 } 0043 0044 KisFilterConfigurationSP factoryConfiguration(KisResourcesInterfaceSP resourcesInterface) const override; 0045 KisFilterConfigurationSP defaultConfiguration(KisResourcesInterfaceSP resourcesInterface) const override; 0046 KisConfigWidget *createConfigurationWidget(QWidget* parent, const KisPaintDeviceSP dev, bool useForMasks) const override; 0047 0048 /** 0049 * This generator pastes a single instance of pattern over the whole layer. 0050 */ 0051 bool allowsSplittingIntoPatches() const override { return false; } 0052 }; 0053 0054 #endif