File indexing completed on 2024-05-12 16:02:10
0001 /* This file is part of the KDE project 0002 0003 SPDX-FileCopyrightText: 1999 Matthias Elter <elter@kde.org> 0004 SPDX-FileCopyrightText: 2003 Patrick Julien <freak@codepimps.org> 0005 SPDX-FileCopyrightText: 2005 Sven Langkamp <sven.langkamp@gmail.com> 0006 0007 SPDX-License-Identifier: LGPL-2.1-or-later 0008 */ 0009 0010 #ifndef KORESOURCESERVERPROVIDER_H 0011 #define KORESOURCESERVERPROVIDER_H 0012 0013 #include <kritawidgets_export.h> 0014 0015 #include <QThread> 0016 0017 #include <WidgetsDebug.h> 0018 0019 #include "KoResourceServer.h" 0020 #include <resources/KoPattern.h> 0021 #include <resources/KoAbstractGradient.h> 0022 #include <resources/KoColorSet.h> 0023 #include <resources/KoSvgSymbolCollectionResource.h> 0024 #include <resources/KoGamutMask.h> 0025 #include <config-seexpr.h> 0026 #if defined HAVE_SEEXPR 0027 #include <resources/KisSeExprScript.h> 0028 #endif 0029 0030 /** 0031 * Provides default resource servers for gradients, patterns and palettes 0032 */ 0033 class KRITAWIDGETS_EXPORT KoResourceServerProvider : public QObject 0034 { 0035 Q_OBJECT 0036 0037 public: 0038 KoResourceServerProvider(); 0039 ~KoResourceServerProvider() override; 0040 0041 static KoResourceServerProvider* instance(); 0042 0043 static KoResourceServer<KoPattern> *patternServer(); 0044 static KoResourceServer<KoAbstractGradient> *gradientServer(); 0045 static KoResourceServer<KoColorSet> *paletteServer(); 0046 static KoResourceServer<KoSvgSymbolCollectionResource> *svgSymbolCollectionServer(); 0047 static KoResourceServer<KoGamutMask> *gamutMaskServer(); 0048 #if defined HAVE_SEEXPR 0049 static KoResourceServer<KisSeExprScript> *seExprScriptServer(); 0050 #endif 0051 0052 private: 0053 KoResourceServerProvider(const KoResourceServerProvider&); 0054 KoResourceServerProvider operator=(const KoResourceServerProvider&); 0055 0056 private: 0057 struct Private; 0058 Private* const d; 0059 }; 0060 0061 #endif // KORESOURCESERVERPROVIDER_H