scripts
This commit is contained in:
@@ -0,0 +1,90 @@
|
||||
using System;
|
||||
using System.IO;
|
||||
|
||||
namespace Hjg.Pngcs
|
||||
{
|
||||
// Token: 0x02000037 RID: 55
|
||||
internal abstract class ProgressiveOutputStream : MemoryStream
|
||||
{
|
||||
// Token: 0x060001F4 RID: 500 RVA: 0x00008072 File Offset: 0x00006272
|
||||
public ProgressiveOutputStream(int size_0)
|
||||
{
|
||||
this.size = size_0;
|
||||
if (this.size < 8)
|
||||
{
|
||||
throw new PngjException("bad size for ProgressiveOutputStream: " + this.size);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x060001F5 RID: 501 RVA: 0x000080A5 File Offset: 0x000062A5
|
||||
public override void Close()
|
||||
{
|
||||
this.Flush();
|
||||
base.Close();
|
||||
}
|
||||
|
||||
// Token: 0x060001F6 RID: 502 RVA: 0x000080B3 File Offset: 0x000062B3
|
||||
public override void Flush()
|
||||
{
|
||||
base.Flush();
|
||||
this.CheckFlushBuffer(true);
|
||||
}
|
||||
|
||||
// Token: 0x060001F7 RID: 503 RVA: 0x000080C2 File Offset: 0x000062C2
|
||||
public override void Write(byte[] b, int off, int len)
|
||||
{
|
||||
base.Write(b, off, len);
|
||||
this.CheckFlushBuffer(false);
|
||||
}
|
||||
|
||||
// Token: 0x060001F8 RID: 504 RVA: 0x000080D4 File Offset: 0x000062D4
|
||||
public void Write(byte[] b)
|
||||
{
|
||||
this.Write(b, 0, b.Length);
|
||||
this.CheckFlushBuffer(false);
|
||||
}
|
||||
|
||||
// Token: 0x060001F9 RID: 505 RVA: 0x000080E8 File Offset: 0x000062E8
|
||||
private void CheckFlushBuffer(bool forced)
|
||||
{
|
||||
int num = (int)this.Position;
|
||||
byte[] buffer = this.GetBuffer();
|
||||
while (forced || num >= this.size)
|
||||
{
|
||||
int num2 = this.size;
|
||||
if (num2 > num)
|
||||
{
|
||||
num2 = num;
|
||||
}
|
||||
if (num2 == 0)
|
||||
{
|
||||
return;
|
||||
}
|
||||
this.FlushBuffer(buffer, num2);
|
||||
this.countFlushed += (long)num2;
|
||||
int num3 = num - num2;
|
||||
num = num3;
|
||||
this.Position = (long)num;
|
||||
if (num3 > 0)
|
||||
{
|
||||
Array.Copy(buffer, num2, buffer, 0, num3);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x060001FA RID: 506
|
||||
protected abstract void FlushBuffer(byte[] b, int n);
|
||||
|
||||
// Token: 0x060001FB RID: 507 RVA: 0x00008156 File Offset: 0x00006356
|
||||
public long GetCountFlushed()
|
||||
{
|
||||
return this.countFlushed;
|
||||
}
|
||||
|
||||
// Token: 0x0400010F RID: 271
|
||||
private readonly int size;
|
||||
|
||||
// Token: 0x04000110 RID: 272
|
||||
private long countFlushed;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user