6#ifndef KIS_DATAMANAGER_H_
7#define KIS_DATAMANAGER_H_
18#define ACTUAL_DATAMGR KisTiledDataManager
57 return ACTUAL_DATAMGR::setDefaultPixel(defPixel);
64 return ACTUAL_DATAMGR::defaultPixel();
74 return ACTUAL_DATAMGR::getMemento();
84 ACTUAL_DATAMGR::rollback(memento);
95 ACTUAL_DATAMGR::rollforward(memento);
103 return ACTUAL_DATAMGR::hasCurrentMemento();
113 return ACTUAL_DATAMGR::write(writer);
116 inline bool read(QIODevice *io) {
117 return ACTUAL_DATAMGR::read(io);
120 inline void purge(
const QRect& area) {
121 ACTUAL_DATAMGR::purge(area);
131 ACTUAL_DATAMGR::releaseInternalPools();
140 return ACTUAL_DATAMGR::pixelSize();
146 inline void extent(qint32 &x, qint32 &y, qint32 &w, qint32 &h)
const {
147 return ACTUAL_DATAMGR::extent(x, y, w, h);
151 return ACTUAL_DATAMGR::extent();
155 return ACTUAL_DATAMGR::region();
163 inline void setExtent(qint32 x, qint32 y, qint32 w, qint32 h) {
164 return ACTUAL_DATAMGR::setExtent(x, y, w, h);
176 inline void clear(qint32 x, qint32 y,
179 ACTUAL_DATAMGR::clear(x, y, w, h, def);
185 inline void clear(qint32 x, qint32 y,
187 const quint8 * def) {
188 ACTUAL_DATAMGR::clear(x, y, w, h, def);
196 ACTUAL_DATAMGR::clear();
241 inline void setPixel(qint32 x, qint32 y,
const quint8 * data) {
242 ACTUAL_DATAMGR::setPixel(x, y, data);
253 qint32 dataRowStride = -1)
const {
254 ACTUAL_DATAMGR::readBytes(data, x, y, w, h, dataRowStride);
264 qint32 dataRowStride = -1) {
265 ACTUAL_DATAMGR::writeBytes(data, x, y, w, h, dataRowStride);
282 return ACTUAL_DATAMGR::readPlanarBytes(channelsizes, x, y, w, h);
307 ACTUAL_DATAMGR::writePlanarBytes(planes, channelsizes, x, y, w, h);
316 return ACTUAL_DATAMGR::numContiguousColumns(x, minY, maxY);
325 return ACTUAL_DATAMGR::numContiguousRows(y, minX, maxX);
334 return ACTUAL_DATAMGR::rowStride(x, y);
void clear(qint32 x, qint32 y, qint32 w, qint32 h, quint8 def)
void purge(const QRect &area)
void setPixel(qint32 x, qint32 y, const quint8 *data)
bool hasCurrentMemento() const
~KisDataManager() override
void readBytes(quint8 *data, qint32 x, qint32 y, qint32 w, qint32 h, qint32 dataRowStride=-1) const
void setDefaultPixel(const quint8 *defPixel)
KisDataManager(const KisDataManager &dm)
KisMementoSP getMemento()
void setExtent(qint32 x, qint32 y, qint32 w, qint32 h)
void writeBytes(const quint8 *data, qint32 x, qint32 y, qint32 w, qint32 h, qint32 dataRowStride=-1)
void bitBltRough(KisTiledDataManagerSP srcDM, const QRect &rect)
void rollforward(KisMementoSP memento)
bool write(KisPaintDeviceWriter &writer)
QVector< quint8 * > readPlanarBytes(QVector< qint32 > channelsizes, qint32 x, qint32 y, qint32 w, qint32 h) const
friend class KisVLineIterator
void bitBltOldData(KisTiledDataManagerSP srcDM, const QRect &rect)
friend class KisRectIterator
void writePlanarBytes(QVector< quint8 * > planes, QVector< qint32 > channelsizes, qint32 x, qint32 y, qint32 w, qint32 h)
qint32 numContiguousRows(qint32 y, qint32 minX, qint32 maxX) const
void setExtent(const QRect &rect)
friend class KisHLineIterator
void extent(qint32 &x, qint32 &y, qint32 &w, qint32 &h) const
void rollback(KisMementoSP memento)
KisDataManager(quint32 pixelSize, const quint8 *defPixel)
void bitBltRoughOldData(KisTiledDataManagerSP srcDM, const QRect &rect)
void clear(qint32 x, qint32 y, qint32 w, qint32 h, const quint8 *def)
qint32 numContiguousColumns(qint32 x, qint32 minY, qint32 maxY) const
qint32 rowStride(qint32 x, qint32 y) const
quint32 pixelSize() const
static void releaseInternalPools()
void bitBlt(KisTiledDataManagerSP srcDM, const QRect &rect)
const quint8 * defaultPixel() const