File indexing completed on 2024-12-22 04:10:14
0001 /* 0002 * SPDX-FileCopyrightText: 2007 Boudewijn Rempt boud @valdyas.org 0003 * 0004 * SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 #ifndef KIS_CONVOLUTION_PAINTER_TEST_H 0008 #define KIS_CONVOLUTION_PAINTER_TEST_H 0009 0010 #include <simpletest.h> 0011 #include <kis_types.h> 0012 0013 class QBitArray; 0014 0015 0016 class KisConvolutionPainterTest : public QObject 0017 { 0018 Q_OBJECT 0019 0020 private: 0021 void testAsymmConvolutionImp(QBitArray channelFlags); 0022 void testGaussianBase(KisPaintDeviceSP dev, bool useFftw, const QString &prefix); 0023 void testGaussian(bool useFftw); 0024 void testGaussianSmall(bool useFftw); 0025 void testGaussianDetails(bool useFftw); 0026 void testNormalMap(KisPaintDeviceSP dev, bool useFftw, const QString &prefix); 0027 void testNormalMap(bool useFftw); 0028 0029 private Q_SLOTS: 0030 0031 void testIdentityConvolution(); 0032 void testSymmConvolution(); 0033 0034 void testAsymmAllChannels(); 0035 void testAsymmSkipRed(); 0036 void testAsymmSkipGreen(); 0037 void testAsymmSkipBlue(); 0038 void testAsymmSkipAlpha(); 0039 0040 void benchmarkConvolution(); 0041 void testGaussianSpatial(); 0042 void testGaussianFFTW(); 0043 0044 void testGaussianSmallSpatial(); 0045 void testGaussianSmallFFTW(); 0046 0047 void testGaussianDetailsSpatial(); 0048 void testGaussianDetailsFFTW(); 0049 0050 void testDilate(); 0051 void testErode(); 0052 0053 void testNormalMapSpatial(); 0054 void testNormalMapFFTW(); 0055 }; 0056 0057 #endif