Krita Source Code Documentation
Loading...
Searching...
No Matches
kis_abstract_tile_compressor.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_ABSTRACT_TILE_COMPRESSOR_H
8#define __KIS_ABSTRACT_TILE_COMPRESSOR_H
9
10#include "kritaimage_export.h"
11#include "../kis_tile.h"
13
21
22class KRITAIMAGE_EXPORT KisAbstractTileCompressor : public KisShared
23{
24public:
27
28public:
29
36 virtual bool writeTile(KisTileSP tile, KisPaintDeviceWriter &store) = 0;
37
44 virtual bool readTile(QIODevice *stream, KisTiledDataManager *dm) = 0;
45
60 virtual void compressTileData(KisTileData *tileData,quint8 *buffer,
61 qint32 bufferSize, qint32 &bytesWritten) = 0;
62
73 virtual bool decompressTileData(quint8 *buffer, qint32 bufferSize,
74 KisTileData *tileData) = 0;
75
79 virtual qint32 tileDataBufferSize(KisTileData *tileData) = 0;
80
81protected:
82 inline qint32 xToCol(KisTiledDataManager *dm, qint32 x) {
83 return dm->xToCol(x);
84 }
85
86 inline qint32 yToRow(KisTiledDataManager *dm, qint32 y) {
87 return dm->yToRow(y);
88 }
89
90 inline qint32 pixelSize(KisTiledDataManager *dm) {
91 return dm->pixelSize();
92 }
93};
94
95#endif /* __KIS_ABSTRACT_TILE_COMPRESSOR_H */
96
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
qint32 xToCol(KisTiledDataManager *dm, qint32 x)
virtual qint32 tileDataBufferSize(KisTileData *tileData)=0
qint32 yToRow(KisTiledDataManager *dm, qint32 y)
qint32 pixelSize(KisTiledDataManager *dm)
qint32 yToRow(qint32 y) const
qint32 xToCol(qint32 x) const
KisSharedPtr< KisAbstractTileCompressor > KisAbstractTileCompressorSP