Krita Source Code Documentation
Loading...
Searching...
No Matches
KisFrameCacheSwapper Class Reference

#include <KisFrameCacheSwapper.h>

+ Inheritance diagram for KisFrameCacheSwapper:

Classes

struct  Private
 

Public Member Functions

void forgetFrame (int frameId) override
 
QRect frameDirtyRect (int frameId) const override
 
int frameLevelOfDetail (int frameId) const override
 
bool hasFrame (int frameId) const override
 
 KisFrameCacheSwapper (const KisOpenGLUpdateInfoBuilder &builder)
 
 KisFrameCacheSwapper (const KisOpenGLUpdateInfoBuilder &builder, const QString &frameCachePath)
 
KisOpenGLUpdateInfoSP loadFrame (int frameId) override
 
void moveFrame (int srcFrameId, int dstFrameId) override
 
void saveFrame (int frameId, KisOpenGLUpdateInfoSP info, const QRect &imageBounds) override
 
 ~KisFrameCacheSwapper ()
 
- Public Member Functions inherited from KisAbstractFrameCacheSwapper
virtual ~KisAbstractFrameCacheSwapper ()
 

Private Attributes

const QScopedPointer< Privatem_d
 

Detailed Description

KisFrameCacheSwapper is the most highlevel facade of the frame swapping infrastructure. The main responsibilities of the class:

1) Asynchronously predict and prefetch the pending frames from disk and maintain a short in-memory cache of these frames (already converted into KisOpenGLUpdateInfo)

2) Pass all the other requests to the lower-level API, like KisFrameCacheStore

Definition at line 28 of file KisFrameCacheSwapper.h.

Constructor & Destructor Documentation

◆ KisFrameCacheSwapper() [1/2]

KisFrameCacheSwapper::KisFrameCacheSwapper ( const KisOpenGLUpdateInfoBuilder & builder)

Definition at line 25 of file KisFrameCacheSwapper.cpp.

26 : KisFrameCacheSwapper(builder, "")
27{
28}
KisFrameCacheSwapper(const KisOpenGLUpdateInfoBuilder &builder)

◆ KisFrameCacheSwapper() [2/2]

KisFrameCacheSwapper::KisFrameCacheSwapper ( const KisOpenGLUpdateInfoBuilder & builder,
const QString & frameCachePath )

Definition at line 30 of file KisFrameCacheSwapper.cpp.

31 : m_d(new Private(builder, frameCachePath))
32{
33}
const QScopedPointer< Private > m_d

◆ ~KisFrameCacheSwapper()

KisFrameCacheSwapper::~KisFrameCacheSwapper ( )

Definition at line 35 of file KisFrameCacheSwapper.cpp.

36{
37}

Member Function Documentation

◆ forgetFrame()

void KisFrameCacheSwapper::forgetFrame ( int frameId)
overridevirtual

Implements KisAbstractFrameCacheSwapper.

Definition at line 54 of file KisFrameCacheSwapper.cpp.

55{
56 m_d->frameStore.forgetFrame(frameId);
57}

References m_d.

◆ frameDirtyRect()

QRect KisFrameCacheSwapper::frameDirtyRect ( int frameId) const
overridevirtual

Implements KisAbstractFrameCacheSwapper.

Definition at line 69 of file KisFrameCacheSwapper.cpp.

70{
71 return m_d->frameStore.frameDirtyRect(frameId);
72}

References m_d.

◆ frameLevelOfDetail()

int KisFrameCacheSwapper::frameLevelOfDetail ( int frameId) const
overridevirtual

Implements KisAbstractFrameCacheSwapper.

Definition at line 64 of file KisFrameCacheSwapper.cpp.

65{
66 return m_d->frameStore.frameLevelOfDetail(frameId);
67}

References m_d.

◆ hasFrame()

bool KisFrameCacheSwapper::hasFrame ( int frameId) const
overridevirtual

Implements KisAbstractFrameCacheSwapper.

Definition at line 59 of file KisFrameCacheSwapper.cpp.

60{
61 return m_d->frameStore.hasFrame(frameId);
62}

References m_d.

◆ loadFrame()

KisOpenGLUpdateInfoSP KisFrameCacheSwapper::loadFrame ( int frameId)
overridevirtual

Implements KisAbstractFrameCacheSwapper.

Definition at line 44 of file KisFrameCacheSwapper.cpp.

45{
46 return m_d->frameStore.loadFrame(frameId, m_d->builder);
47}

References m_d.

◆ moveFrame()

void KisFrameCacheSwapper::moveFrame ( int srcFrameId,
int dstFrameId )
overridevirtual

Implements KisAbstractFrameCacheSwapper.

Definition at line 49 of file KisFrameCacheSwapper.cpp.

50{
51 m_d->frameStore.moveFrame(srcFrameId, dstFrameId);
52}

References m_d.

◆ saveFrame()

void KisFrameCacheSwapper::saveFrame ( int frameId,
KisOpenGLUpdateInfoSP info,
const QRect & imageBounds )
overridevirtual

Implements KisAbstractFrameCacheSwapper.

Definition at line 39 of file KisFrameCacheSwapper.cpp.

40{
41 m_d->frameStore.saveFrame(frameId, info, imageBounds);
42}

References m_d.

Member Data Documentation

◆ m_d

const QScopedPointer<Private> KisFrameCacheSwapper::m_d
private

Definition at line 50 of file KisFrameCacheSwapper.h.


The documentation for this class was generated from the following files: