File indexing completed on 2024-12-22 04:11:40
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: LGPL-2.1-or-later 0006 */ 0007 0008 #ifndef KOOPTIMIZEDCOMPOSITEOPFACTORYPERARCH_H 0009 #define KOOPTIMIZEDCOMPOSITEOPFACTORYPERARCH_H 0010 0011 #include <KoMultiArchBuildSupport.h> 0012 0013 class KoCompositeOp; 0014 class KoColorSpace; 0015 0016 template<typename _impl> 0017 class KoOptimizedCompositeOpAlphaDarkenCreamy32; 0018 0019 template<typename _impl> 0020 class KoOptimizedCompositeOpAlphaDarkenHard32; 0021 0022 template<typename _impl> 0023 class KoOptimizedCompositeOpOver32; 0024 0025 template<typename _impl> 0026 class KoOptimizedCompositeOpAlphaDarkenHard128; 0027 0028 template<typename _impl> 0029 class KoOptimizedCompositeOpAlphaDarkenCreamy128; 0030 0031 template<typename _impl> 0032 class KoOptimizedCompositeOpAlphaDarkenHardU64; 0033 0034 template<typename _impl> 0035 class KoOptimizedCompositeOpAlphaDarkenCreamyU64; 0036 0037 template<typename _impl> 0038 class KoOptimizedCompositeOpOver128; 0039 0040 template<typename _impl> 0041 class KoOptimizedCompositeOpOverU64; 0042 0043 template<typename _impl> 0044 class KoOptimizedCompositeOpCopy128; 0045 0046 template<typename _impl> 0047 class KoOptimizedCompositeOpCopyU64; 0048 0049 template<typename _impl> 0050 class KoOptimizedCompositeOpCopy32; 0051 0052 template<template<typename I> class CompositeOp> 0053 struct KoOptimizedCompositeOpFactoryPerArch { 0054 template<typename _impl> 0055 static KoCompositeOp *create(const KoColorSpace *); 0056 }; 0057 0058 #endif /* KOOPTIMIZEDCOMPOSITEOPFACTORYPERARCH_H */