Krita Source Code Documentation
Loading...
Searching...
No Matches
KisFrameCacheStore.h
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2018 Dmitry Kazakov <dimula73@gmail.com>
3 *
4 * SPDX-License-Identifier: GPL-2.0-or-later
5 */
6#ifndef KISFRAMECACHESTORE_H
7#define KISFRAMECACHESTORE_H
8
9#include "kritaui_export.h"
10#include <QScopedPointer>
11#include "kis_types.h"
12
14
16
19
38class KRITAUI_EXPORT KisFrameCacheStore
39{
40public:
42 KisFrameCacheStore(const QString &frameCachePath);
43
45
46 // WARNING: after transferring \p info to saveFrame() the object becomes invalid
47 void saveFrame(int frameId, KisOpenGLUpdateInfoSP info, const QRect &imageBounds);
48 KisOpenGLUpdateInfoSP loadFrame(int frameId, const KisOpenGLUpdateInfoBuilder &builder);
49
50 void moveFrame(int srcFrameId, int dstFrameId);
51
52 void forgetFrame(int frameId);
53 bool hasFrame(int frameId) const;
54
55 int frameLevelOfDetail(int frameId) const;
56 QRect frameDirtyRect(int frameId) const;
57
58private:
59 struct Private;
60 const QScopedPointer<Private> m_d;
61};
62
63#endif // KISFRAMECACHESTORE_H
KisSharedPtr< KisOpenGLUpdateInfo > KisOpenGLUpdateInfoSP
const QScopedPointer< Private > m_d