LibreOffice Module vcl (master)  1
Public Member Functions | Private Member Functions | Private Attributes | List of all members
LZWDecompressor Class Reference

#include <lzwdecom.hxx>

Collaboration diagram for LZWDecompressor:
[legend]

Public Member Functions

 LZWDecompressor ()
 
 ~LZWDecompressor ()
 
void StartDecompression (SvStream &rIStream)
 
sal_uInt64 Decompress (sal_uInt8 *pTarget, sal_uInt32 nMaxCount)
 

Private Member Functions

sal_uInt16 GetNextCode ()
 
void AddToTable (sal_uInt16 nPrevCode, sal_uInt16 nCodeFirstData)
 
void DecompressSome ()
 

Private Attributes

SvStreampIStream
 
std::array< LZWTableEntry, MAX_TABLE_SIZEaTable
 
sal_uInt16 nTableSize
 
bool bEOIFound
 
bool bInvert
 
bool bFirst
 
sal_uInt16 nOldCode
 
std::array< sal_uInt8, MAX_TABLE_SIZEpOutBuf
 
sal_uInt8pOutBufData
 
sal_uInt16 nOutBufDataLen
 
sal_uInt8 nInputBitsBuf
 
sal_uInt16 nInputBitsBufSize
 

Detailed Description

Definition at line 37 of file lzwdecom.hxx.

Constructor & Destructor Documentation

LZWDecompressor::LZWDecompressor ( )

Definition at line 25 of file lzwdecom.cxx.

LZWDecompressor::~LZWDecompressor ( )

Definition at line 47 of file lzwdecom.cxx.

Member Function Documentation

void LZWDecompressor::AddToTable ( sal_uInt16  nPrevCode,
sal_uInt16  nCodeFirstData 
)
private

Definition at line 148 of file lzwdecom.cxx.

References aTable, bEOIFound, MAX_TABLE_SIZE, nTableSize, and SAL_WARN.

Referenced by DecompressSome().

sal_uInt64 LZWDecompressor::Decompress ( sal_uInt8 pTarget,
sal_uInt32  nMaxCount 
)
void LZWDecompressor::DecompressSome ( )
private

Definition at line 180 of file lzwdecom.cxx.

References AddToTable(), aTable, bEOIFound, GetNextCode(), i, nCode, nOldCode, nOutBufDataLen, nTableSize, pOutBuf, and pOutBufData.

Referenced by Decompress().

sal_uInt16 LZWDecompressor::GetNextCode ( )
private

Definition at line 115 of file lzwdecom.cxx.

References bInvert, nCode, nInputBitsBuf, nInputBitsBufSize, nTableSize, pIStream, and SvStream::ReadUChar().

Referenced by DecompressSome().

void LZWDecompressor::StartDecompression ( SvStream rIStream)

Member Data Documentation

std::array<LZWTableEntry, MAX_TABLE_SIZE> LZWDecompressor::aTable
private

Definition at line 56 of file lzwdecom.hxx.

Referenced by AddToTable(), and DecompressSome().

bool LZWDecompressor::bEOIFound
private

Definition at line 59 of file lzwdecom.hxx.

Referenced by AddToTable(), Decompress(), DecompressSome(), and StartDecompression().

bool LZWDecompressor::bFirst
private

Definition at line 59 of file lzwdecom.hxx.

Referenced by StartDecompression().

bool LZWDecompressor::bInvert
private

Definition at line 59 of file lzwdecom.hxx.

Referenced by GetNextCode(), and StartDecompression().

sal_uInt8 LZWDecompressor::nInputBitsBuf
private

Definition at line 67 of file lzwdecom.hxx.

Referenced by GetNextCode(), and StartDecompression().

sal_uInt16 LZWDecompressor::nInputBitsBufSize
private

Definition at line 68 of file lzwdecom.hxx.

Referenced by GetNextCode(), and StartDecompression().

sal_uInt16 LZWDecompressor::nOldCode
private

Definition at line 61 of file lzwdecom.hxx.

Referenced by DecompressSome().

sal_uInt16 LZWDecompressor::nOutBufDataLen
private

Definition at line 65 of file lzwdecom.hxx.

Referenced by Decompress(), DecompressSome(), and StartDecompression().

sal_uInt16 LZWDecompressor::nTableSize
private

Definition at line 57 of file lzwdecom.hxx.

Referenced by AddToTable(), DecompressSome(), GetNextCode(), and StartDecompression().

SvStream* LZWDecompressor::pIStream
private

Definition at line 54 of file lzwdecom.hxx.

Referenced by Decompress(), GetNextCode(), and StartDecompression().

std::array<sal_uInt8, MAX_TABLE_SIZE> LZWDecompressor::pOutBuf
private

Definition at line 63 of file lzwdecom.hxx.

Referenced by DecompressSome().

sal_uInt8* LZWDecompressor::pOutBufData
private

Definition at line 64 of file lzwdecom.hxx.

Referenced by Decompress(), and DecompressSome().


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