File indexing completed on 2024-05-26 04:33:08

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 NOISEFILTER_H
0010 #define NOISEFILTER_H
0011 
0012 #include <QObject>
0013 #include <QVariant>
0014 #include "filter/kis_filter.h"
0015 
0016 class KisConfigWidget;
0017 
0018 class KritaNoiseFilter : public QObject
0019 {
0020     Q_OBJECT
0021 public:
0022     KritaNoiseFilter(QObject *parent, const QVariantList &);
0023     ~KritaNoiseFilter() override;
0024 };
0025 
0026 class KisFilterNoise : public KisFilter
0027 {
0028 public:
0029     KisFilterNoise();
0030 public:
0031 
0032     void processImpl(KisPaintDeviceSP device,
0033                      const QRect& applyRect,
0034                      const KisFilterConfigurationSP config,
0035                      KoUpdater* progressUpdater
0036                      ) const override;
0037     static inline KoID id() {
0038         return KoID("noise", i18n("Random Noise"));
0039     }
0040     KisFilterConfigurationSP defaultConfiguration(KisResourcesInterfaceSP resourcesInterface) const override;
0041     KisConfigWidget * createConfigurationWidget(QWidget* parent, const KisPaintDeviceSP dev, bool useForMasks) const override;
0042 };
0043 
0044 #endif