74 lines
2.0 KiB
C#
74 lines
2.0 KiB
C#
using System;
|
|
using System.IO;
|
|
using ICSharpCode.SharpZipLib.Zip.Compression;
|
|
using ICSharpCode.SharpZipLib.Zip.Compression.Streams;
|
|
|
|
namespace Hjg.Pngcs.Zlib
|
|
{
|
|
// Token: 0x02000042 RID: 66
|
|
internal class ZlibOutputStreamIs : AZlibOutputStream
|
|
{
|
|
// Token: 0x0600028A RID: 650 RVA: 0x0000A798 File Offset: 0x00008998
|
|
public ZlibOutputStreamIs(Stream st, int compressLevel, EDeflateCompressStrategy strat, bool leaveOpen)
|
|
: base(st, compressLevel, strat, leaveOpen)
|
|
{
|
|
this.deflater = new Deflater(compressLevel);
|
|
this.setStrat(strat);
|
|
this.ost = new DeflaterOutputStream(st, this.deflater);
|
|
this.ost.IsStreamOwner = !leaveOpen;
|
|
}
|
|
|
|
// Token: 0x0600028B RID: 651 RVA: 0x0000A7E5 File Offset: 0x000089E5
|
|
public void setStrat(EDeflateCompressStrategy strat)
|
|
{
|
|
if (strat == EDeflateCompressStrategy.Filtered)
|
|
{
|
|
this.deflater.SetStrategy(DeflateStrategy.Filtered);
|
|
return;
|
|
}
|
|
if (strat == EDeflateCompressStrategy.Huffman)
|
|
{
|
|
this.deflater.SetStrategy(DeflateStrategy.HuffmanOnly);
|
|
return;
|
|
}
|
|
this.deflater.SetStrategy(DeflateStrategy.Default);
|
|
}
|
|
|
|
// Token: 0x0600028C RID: 652 RVA: 0x0000A814 File Offset: 0x00008A14
|
|
public override void Write(byte[] buffer, int offset, int count)
|
|
{
|
|
this.ost.Write(buffer, offset, count);
|
|
}
|
|
|
|
// Token: 0x0600028D RID: 653 RVA: 0x0000A824 File Offset: 0x00008A24
|
|
public override void WriteByte(byte value)
|
|
{
|
|
this.ost.WriteByte(value);
|
|
}
|
|
|
|
// Token: 0x0600028E RID: 654 RVA: 0x0000A832 File Offset: 0x00008A32
|
|
public override void Close()
|
|
{
|
|
this.ost.Close();
|
|
}
|
|
|
|
// Token: 0x0600028F RID: 655 RVA: 0x0000A83F File Offset: 0x00008A3F
|
|
public override void Flush()
|
|
{
|
|
this.ost.Flush();
|
|
}
|
|
|
|
// Token: 0x06000290 RID: 656 RVA: 0x0000A84C File Offset: 0x00008A4C
|
|
public override string getImplementationId()
|
|
{
|
|
return "Zlib deflater: SharpZipLib";
|
|
}
|
|
|
|
// Token: 0x04000150 RID: 336
|
|
private DeflaterOutputStream ost;
|
|
|
|
// Token: 0x04000151 RID: 337
|
|
private Deflater deflater;
|
|
}
|
|
}
|