#include <kis_vline_iterator.h>
Definition at line 15 of file kis_vline_iterator.h.
◆ KisVLineIterator2() [1/2]
◆ KisVLineIterator2() [2/2]
Definition at line 12 of file kis_vline_iterator.cpp.
16{
19 Q_ASSERT(dataManager != 0);
20
21 Q_ASSERT(h > 0);
23
25
28
31
33
37 return;
38 }
39
42
45
47
50
52
53
56 }
59}
qint32 calcXInTile(qint32 x, qint32 col) const
KisBaseIterator(KisTiledDataManager *_dataManager, bool _writable, KisIteratorCompleteListener *listener)
quint32 yToRow(quint32 y) const
quint32 xToCol(quint32 x) const
static const qint32 HEIGHT
static const qint32 WIDTH
qint32 m_topInTopmostTile
QVector< KisTileInfo > m_tilesCache
qint32 x() const override
void switchToTile(qint32 xInTile)
qint32 y() const override
void fetchTileDataForCache(KisTileInfo &kti, qint32 col, qint32 row)
References KisBaseIterator::calcXInTile(), fetchTileDataForCache(), KisTileData::HEIGHT, m_bottom, m_bottomRow, m_column, m_havePixels, m_index, m_left, m_lineStride, m_offsetX, m_offsetY, KisBaseIterator::m_pixelSize, m_tilesCache, m_tilesCacheSize, m_tileSize, m_top, m_topInTopmostTile, m_topRow, m_x, m_xInTile, m_y, switchToTile(), KisTileData::WIDTH, x(), KisBaseIterator::xToCol(), y(), and KisBaseIterator::yToRow().
◆ ~KisVLineIterator2()
| KisVLineIterator2::~KisVLineIterator2 |
( |
| ) |
|
|
override |
◆ fetchTileDataForCache()
| void KisVLineIterator2::fetchTileDataForCache |
( |
KisTileInfo & | kti, |
|
|
qint32 | col, |
|
|
qint32 | row ) |
|
private |
Definition at line 194 of file kis_vline_iterator.cpp.
195{
197
199 kti.data = kti.tile->data();
200
202 kti.oldData = kti.oldtile->data();
203}
void lockOldTile(KisTileSP &tile)
void lockTile(KisTileSP &tile)
KisTiledDataManager * m_dataManager
void getTilesPair(qint32 col, qint32 row, bool writable, KisTileSP *tile, KisTileSP *oldTile)
References KisTile::data(), KisVLineIterator2::KisTileInfo::data, KisTiledDataManager::getTilesPair(), KisBaseIterator::lockOldTile(), KisBaseIterator::lockTile(), KisBaseIterator::m_dataManager, KisBaseIterator::m_writable, KisVLineIterator2::KisTileInfo::oldData, KisVLineIterator2::KisTileInfo::oldtile, and KisVLineIterator2::KisTileInfo::tile.
◆ nConseqPixels()
| qint32 KisVLineIterator2::nConseqPixels |
( |
| ) |
const |
|
overridevirtual |
◆ nextColumn()
| void KisVLineIterator2::nextColumn |
( |
| ) |
|
|
overridevirtual |
Move to the next row
Implements KisVLineConstIteratorNG.
Definition at line 104 of file kis_vline_iterator.cpp.
105{
108
110
111 } else {
115 }
118
120}
References KisTileData::HEIGHT, m_column, m_havePixels, m_index, m_top, m_topInTopmostTile, m_x, m_xInTile, m_y, preallocateTiles(), and switchToTile().
◆ nextPixel()
| bool KisVLineIterator2::nextPixel |
( |
| ) |
|
|
overridevirtual |
◆ nextPixels()
| bool KisVLineIterator2::nextPixels |
( |
qint32 | n | ) |
|
|
overridevirtual |
Move to the next pixels
Implements KisBaseConstIteratorNG.
Definition at line 128 of file kis_vline_iterator.cpp.
129{
130 Q_ASSERT_X(!(
m_y > 0 && (
m_y + n) < 0),
"vlineIt+=",
"Integer overflow");
131
133
136 } else {
138
139 if (row == previousRow) {
141 } else {
145 }
146 }
148}
qint32 calcYInTile(qint32 y, qint32 row) const
References KisBaseIterator::calcYInTile(), m_bottom, m_data, m_havePixels, m_index, KisBaseIterator::m_pixelSize, m_y, switchToTile(), and KisBaseIterator::yToRow().
◆ oldRawData()
| const quint8 * KisVLineIterator2::oldRawData |
( |
| ) |
const |
|
overridevirtual |
◆ operator=()
◆ preallocateTiles()
| void KisVLineIterator2::preallocateTiles |
( |
| ) |
|
|
private |
◆ rawData()
| quint8 * KisVLineIterator2::rawData |
( |
| ) |
|
|
overridevirtual |
◆ rawDataConst()
| const quint8 * KisVLineIterator2::rawDataConst |
( |
| ) |
const |
|
overridevirtual |
◆ resetColumnPos()
| void KisVLineIterator2::resetColumnPos |
( |
| ) |
|
|
overridevirtual |
◆ resetPixelPos()
| void KisVLineIterator2::resetPixelPos |
( |
| ) |
|
|
overridevirtual |
◆ switchToTile()
| void KisVLineIterator2::switchToTile |
( |
qint32 | xInTile | ) |
|
|
private |
◆ x()
| qint32 KisVLineIterator2::x |
( |
| ) |
const |
|
overridevirtual |
◆ y()
| qint32 KisVLineIterator2::y |
( |
| ) |
const |
|
overridevirtual |
◆ m_bottom
| qint32 KisVLineIterator2::m_bottom {0} |
|
private |
◆ m_bottomRow
| qint32 KisVLineIterator2::m_bottomRow {0} |
|
private |
◆ m_column
| qint32 KisVLineIterator2::m_column {0} |
|
private |
◆ m_data
| quint8* KisVLineIterator2::m_data {nullptr} |
|
private |
◆ m_dataBottom
| quint8* KisVLineIterator2::m_dataBottom {nullptr} |
|
private |
◆ m_havePixels
| bool KisVLineIterator2::m_havePixels {false} |
|
private |
◆ m_index
| qint32 KisVLineIterator2::m_index {0} |
|
private |
◆ m_left
| qint32 KisVLineIterator2::m_left {0} |
|
private |
◆ m_lineStride
| qint32 KisVLineIterator2::m_lineStride {0} |
|
private |
◆ m_offsetX
| qint32 KisVLineIterator2::m_offsetX {0} |
|
private |
◆ m_offsetY
| qint32 KisVLineIterator2::m_offsetY {0} |
|
private |
◆ m_oldData
| quint8* KisVLineIterator2::m_oldData {nullptr} |
|
private |
◆ m_tilesCache
◆ m_tilesCacheSize
| qint32 KisVLineIterator2::m_tilesCacheSize {0} |
|
private |
◆ m_tileSize
| qint32 KisVLineIterator2::m_tileSize {0} |
|
private |
◆ m_top
| qint32 KisVLineIterator2::m_top {0} |
|
private |
◆ m_topInTopmostTile
| qint32 KisVLineIterator2::m_topInTopmostTile {0} |
|
private |
◆ m_topRow
| qint32 KisVLineIterator2::m_topRow {0} |
|
private |
◆ m_x
| qint32 KisVLineIterator2::m_x {0} |
|
private |
◆ m_xInTile
| qint32 KisVLineIterator2::m_xInTile {0} |
|
private |
◆ m_y
| qint32 KisVLineIterator2::m_y {0} |
|
private |
The documentation for this class was generated from the following files: