Krita Source Code Documentation
Loading...
Searching...
No Matches
KisFrameCacheSwapper.cpp
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 */
7
9
10#include "kis_update_info.h"
12
14{
15 Private(const KisOpenGLUpdateInfoBuilder &_builder, const QString &frameCachePath)
16 : frameStore(frameCachePath),
17 builder(_builder)
18 {
19 }
20
23};
24
29
30KisFrameCacheSwapper::KisFrameCacheSwapper(const KisOpenGLUpdateInfoBuilder &builder, const QString &frameCachePath)
31 : m_d(new Private(builder, frameCachePath))
32{
33}
34
38
39void KisFrameCacheSwapper::saveFrame(int frameId, KisOpenGLUpdateInfoSP info, const QRect &imageBounds)
40{
41 m_d->frameStore.saveFrame(frameId, info, imageBounds);
42}
43
45{
46 return m_d->frameStore.loadFrame(frameId, m_d->builder);
47}
48
49void KisFrameCacheSwapper::moveFrame(int srcFrameId, int dstFrameId)
50{
51 m_d->frameStore.moveFrame(srcFrameId, dstFrameId);
52}
53
55{
56 m_d->frameStore.forgetFrame(frameId);
57}
58
59bool KisFrameCacheSwapper::hasFrame(int frameId) const
60{
61 return m_d->frameStore.hasFrame(frameId);
62}
63
65{
66 return m_d->frameStore.frameLevelOfDetail(frameId);
67}
68
70{
71 return m_d->frameStore.frameDirtyRect(frameId);
72}
void moveFrame(int srcFrameId, int dstFrameId) override
void forgetFrame(int frameId) override
void saveFrame(int frameId, KisOpenGLUpdateInfoSP info, const QRect &imageBounds) override
QRect frameDirtyRect(int frameId) const override
bool hasFrame(int frameId) const override
const QScopedPointer< Private > m_d
KisOpenGLUpdateInfoSP loadFrame(int frameId) override
int frameLevelOfDetail(int frameId) const override
KisFrameCacheSwapper(const KisOpenGLUpdateInfoBuilder &builder)
Private(const KisOpenGLUpdateInfoBuilder &_builder, const QString &frameCachePath)
const KisOpenGLUpdateInfoBuilder & builder