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

#include <kis_base_iterator.h>

+ Inheritance diagram for KisBaseIterator:

Protected Member Functions

qint32 calcXInTile (qint32 x, qint32 col) const
 
qint32 calcYInTile (qint32 y, qint32 row) const
 
 KisBaseIterator (KisTiledDataManager *_dataManager, bool _writable, KisIteratorCompleteListener *listener)
 
void lockOldTile (KisTileSP &tile)
 
void lockTile (KisTileSP &tile)
 
void unlockOldTile (KisTileSP &tile)
 
void unlockTile (KisTileSP &tile)
 
quint32 xToCol (quint32 x) const
 
quint32 yToRow (quint32 y) const
 
 ~KisBaseIterator ()
 

Protected Attributes

KisTiledDataManagerm_dataManager
 
qint32 m_pixelSize
 
bool m_writable
 

Private Attributes

KisIteratorCompleteListenerm_completeListener
 

Detailed Description

Definition at line 17 of file kis_base_iterator.h.

Constructor & Destructor Documentation

◆ KisBaseIterator()

KisBaseIterator::KisBaseIterator ( KisTiledDataManager * _dataManager,
bool _writable,
KisIteratorCompleteListener * listener )
inlineprotected

Definition at line 19 of file kis_base_iterator.h.

19 {
20 m_dataManager = _dataManager;
22 m_writable = _writable;
23 m_completeListener = listener;
24 }
KisIteratorCompleteListener * m_completeListener
KisTiledDataManager * m_dataManager

References m_completeListener, m_dataManager, m_pixelSize, m_writable, and KisTiledDataManager::pixelSize().

◆ ~KisBaseIterator()

KisBaseIterator::~KisBaseIterator ( )
inlineprotected

Member Function Documentation

◆ calcXInTile()

qint32 KisBaseIterator::calcXInTile ( qint32 x,
qint32 col ) const
inlineprotected

Definition at line 63 of file kis_base_iterator.h.

63 {
64 return x - col * KisTileData::WIDTH;
65 }
static const qint32 WIDTH

References KisTileData::WIDTH.

◆ calcYInTile()

qint32 KisBaseIterator::calcYInTile ( qint32 y,
qint32 row ) const
inlineprotected

Definition at line 67 of file kis_base_iterator.h.

67 {
68 return y - row * KisTileData::HEIGHT;
69 }
static const qint32 HEIGHT

References KisTileData::HEIGHT.

◆ lockOldTile()

void KisBaseIterator::lockOldTile ( KisTileSP & tile)
inlineprotected

Definition at line 40 of file kis_base_iterator.h.

40 {
41 // Doesn't depend on current access type
42 tile->lockForRead();
43 }
void lockForRead() const
Definition kis_tile.cc:208

References KisTile::lockForRead().

◆ lockTile()

void KisBaseIterator::lockTile ( KisTileSP & tile)
inlineprotected

Definition at line 34 of file kis_base_iterator.h.

34 {
35 if (m_writable)
36 tile->lockForWrite();
37 else
38 tile->lockForRead();
39 }
void lockForWrite()
Definition kis_tile.cc:221

References KisTile::lockForRead(), KisTile::lockForWrite(), and m_writable.

◆ unlockOldTile()

void KisBaseIterator::unlockOldTile ( KisTileSP & tile)
inlineprotected

Definition at line 52 of file kis_base_iterator.h.

52 {
53 tile->unlockForRead();
54 }
void unlockForRead() const
Definition kis_tile.cc:275

References KisTile::unlockForRead().

◆ unlockTile()

void KisBaseIterator::unlockTile ( KisTileSP & tile)
inlineprotected

Definition at line 44 of file kis_base_iterator.h.

44 {
45 if (m_writable) {
46 tile->unlockForWrite();
47 } else {
48 tile->unlockForRead();
49 }
50 }
void unlockForWrite()
Definition kis_tile.cc:264

References m_writable, KisTile::unlockForRead(), and KisTile::unlockForWrite().

◆ xToCol()

quint32 KisBaseIterator::xToCol ( quint32 x) const
inlineprotected

Definition at line 56 of file kis_base_iterator.h.

56 {
57 return m_dataManager ? m_dataManager->xToCol(x) : 0;
58 }
qint32 xToCol(qint32 x) const

References m_dataManager, and KisTiledDataManager::xToCol().

◆ yToRow()

quint32 KisBaseIterator::yToRow ( quint32 y) const
inlineprotected

Definition at line 59 of file kis_base_iterator.h.

59 {
60 return m_dataManager ? m_dataManager->yToRow(y) : 0;
61 }
qint32 yToRow(qint32 y) const

References m_dataManager, and KisTiledDataManager::yToRow().

Member Data Documentation

◆ m_completeListener

KisIteratorCompleteListener* KisBaseIterator::m_completeListener
private

Definition at line 72 of file kis_base_iterator.h.

◆ m_dataManager

KisTiledDataManager* KisBaseIterator::m_dataManager
protected

Definition at line 31 of file kis_base_iterator.h.

◆ m_pixelSize

qint32 KisBaseIterator::m_pixelSize
protected

Definition at line 32 of file kis_base_iterator.h.

◆ m_writable

bool KisBaseIterator::m_writable
protected

Definition at line 33 of file kis_base_iterator.h.


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