File indexing completed on 2024-05-26 04:33:10
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 RANDOMPICKFILTER_H 0010 #define RANDOMPICKFILTER_H 0011 0012 #include <QObject> 0013 #include <QVariant> 0014 #include "filter/kis_filter.h" 0015 0016 class KisConfigWidget; 0017 0018 class KritaRandomPickFilter : public QObject 0019 { 0020 Q_OBJECT 0021 public: 0022 KritaRandomPickFilter(QObject *parent, const QVariantList &); 0023 ~KritaRandomPickFilter() override; 0024 }; 0025 0026 class KisFilterRandomPick : public KisFilter 0027 { 0028 public: 0029 KisFilterRandomPick(); 0030 public: 0031 void processImpl(KisPaintDeviceSP device, 0032 const QRect& applyRect, 0033 const KisFilterConfigurationSP config, 0034 KoUpdater* progressUpdater 0035 ) const override; 0036 static inline KoID id() { 0037 return KoID("randompick", i18n("Random Pick")); 0038 } 0039 0040 KisFilterConfigurationSP defaultConfiguration(KisResourcesInterfaceSP resourcesInterface) const override; 0041 public: 0042 KisConfigWidget * createConfigurationWidget(QWidget* parent, const KisPaintDeviceSP dev, bool useForMasks) const override; 0043 0044 QRect neededRect(const QRect& rect, const KisFilterConfigurationSP config, int lod = 0) const override; 0045 QRect changedRect(const QRect& rect, const KisFilterConfigurationSP config, int lod = 0) const override; 0046 }; 0047 0048 #endif