File indexing completed on 2024-12-22 04:11:40
0001 /* 0002 * SPDX-FileCopyrightText: 2012 Dmitry Kazakov <dimula73@gmail.com> 0003 * 0004 * SPDX-License-Identifier: LGPL-2.1-or-later 0005 */ 0006 0007 #include "KoOptimizedCompositeOpFactoryPerArch.h" 0008 #include "KoOptimizedCompositeOpFactory.h" 0009 0010 KoCompositeOp* KoOptimizedCompositeOpFactory::createAlphaDarkenOpHard32(const KoColorSpace *cs) 0011 { 0012 return createOptimizedClass< 0013 KoOptimizedCompositeOpFactoryPerArch< 0014 KoOptimizedCompositeOpAlphaDarkenHard32>>(cs); 0015 } 0016 0017 KoCompositeOp* KoOptimizedCompositeOpFactory::createAlphaDarkenOpCreamy32(const KoColorSpace *cs) 0018 { 0019 return createOptimizedClass< 0020 KoOptimizedCompositeOpFactoryPerArch< 0021 KoOptimizedCompositeOpAlphaDarkenCreamy32>>(cs); 0022 } 0023 0024 KoCompositeOp* KoOptimizedCompositeOpFactory::createOverOp32(const KoColorSpace *cs) 0025 { 0026 return createOptimizedClass<KoOptimizedCompositeOpFactoryPerArch<KoOptimizedCompositeOpOver32> >(cs); 0027 } 0028 0029 KoCompositeOp* KoOptimizedCompositeOpFactory::createCopyOp32(const KoColorSpace *cs) 0030 { 0031 return createOptimizedClass<KoOptimizedCompositeOpFactoryPerArch<KoOptimizedCompositeOpCopy32> >(cs); 0032 } 0033 0034 KoCompositeOp* KoOptimizedCompositeOpFactory::createAlphaDarkenOpHard128(const KoColorSpace *cs) 0035 { 0036 return createOptimizedClass< 0037 KoOptimizedCompositeOpFactoryPerArch< 0038 KoOptimizedCompositeOpAlphaDarkenHard128>>(cs); 0039 } 0040 0041 KoCompositeOp* KoOptimizedCompositeOpFactory::createAlphaDarkenOpCreamy128(const KoColorSpace *cs) 0042 { 0043 return createOptimizedClass< 0044 KoOptimizedCompositeOpFactoryPerArch< 0045 KoOptimizedCompositeOpAlphaDarkenCreamy128>>(cs); 0046 } 0047 0048 KoCompositeOp* KoOptimizedCompositeOpFactory::createOverOp128(const KoColorSpace *cs) 0049 { 0050 return createOptimizedClass<KoOptimizedCompositeOpFactoryPerArch<KoOptimizedCompositeOpOver128> >(cs); 0051 } 0052 0053 KoCompositeOp* KoOptimizedCompositeOpFactory::createCopyOp128(const KoColorSpace *cs) 0054 { 0055 return createOptimizedClass<KoOptimizedCompositeOpFactoryPerArch<KoOptimizedCompositeOpCopy128> >(cs); 0056 } 0057 0058 KoCompositeOp* KoOptimizedCompositeOpFactory::createAlphaDarkenOpHardU64(const KoColorSpace *cs) 0059 { 0060 return createOptimizedClass< 0061 KoOptimizedCompositeOpFactoryPerArch< 0062 KoOptimizedCompositeOpAlphaDarkenHardU64>>(cs); 0063 } 0064 0065 KoCompositeOp* KoOptimizedCompositeOpFactory::createAlphaDarkenOpCreamyU64(const KoColorSpace *cs) 0066 { 0067 return createOptimizedClass< 0068 KoOptimizedCompositeOpFactoryPerArch< 0069 KoOptimizedCompositeOpAlphaDarkenCreamyU64>>(cs); 0070 } 0071 0072 KoCompositeOp* KoOptimizedCompositeOpFactory::createOverOpU64(const KoColorSpace *cs) 0073 { 0074 return createOptimizedClass<KoOptimizedCompositeOpFactoryPerArch<KoOptimizedCompositeOpOverU64> >(cs); 0075 } 0076 0077 KoCompositeOp* KoOptimizedCompositeOpFactory::createCopyOpU64(const KoColorSpace *cs) 0078 { 0079 return createOptimizedClass<KoOptimizedCompositeOpFactoryPerArch<KoOptimizedCompositeOpCopyU64> >(cs); 0080 }