11#define TILE_DATA_SIZE(pixelSize) ((pixelSize) * KisTileData::WIDTH * KisTileData::HEIGHT)
26 QScopedArrayPointer<quint8> headerBuffer(
new quint8[bufferSize]);
34 store.
write((
char *)headerBuffer.data(), strlen((
char *)headerBuffer.data()));
37 retval = store.
write((
char *)tile->
data(), tileDataSize);
48 quint8 *headerBuffer =
new quint8[bufferSize];
53 stream->readLine((
char *)headerBuffer, bufferSize);
54 sscanf((
char *) headerBuffer,
"%d,%d,%d,%d", &x, &y, &width, &height);
56 qint32 row =
yToRow(dm, y);
57 qint32 col =
xToCol(dm, x);
62 stream->read((
char *)tile->
data(), tileDataSize);
76 Q_ASSERT(bufferSize >= tileDataSize);
77 memcpy(buffer, tileData->
data(), tileDataSize);
78 bytesWritten += tileDataSize;
86 if (bufferSize >= tileDataSize) {
87 memcpy(tileData->
data(), buffer, tileDataSize);
100 static const qint32 LEGACY_MAGIC_NUMBER = 79;
101 return LEGACY_MAGIC_NUMBER;
108 qint32 width, height;
110 tile->
extent().getRect(&x, &y, &width, &height);
111 sprintf((
char *)buffer,
"%d,%d,%d,%d\n", x, y, width, height);
qint32 xToCol(KisTiledDataManager *dm, qint32 x)
qint32 yToRow(KisTiledDataManager *dm, qint32 y)
qint32 pixelSize(KisTiledDataManager *dm)
bool writeTile(KisTileSP tile, KisPaintDeviceWriter &store) override
bool writeHeader(KisTileSP tile, quint8 *buffer)
bool decompressTileData(quint8 *buffer, qint32 bufferSize, KisTileData *tileData) override
KisLegacyTileCompressor()
qint32 tileDataBufferSize(KisTileData *tileData) override
bool readTile(QIODevice *stream, KisTiledDataManager *dm) override
~KisLegacyTileCompressor() override
void compressTileData(KisTileData *tileData, quint8 *buffer, qint32 bufferSize, qint32 &bytesWritten) override
virtual bool write(const QByteArray &data)=0
quint32 pixelSize() const
void unlockForRead() const
KisTileSP getTile(qint32 col, qint32 row, bool writable)
#define TILE_DATA_SIZE(pixelSize)