Krita Source Code Documentation
Loading...
Searching...
No Matches
kis_swapped_data_store.h
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2010 Dmitry Kazakov <dimula73@gmail.com>
3 *
4 * SPDX-License-Identifier: GPL-2.0-or-later
5 */
6
7#ifndef __KIS_SWAPPED_DATA_STORE_H
8#define __KIS_SWAPPED_DATA_STORE_H
9
10#include "kritaimage_export.h"
11
12#include <QMutex>
13#include <QByteArray>
14
15
16class QMutex;
17class KisTileData;
20class KisMemoryWindow;
21
22class KRITAIMAGE_EXPORT KisSwappedDataStore
23{
24public:
27
31 quint64 numTiles() const;
32
39 bool trySwapOutTileData(KisTileData *td);
40
47 void swapInTileData(KisTileData *td);
48
54 void forgetTileData(KisTileData *td);
55
60 qint64 totalSwapMemoryUsed() const;
61
65 void debugStatistics();
66
67private:
68 QByteArray m_buffer;
70
73
74 QMutex m_lock;
75
77};
78
79#endif /* __KIS_SWAPPED_DATA_STORE_H */
80
KisMemoryWindow * m_swapSpace
KisAbstractTileCompressor * m_compressor
KisChunkAllocator * m_allocator