Krita Source Code Documentation
Loading...
Searching...
No Matches
Compression Class Reference

#include <compression.h>

Static Public Member Functions

static QByteArray compress (QByteArray bytes, psd_compression_type compressionType, int row_size=0, int color_depth=0)
 
static QByteArray uncompress (int unpacked_len, QByteArray bytes, psd_compression_type compressionType, int row_size=0, int color_depth=0)
 

Detailed Description

Definition at line 15 of file compression.h.

Member Function Documentation

◆ compress()

QByteArray Compression::compress ( QByteArray bytes,
psd_compression_type compressionType,
int row_size = 0,
int color_depth = 0 )
static

Definition at line 397 of file compression.cpp.

398{
399 if (bytes.size() < 1)
400 return QByteArray();
401
402 switch (compressionType) {
403 case Uncompressed:
404 return bytes;
405 case RLE:
406 return KisRLE::compress(bytes);
407 case ZIP:
408 return KisZip::compress(bytes);
410 return KisZip::psd_zip_with_prediction(bytes, row_size, color_depth);
411 default:
412 qFatal("Cannot compress layer data: invalid compression type");
413 }
414
415 return QByteArray();
416}
int compress(const QByteArray &src, QByteArray &dst)
void psd_zip_with_prediction(QByteArray &dst_buf, int row_size)
int compress(const char *input, int unpacked_len, char *dst, int maxout)
@ RLE
Definition psd.h:41
@ ZIPWithPrediction
Definition psd.h:43
@ Uncompressed
Definition psd.h:40
@ ZIP
Definition psd.h:42

References KisZip::compress(), KisRLE::compress(), KisZip::psd_zip_with_prediction(), RLE, Uncompressed, ZIP, and ZIPWithPrediction.

◆ uncompress()

QByteArray Compression::uncompress ( int unpacked_len,
QByteArray bytes,
psd_compression_type compressionType,
int row_size = 0,
int color_depth = 0 )
static

Definition at line 376 of file compression.cpp.

377{
378 if (bytes.size() < 1)
379 return QByteArray();
380
381 switch (compressionType) {
382 case Uncompressed:
383 return bytes;
384 case RLE:
385 return KisRLE::decompress(bytes, unpacked_len);
386 case ZIP:
387 return KisZip::decompress(bytes, unpacked_len);
389 return KisZip::psd_unzip_with_prediction(bytes, unpacked_len, row_size, color_depth);
390 default:
391 qFatal("Cannot uncompress layer data: invalid compression type");
392 }
393
394 return QByteArray();
395}
QByteArray decompress(const QByteArray &input, int unpacked_len)
QByteArray decompress(const QByteArray &data, int expected_length)
void psd_unzip_with_prediction(QByteArray &dst_buf, int row_size)

References KisZip::decompress(), KisRLE::decompress(), KisZip::psd_unzip_with_prediction(), RLE, Uncompressed, ZIP, and ZIPWithPrediction.


The documentation for this class was generated from the following files: