#include <kis_hline_iterator.h>
Definition at line 14 of file kis_hline_iterator.h.
◆ KisHLineIterator2() [1/2]
◆ KisHLineIterator2() [2/2]
Definition at line 10 of file kis_hline_iterator.cpp.
14{
17 Q_ASSERT(dataManager);
18
20
23
26
28
32 return;
33 }
34
37
40
42
45
47
48
51 }
54}
KisBaseIterator(KisTiledDataManager *_dataManager, bool _writable, KisIteratorCompleteListener *listener)
quint32 yToRow(quint32 y) const
qint32 calcYInTile(qint32 y, qint32 row) const
quint32 xToCol(quint32 x) const
QVector< KisTileInfo > m_tilesCache
qint32 m_leftInLeftmostTile
void fetchTileDataForCache(KisTileInfo &kti, qint32 col, qint32 row)
qint32 x() const override
void switchToTile(qint32 xInTile)
qint32 y() const override
static const qint32 HEIGHT
static const qint32 WIDTH
References KisBaseIterator::calcYInTile(), fetchTileDataForCache(), KisTileData::HEIGHT, m_havePixels, m_index, m_left, m_leftCol, m_leftInLeftmostTile, m_offsetX, m_offsetY, KisBaseIterator::m_pixelSize, m_right, m_rightCol, m_row, m_tilesCache, m_tilesCacheSize, m_tileWidth, m_top, m_x, m_y, m_yInTile, switchToTile(), KisTileData::WIDTH, x(), KisBaseIterator::xToCol(), y(), and KisBaseIterator::yToRow().
◆ ~KisHLineIterator2()
| KisHLineIterator2::~KisHLineIterator2 |
( |
| ) |
|
|
override |
◆ fetchTileDataForCache()
| void KisHLineIterator2::fetchTileDataForCache |
( |
KisTileInfo & | kti, |
|
|
qint32 | col, |
|
|
qint32 | row ) |
|
private |
Definition at line 191 of file kis_hline_iterator.cpp.
192{
194
196 kti.data = kti.tile->data();
197
199 kti.oldData = kti.oldtile->data();
200}
void lockOldTile(KisTileSP &tile)
void lockTile(KisTileSP &tile)
KisTiledDataManager * m_dataManager
void getTilesPair(qint32 col, qint32 row, bool writable, KisTileSP *tile, KisTileSP *oldTile)
References KisHLineIterator2::KisTileInfo::data, KisTile::data(), KisTiledDataManager::getTilesPair(), KisBaseIterator::lockOldTile(), KisBaseIterator::lockTile(), KisBaseIterator::m_dataManager, KisBaseIterator::m_writable, KisHLineIterator2::KisTileInfo::oldData, KisHLineIterator2::KisTileInfo::oldtile, and KisHLineIterator2::KisTileInfo::tile.
◆ nConseqPixels()
| qint32 KisHLineIterator2::nConseqPixels |
( |
| ) |
const |
|
overridevirtual |
◆ nextPixel()
| bool KisHLineIterator2::nextPixel |
( |
| ) |
|
|
overridevirtual |
◆ nextPixels()
| bool KisHLineIterator2::nextPixels |
( |
qint32 | n | ) |
|
|
overridevirtual |
Move to the next pixels
Implements KisBaseConstIteratorNG.
Definition at line 125 of file kis_hline_iterator.cpp.
126{
127 Q_ASSERT_X(!(
m_x > 0 && (
m_x + n) < 0),
"hlineIt+=",
"Integer overflow");
128
130
133 } else {
135
136 if (col == previousCol) {
138 } else {
142 }
143 }
145}
qint32 calcXInTile(qint32 x, qint32 col) const
References KisBaseIterator::calcXInTile(), m_data, m_havePixels, m_index, KisBaseIterator::m_pixelSize, m_right, m_x, switchToTile(), and KisBaseIterator::xToCol().
◆ nextRow()
| void KisHLineIterator2::nextRow |
( |
| ) |
|
|
overridevirtual |
Move to the next row
Implements KisHLineConstIteratorNG.
Definition at line 99 of file kis_hline_iterator.cpp.
100{
103
105
106 } else {
110 }
113
115}
References KisTileData::HEIGHT, m_havePixels, m_index, m_left, m_leftInLeftmostTile, m_row, m_x, m_y, m_yInTile, preallocateTiles(), and switchToTile().
◆ oldRawData()
| const quint8 * KisHLineIterator2::oldRawData |
( |
| ) |
const |
|
overridevirtual |
◆ operator=()
◆ preallocateTiles()
| void KisHLineIterator2::preallocateTiles |
( |
| ) |
|
|
private |
◆ rawData()
| quint8 * KisHLineIterator2::rawData |
( |
| ) |
|
|
overridevirtual |
◆ rawDataConst()
| const quint8 * KisHLineIterator2::rawDataConst |
( |
| ) |
const |
|
overridevirtual |
◆ resetPixelPos()
| void KisHLineIterator2::resetPixelPos |
( |
| ) |
|
|
overridevirtual |
◆ resetRowPos()
| void KisHLineIterator2::resetRowPos |
( |
| ) |
|
|
overridevirtual |
◆ switchToTile()
| void KisHLineIterator2::switchToTile |
( |
qint32 | xInTile | ) |
|
|
private |
◆ x()
| qint32 KisHLineIterator2::x |
( |
| ) |
const |
|
overridevirtual |
◆ y()
| qint32 KisHLineIterator2::y |
( |
| ) |
const |
|
overridevirtual |
◆ m_data
| quint8* KisHLineIterator2::m_data {nullptr} |
|
private |
◆ m_havePixels
| bool KisHLineIterator2::m_havePixels {false} |
|
private |
◆ m_index
| quint32 KisHLineIterator2::m_index {0} |
|
private |
◆ m_left
| qint32 KisHLineIterator2::m_left {0} |
|
private |
◆ m_leftCol
| qint32 KisHLineIterator2::m_leftCol {0} |
|
private |
◆ m_leftInLeftmostTile
| qint32 KisHLineIterator2::m_leftInLeftmostTile {0} |
|
private |
◆ m_offsetX
| qint32 KisHLineIterator2::m_offsetX {0} |
|
private |
◆ m_offsetY
| qint32 KisHLineIterator2::m_offsetY {0} |
|
private |
◆ m_oldData
| quint8* KisHLineIterator2::m_oldData {nullptr} |
|
private |
◆ m_right
| qint32 KisHLineIterator2::m_right {0} |
|
private |
◆ m_rightCol
| qint32 KisHLineIterator2::m_rightCol {0} |
|
private |
◆ m_rightmostInTile
| qint32 KisHLineIterator2::m_rightmostInTile {0} |
|
private |
◆ m_row
| qint32 KisHLineIterator2::m_row {0} |
|
private |
◆ m_tilesCache
◆ m_tilesCacheSize
| quint32 KisHLineIterator2::m_tilesCacheSize {0} |
|
private |
◆ m_tileWidth
| quint32 KisHLineIterator2::m_tileWidth {0} |
|
private |
◆ m_top
| qint32 KisHLineIterator2::m_top {0} |
|
private |
◆ m_x
| qint32 KisHLineIterator2::m_x {0} |
|
private |
◆ m_y
| qint32 KisHLineIterator2::m_y {0} |
|
private |
◆ m_yInTile
| qint32 KisHLineIterator2::m_yInTile {0} |
|
private |
The documentation for this class was generated from the following files: