File indexing completed on 2024-06-16 04:17:33
0001 /* 0002 * SPDX-FileCopyrightText: 2009 Boudewijn Rempt <boud@valdyas.com> 0003 * SPDX-FileCopyrightText: 2020 Ashwin Dhakaita <ashwingpdhakaita@gmail.com> 0004 * 0005 * SPDX-License-Identifier: GPL-2.0-or-later 0006 */ 0007 0008 #include "MyPaintPaintOpFactory.h" 0009 0010 #include <qmath.h> 0011 #include <QJsonObject> 0012 #include <QJsonDocument> 0013 0014 #include <kis_icon.h> 0015 #include <KoResourceServer.h> 0016 #include <KoResourceServerProvider.h> 0017 #include <KisResourceServerProvider.h> 0018 #include <KoResourceLoadResult.h> 0019 0020 #include "MyPaintPaintOp.h" 0021 #include "MyPaintPaintOpPreset.h" 0022 #include "MyPaintPaintOpSettings.h" 0023 #include "MyPaintPaintOpSettingsWidget.h" 0024 0025 class KisMyPaintOpFactory::Private { 0026 }; 0027 0028 KisMyPaintOpFactory::KisMyPaintOpFactory() 0029 : m_d(new Private) 0030 { 0031 } 0032 0033 KisMyPaintOpFactory::~KisMyPaintOpFactory() { 0034 0035 delete m_d; 0036 } 0037 0038 KisPaintOp* KisMyPaintOpFactory::createOp(const KisPaintOpSettingsSP settings, KisPainter *painter, KisNodeSP node, KisImageSP image) { 0039 0040 KisPaintOp* op = new KisMyPaintPaintOp(settings, painter, node, image); 0041 Q_CHECK_PTR(op); 0042 return op; 0043 } 0044 0045 KisPaintOpSettingsSP KisMyPaintOpFactory::createSettings(KisResourcesInterfaceSP resourcesInterface) { 0046 0047 KisPaintOpSettingsSP settings = new KisMyPaintOpSettings(resourcesInterface); 0048 return settings; 0049 } 0050 0051 KisPaintOpConfigWidget* KisMyPaintOpFactory::createConfigWidget(QWidget* parent, KisResourcesInterfaceSP resourcesInterface, KoCanvasResourcesInterfaceSP canvasResourcesInterface) { 0052 0053 KisPaintOpConfigWidget *widget = new KisMyPaintOpSettingsWidget(parent); 0054 0055 widget->setResourcesInterface(resourcesInterface); 0056 widget->setCanvasResourcesInterface(canvasResourcesInterface); 0057 0058 return widget; 0059 } 0060 0061 QString KisMyPaintOpFactory::id() const { 0062 0063 return "mypaintbrush"; 0064 } 0065 0066 QString KisMyPaintOpFactory::name() const { 0067 0068 return "MyPaint"; 0069 } 0070 0071 QIcon KisMyPaintOpFactory::icon() { 0072 0073 return KisIconUtils::loadIcon(id()); 0074 } 0075 0076 QString KisMyPaintOpFactory::category() const { 0077 0078 return KisPaintOpFactory::categoryStable(); 0079 } 0080 0081 QList<KoResourceLoadResult> KisMyPaintOpFactory::prepareLinkedResources(const KisPaintOpSettingsSP settings, KisResourcesInterfaceSP resourcesInterface) 0082 { 0083 Q_UNUSED(settings) 0084 Q_UNUSED(resourcesInterface); 0085 0086 return {}; 0087 } 0088 0089 QList<KoResourceLoadResult> KisMyPaintOpFactory::prepareEmbeddedResources(const KisPaintOpSettingsSP settings, KisResourcesInterfaceSP resourcesInterface) 0090 { 0091 Q_UNUSED(settings) 0092 Q_UNUSED(resourcesInterface); 0093 0094 return {}; 0095 } 0096 0097 bool KisMyPaintOpFactory::lodSizeThresholdSupported() const 0098 { 0099 return true; 0100 }