File indexing completed on 2024-05-19 04:26:38
0001 /* 0002 * SPDX-FileCopyrightText: 2014 Dmitry Kazakov <dimula73@gmail.com> 0003 * 0004 * SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 #include "kis_transform_mask_params_factory_registry.h" 0008 0009 #include <QGlobalStatic> 0010 0011 #include "kis_transform_mask_params_interface.h" 0012 0013 Q_GLOBAL_STATIC(KisTransformMaskParamsFactoryRegistry, s_instance) 0014 0015 0016 KisTransformMaskParamsFactoryRegistry::KisTransformMaskParamsFactoryRegistry() 0017 { 0018 } 0019 0020 KisTransformMaskParamsFactoryRegistry::~KisTransformMaskParamsFactoryRegistry() 0021 { 0022 } 0023 0024 void KisTransformMaskParamsFactoryRegistry::addFactory(const QString &id, const KisTransformMaskParamsFactory &factory) 0025 { 0026 m_map.insert(id, factory); 0027 } 0028 0029 KisTransformMaskParamsInterfaceSP 0030 KisTransformMaskParamsFactoryRegistry::createParams(const QString &id, const QDomElement &e) 0031 { 0032 KisTransformMaskParamsFactoryMap::iterator it = m_map.find(id); 0033 return it != m_map.end() ? (*it)(e) : KisTransformMaskParamsInterfaceSP(0); 0034 } 0035 0036 void KisTransformMaskParamsFactoryRegistry::setAnimatedParamsHolderFactory(const KisAnimatedTransformMaskParamsHolderFactory &factory) 0037 { 0038 m_animatedParamsFactory = factory; 0039 } 0040 0041 KisAnimatedTransformParamsHolderInterfaceSP KisTransformMaskParamsFactoryRegistry::createAnimatedParamsHolder(KisDefaultBoundsBaseSP defaultBounds) 0042 { 0043 KIS_ASSERT(m_animatedParamsFactory); 0044 return m_animatedParamsFactory(defaultBounds); 0045 } 0046 0047 KisTransformMaskParamsFactoryRegistry* 0048 KisTransformMaskParamsFactoryRegistry::instance() 0049 { 0050 return s_instance; 0051 }