Krita Source Code Documentation
Loading...
Searching...
No Matches
KisSafeNodeProjectionStore.h
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2019 Dmitry Kazakov <dimula73@gmail.com>
3 *
4 * SPDX-License-Identifier: GPL-2.0-or-later
5 */
6
7#ifndef KISSAFENODEPROJECTIONSTORE_H
8#define KISSAFENODEPROJECTIONSTORE_H
9
10#include <QObject>
11
12#include <QScopedPointer>
13
14#include "kritaimage_export.h"
15#include "kis_shared.h"
16#include "kis_types.h"
18
20
21class KRITAIMAGE_EXPORT KisSafeNodeProjectionStoreBase : public QObject, public KisShared
22{
23 Q_OBJECT
24
25public:
28
34 void releaseDevice();
35
36 void setImage(KisImageWSP image);
37
38Q_SIGNALS:
40
41private Q_SLOTS:
42 void slotInitiateProjectionsCleanup();
43
44protected:
46
47private:
48 void discardCaches();
49
51 void recycleProjectionsInSafety();
52
53protected:
54 struct Private;
55 QScopedPointer<Private> m_d;
56};
57
59{
60public:
63
69 KisPaintDeviceSP getDeviceLazy(KisPaintDeviceSP prototype);
70};
71
85
86
89
92
95
96#endif // KISSAFENODEPROJECTIONSTORE_H
KisWeakSharedPtr< KisSafeSelectionNodeProjectionStore > KisSafeSelectionNodeProjectionStoreWSP
KisWeakSharedPtr< KisSafeNodeProjectionStoreBase > KisSafeNodeProjectionStoreBaseWSP
KisWeakSharedPtr< KisSafeNodeProjectionStore > KisSafeNodeProjectionStoreWSP
KisSharedPtr< KisSafeSelectionNodeProjectionStore > KisSafeSelectionNodeProjectionStoreSP
KisSharedPtr< KisSafeNodeProjectionStoreBase > KisSafeNodeProjectionStoreBaseSP
KisSharedPtr< KisSafeNodeProjectionStore > KisSafeNodeProjectionStoreSP