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

#include <KisInMemoryFrameCacheSwapper.h>

+ Inheritance diagram for KisInMemoryFrameCacheSwapper:

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
 
 KisInMemoryFrameCacheSwapper ()
 
KisOpenGLUpdateInfoSP loadFrame (int frameId) override
 
void moveFrame (int srcFrameId, int dstFrameId) override
 
void saveFrame (int frameId, KisOpenGLUpdateInfoSP info, const QRect &imageBounds) override
 
 ~KisInMemoryFrameCacheSwapper ()
 
- Public Member Functions inherited from Private
 Private (KisCanvas2 *c)
 
- Public Member Functions inherited from KisAbstractFrameCacheSwapper
virtual ~KisAbstractFrameCacheSwapper ()
 

Public Attributes

QMap< int, KisOpenGLUpdateInfoSPframesMap
 
- Public Attributes inherited from Private
KisCanvas2canvas
 
int displayedFrame
 
int intendedFrame
 

Private Attributes

const QScopedPointer< Privatem_d
 

Detailed Description

Definition at line 12 of file KisInMemoryFrameCacheSwapper.cpp.

Constructor & Destructor Documentation

◆ KisInMemoryFrameCacheSwapper()

KisInMemoryFrameCacheSwapper::KisInMemoryFrameCacheSwapper ( )

Definition at line 17 of file KisInMemoryFrameCacheSwapper.cpp.

18 : m_d(new Private)
19{
20}
const QScopedPointer< Private > m_d

◆ ~KisInMemoryFrameCacheSwapper()

KisInMemoryFrameCacheSwapper::~KisInMemoryFrameCacheSwapper ( )

Definition at line 22 of file KisInMemoryFrameCacheSwapper.cpp.

23{
24}

Member Function Documentation

◆ forgetFrame()

void KisInMemoryFrameCacheSwapper::forgetFrame ( int frameId)
overridevirtual

Implements KisAbstractFrameCacheSwapper.

Definition at line 49 of file KisInMemoryFrameCacheSwapper.cpp.

50{
51 KIS_SAFE_ASSERT_RECOVER_RETURN(m_d->framesMap.contains(frameId));
52 m_d->framesMap.remove(frameId);
53}
#define KIS_SAFE_ASSERT_RECOVER_RETURN(cond)
Definition kis_assert.h:128

References KIS_SAFE_ASSERT_RECOVER_RETURN, and m_d.

◆ frameDirtyRect()

QRect KisInMemoryFrameCacheSwapper::frameDirtyRect ( int frameId) const
overridevirtual

Implements KisAbstractFrameCacheSwapper.

Definition at line 67 of file KisInMemoryFrameCacheSwapper.cpp.

68{
69 KIS_SAFE_ASSERT_RECOVER_RETURN_VALUE(m_d->framesMap.contains(frameId), QRect());
70 KIS_SAFE_ASSERT_RECOVER_RETURN_VALUE(!m_d->framesMap[frameId].isNull(), QRect());
71 return m_d->framesMap[frameId]->dirtyImageRect();
72}
#define KIS_SAFE_ASSERT_RECOVER_RETURN_VALUE(cond, val)
Definition kis_assert.h:129

References KIS_SAFE_ASSERT_RECOVER_RETURN_VALUE, and m_d.

◆ frameLevelOfDetail()

int KisInMemoryFrameCacheSwapper::frameLevelOfDetail ( int frameId) const
overridevirtual

Implements KisAbstractFrameCacheSwapper.

Definition at line 60 of file KisInMemoryFrameCacheSwapper.cpp.

61{
62 KIS_SAFE_ASSERT_RECOVER_RETURN_VALUE(m_d->framesMap.contains(frameId), 0);
63 KIS_SAFE_ASSERT_RECOVER_RETURN_VALUE(!m_d->framesMap[frameId].isNull(), 0);
64 return m_d->framesMap[frameId]->levelOfDetail();
65}

References KIS_SAFE_ASSERT_RECOVER_RETURN_VALUE, and m_d.

◆ hasFrame()

bool KisInMemoryFrameCacheSwapper::hasFrame ( int frameId) const
overridevirtual

Implements KisAbstractFrameCacheSwapper.

Definition at line 55 of file KisInMemoryFrameCacheSwapper.cpp.

56{
57 return m_d->framesMap.contains(frameId);
58}

References m_d.

◆ loadFrame()

KisOpenGLUpdateInfoSP KisInMemoryFrameCacheSwapper::loadFrame ( int frameId)
overridevirtual

Implements KisAbstractFrameCacheSwapper.

Definition at line 34 of file KisInMemoryFrameCacheSwapper.cpp.

35{
36 KIS_SAFE_ASSERT_RECOVER_NOOP(m_d->framesMap.contains(frameId));
37 return m_d->framesMap.value(frameId, KisOpenGLUpdateInfoSP());
38}
#define KIS_SAFE_ASSERT_RECOVER_NOOP(cond)
Definition kis_assert.h:130
KisSharedPtr< KisOpenGLUpdateInfo > KisOpenGLUpdateInfoSP

References KIS_SAFE_ASSERT_RECOVER_NOOP, and m_d.

◆ moveFrame()

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

Implements KisAbstractFrameCacheSwapper.

Definition at line 40 of file KisInMemoryFrameCacheSwapper.cpp.

41{
42 KIS_SAFE_ASSERT_RECOVER_RETURN(m_d->framesMap.contains(srcFrameId));
43 KIS_SAFE_ASSERT_RECOVER_NOOP(!m_d->framesMap.contains(dstFrameId));
44
45 m_d->framesMap[dstFrameId] = m_d->framesMap[srcFrameId];
46 m_d->framesMap.remove(srcFrameId);
47}

References KIS_SAFE_ASSERT_RECOVER_NOOP, KIS_SAFE_ASSERT_RECOVER_RETURN, and m_d.

◆ saveFrame()

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

Implements KisAbstractFrameCacheSwapper.

Definition at line 26 of file KisInMemoryFrameCacheSwapper.cpp.

27{
28 Q_UNUSED(imageBounds);
29 KIS_SAFE_ASSERT_RECOVER_NOOP(!m_d->framesMap.contains(frameId));
30
31 m_d->framesMap.insert(frameId, info);
32}

References KIS_SAFE_ASSERT_RECOVER_NOOP, and m_d.

Member Data Documentation

◆ framesMap

QMap<int, KisOpenGLUpdateInfoSP> KisInMemoryFrameCacheSwapper::framesMap

Definition at line 14 of file KisInMemoryFrameCacheSwapper.cpp.

◆ m_d

const QScopedPointer<Private> KisInMemoryFrameCacheSwapper::m_d
private

Definition at line 38 of file KisInMemoryFrameCacheSwapper.h.


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