mirror of
https://github.com/elasota/Aerofoil.git
synced 2025-09-23 06:53:43 +00:00
27 lines
641 B
C++
27 lines
641 B
C++
#pragma once
|
|
|
|
#include "IDecompressor.h"
|
|
#include "PrefixCode.h"
|
|
|
|
struct IFileReader;
|
|
class IDecompressor;
|
|
class CompactProLZHDecompressor;
|
|
class CompactProRLEDecompressor;
|
|
|
|
class CompactProLZHRLEDecompressor : public IDecompressor
|
|
{
|
|
public:
|
|
explicit CompactProLZHRLEDecompressor(int blockSize);
|
|
~CompactProLZHRLEDecompressor();
|
|
|
|
bool Reset(CSInputBuffer *input, size_t compressedSize, size_t decompressedSize) override;
|
|
bool ReadBytes(void *dest, size_t numBytes) override;
|
|
|
|
private:
|
|
IFileReader *m_proxyReader;
|
|
CSInputBuffer *m_proxyInput;
|
|
IDecompressor *m_lzhDecompressor;
|
|
IDecompressor *m_rleDecompressor;
|
|
int m_blockSize;
|
|
};
|