File indexing completed on 2024-05-19 04:26:08
0001 /* 0002 * SPDX-FileCopyrightText: 2012 Dmitry Kazakov <dimula73@gmail.com> 0003 * SPDX-FileCopyrightText: 2022 L. E. Segovia <amy@amyspark.me> 0004 * 0005 * SPDX-License-Identifier: GPL-2.0-or-later 0006 */ 0007 0008 #include "kis_brush_mask_applicator_factories.h" 0009 0010 #include "kis_circle_mask_generator.h" 0011 #include "kis_curve_circle_mask_generator.h" 0012 #include "kis_curve_rect_mask_generator.h" 0013 #include "kis_gauss_circle_mask_generator.h" 0014 #include "kis_gauss_rect_mask_generator.h" 0015 #include "kis_rect_mask_generator.h" 0016 0017 #include "kis_brush_mask_scalar_applicator.h" 0018 0019 template<> 0020 template<> 0021 KisBrushMaskApplicatorBase * 0022 MaskApplicatorFactory<KisMaskGenerator>::create<xsimd::generic>( 0023 KisMaskGenerator *maskGenerator) 0024 { 0025 return new KisBrushMaskScalarApplicator<KisMaskGenerator, xsimd::generic>(maskGenerator); 0026 } 0027 0028 template<> 0029 template<> 0030 KisBrushMaskApplicatorBase * 0031 MaskApplicatorFactory<KisCircleMaskGenerator>::create<xsimd::generic>( 0032 KisCircleMaskGenerator *maskGenerator) 0033 { 0034 return new KisBrushMaskScalarApplicator<KisCircleMaskGenerator, xsimd::generic>(maskGenerator); 0035 } 0036 0037 template<> 0038 template<> 0039 KisBrushMaskApplicatorBase * 0040 MaskApplicatorFactory<KisGaussCircleMaskGenerator>::create<xsimd::generic>( 0041 KisGaussCircleMaskGenerator *maskGenerator) 0042 { 0043 return new KisBrushMaskScalarApplicator<KisGaussCircleMaskGenerator, xsimd::generic>(maskGenerator); 0044 } 0045 0046 template<> 0047 template<> 0048 KisBrushMaskApplicatorBase * 0049 MaskApplicatorFactory<KisCurveCircleMaskGenerator>::create<xsimd::generic>( 0050 KisCurveCircleMaskGenerator *maskGenerator) 0051 { 0052 return new KisBrushMaskScalarApplicator<KisCurveCircleMaskGenerator, xsimd::generic>(maskGenerator); 0053 } 0054 0055 template<> 0056 template<> 0057 KisBrushMaskApplicatorBase * 0058 MaskApplicatorFactory<KisRectangleMaskGenerator>::create<xsimd::generic>( 0059 KisRectangleMaskGenerator *maskGenerator) 0060 { 0061 return new KisBrushMaskScalarApplicator<KisRectangleMaskGenerator, xsimd::generic>(maskGenerator); 0062 } 0063 0064 template<> 0065 template<> 0066 KisBrushMaskApplicatorBase * 0067 MaskApplicatorFactory<KisGaussRectangleMaskGenerator>::create<xsimd::generic>( 0068 KisGaussRectangleMaskGenerator *maskGenerator) 0069 { 0070 return new KisBrushMaskScalarApplicator<KisGaussRectangleMaskGenerator, xsimd::generic>(maskGenerator); 0071 } 0072 0073 template<> 0074 template<> 0075 KisBrushMaskApplicatorBase * 0076 MaskApplicatorFactory<KisCurveRectangleMaskGenerator>::create<xsimd::generic>( 0077 KisCurveRectangleMaskGenerator *maskGenerator) 0078 { 0079 return new KisBrushMaskScalarApplicator<KisCurveRectangleMaskGenerator, xsimd::generic>(maskGenerator); 0080 }