C# 클래스 ICSharpCode.SharpZipLib.Zip.Compression.Streams.OutputWindow

Contains the output from the Inflation process. We need to have a window so that we can refer backwards into the output stream to repeat stuff.
Author of the original java version : John Leuner
파일 보기 프로젝트 열기: icsharpcode/SharpZipLib 1 사용 예제들

공개 메소드들

메소드 설명
CopyDict ( byte dictionary, int offset, int length ) : void

Copy dictionary to window

CopyOutput ( byte output, int offset, int len ) : int

Copy contents of window to output

CopyStored ( StreamManipulator input, int length ) : int

Copy from input manipulator to internal window

GetAvailable ( ) : int

Get bytes available for output in window

GetFreeSpace ( ) : int

Get remaining unfilled space in window

Repeat ( int length, int distance ) : void

Append a byte pattern already in the window itself

Reset ( ) : void

Reset by clearing window so GetAvailable returns 0

Write ( int value ) : void

Write a byte to this output window

비공개 메소드들

메소드 설명
SlowRepeat ( int repStart, int length, int distance ) : void

메소드 상세

CopyDict() 공개 메소드

Copy dictionary to window
/// If window isnt empty ///
public CopyDict ( byte dictionary, int offset, int length ) : void
dictionary byte source dictionary
offset int offset of start in source dictionary
length int length of dictionary
리턴 void

CopyOutput() 공개 메소드

Copy contents of window to output
/// If a window underflow occurs ///
public CopyOutput ( byte output, int offset, int len ) : int
output byte buffer to copy to
offset int offset to start at
len int number of bytes to count
리턴 int

CopyStored() 공개 메소드

Copy from input manipulator to internal window
public CopyStored ( StreamManipulator input, int length ) : int
input StreamManipulator source of data
length int length of data to copy
리턴 int

GetAvailable() 공개 메소드

Get bytes available for output in window
public GetAvailable ( ) : int
리턴 int

GetFreeSpace() 공개 메소드

Get remaining unfilled space in window
public GetFreeSpace ( ) : int
리턴 int

Repeat() 공개 메소드

Append a byte pattern already in the window itself
/// If the repeated data overflows the window ///
public Repeat ( int length, int distance ) : void
length int length of pattern to copy
distance int distance from end of window pattern occurs
리턴 void

Reset() 공개 메소드

Reset by clearing window so GetAvailable returns 0
public Reset ( ) : void
리턴 void

Write() 공개 메소드

Write a byte to this output window
/// if window is full ///
public Write ( int value ) : void
value int value to write
리턴 void