Krita Source Code Documentation
Loading...
Searching...
No Matches
kis_tile_compressor_2.h
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2010 Dmitry Kazakov <dimula73@gmail.com>
3 *
4 * SPDX-License-Identifier: GPL-2.0-or-later
5 */
6
7#ifndef __KIS_TILE_COMPRESSOR_2_H
8#define __KIS_TILE_COMPRESSOR_2_H
9
11
13
14class KRITAIMAGE_EXPORT KisTileCompressor2 : public KisAbstractTileCompressor
15{
16public:
18 ~KisTileCompressor2() override;
19
20 bool writeTile(KisTileSP tile, KisPaintDeviceWriter &store) override;
21 bool readTile(QIODevice *io, KisTiledDataManager *dm) override;
22
23
24 void compressTileData(KisTileData *tileData,quint8 *buffer,
25 qint32 bufferSize, qint32 &bytesWritten) override;
26 bool decompressTileData(quint8 *buffer, qint32 bufferSize, KisTileData *tileData) override;
27 qint32 tileDataBufferSize(KisTileData *tileData) override;
28
29private:
33 qint32 maxHeaderLength();
34
35 QString getHeader(KisTileSP tile, qint32 compressedSize);
36
37 void prepareWorkBuffers(qint32 tileDataSize);
38 void prepareStreamingBuffer(qint32 tileDataSize);
39
40private:
41 static const qint8 RAW_DATA_FLAG = 0;
42 static const qint8 COMPRESSED_DATA_FLAG = 1;
43
44private:
49 static const QString m_compressionName;
50};
51
52#endif /* __KIS_TILE_COMPRESSOR_2_H */
53
virtual void compressTileData(KisTileData *tileData, quint8 *buffer, qint32 bufferSize, qint32 &bytesWritten)=0
virtual bool decompressTileData(quint8 *buffer, qint32 bufferSize, KisTileData *tileData)=0
virtual bool readTile(QIODevice *stream, KisTiledDataManager *dm)=0
virtual bool writeTile(KisTileSP tile, KisPaintDeviceWriter &store)=0
virtual qint32 tileDataBufferSize(KisTileData *tileData)=0
KisAbstractCompression * m_compression
static const QString m_compressionName