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