Files
2026-06-04 11:42:34 +02:00

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;
}
}