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 }