File indexing completed on 2024-05-26 04:33:10
0001 /* 0002 * This file is part of Krita 0003 * 0004 * SPDX-FileCopyrightText: Michael Thaler <michael.thaler@physik.tu-muenchen.de> 0005 * 0006 * SPDX-License-Identifier: GPL-2.0-or-later 0007 */ 0008 0009 #ifndef _KIS_RAINDROPS_FILTER_H_ 0010 #define _KIS_RAINDROPS_FILTER_H_ 0011 0012 #include "filter/kis_filter.h" 0013 #include "kis_config_widget.h" 0014 #include "kis_paint_device.h" 0015 0016 class KisRainDropsFilter : public KisFilter 0017 { 0018 public: 0019 KisRainDropsFilter(); 0020 public: 0021 0022 void processImpl(KisPaintDeviceSP device, 0023 const QRect& applyRect, 0024 const KisFilterConfigurationSP config, 0025 KoUpdater* progressUpdater) const override; 0026 static inline KoID id() { 0027 return KoID("raindrops", i18n("Raindrops")); 0028 } 0029 0030 KisFilterConfigurationSP defaultConfiguration(KisResourcesInterfaceSP resourcesInterface) const override; 0031 public: 0032 KisConfigWidget * createConfigurationWidget(QWidget* parent, const KisPaintDeviceSP dev, bool useForMasks) const override; 0033 private: 0034 bool** CreateBoolArray(uint Columns, uint Rows) const; 0035 void FreeBoolArray(bool** lpbArray, uint Columns) const; 0036 uchar LimitValues(int ColorValue) const; 0037 }; 0038 0039 #endif