File indexing completed on 2024-05-12 15:59:48
0001 /* 0002 * SPDX-FileCopyrightText: 2020 Dmitry Kazakov <dimula73@gmail.com> 0003 * 0004 * SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 #ifndef KISLOCALSTROKERESOURCES_H 0007 #define KISLOCALSTROKERESOURCES_H 0008 0009 #include <KisResourcesInterface.h> 0010 0011 class KisLocalStrokeResourcesPrivate; 0012 0013 0014 /** 0015 * @brief a KisResourcesInterface-like resources storage for preloaded resources 0016 * 0017 * KisLocalStrokeResources stores preloaded resources and dispatches them 0018 * to the consumers as a resources source. 0019 * 0020 * It is used by the strokes to avoid accessing global resource storage 0021 * from non-gui threads. 0022 */ 0023 class KRITARESOURCES_EXPORT KisLocalStrokeResources : public KisResourcesInterface 0024 { 0025 public: 0026 KisLocalStrokeResources(); 0027 KisLocalStrokeResources(const QList<KoResourceSP> &localResources); 0028 0029 void addResource(KoResourceSP resource); 0030 void removeResource(KoResourceSP resource); 0031 0032 KisLocalStrokeResources* clone() const; 0033 0034 protected: 0035 ResourceSourceAdapter* createSourceImpl(const QString &type) const override; 0036 0037 private: 0038 Q_DECLARE_PRIVATE(KisLocalStrokeResources); 0039 }; 0040 0041 #endif // KISLOCALSTROKERESOURCES_H