using System; using System.Collections.Generic; using System.Text; namespace Hjg.Pngcs.Chunks { // Token: 0x02000003 RID: 3 public class ChunksList { // Token: 0x06000018 RID: 24 RVA: 0x0000239A File Offset: 0x0000059A internal ChunksList(ImageInfo imfinfo) { this.chunks = new List(); this.imageInfo = imfinfo; } // Token: 0x06000019 RID: 25 RVA: 0x000023B4 File Offset: 0x000005B4 public Dictionary GetChunksKeys() { Dictionary dictionary = new Dictionary(); foreach (PngChunk pngChunk in this.chunks) { dictionary[pngChunk.Id] = (dictionary.ContainsKey(pngChunk.Id) ? (dictionary[pngChunk.Id] + 1) : 1); } return dictionary; } // Token: 0x0600001A RID: 26 RVA: 0x00002434 File Offset: 0x00000634 public List GetChunks() { return new List(this.chunks); } // Token: 0x0600001B RID: 27 RVA: 0x00002441 File Offset: 0x00000641 internal static List GetXById(List list, string id, string innerid) { if (innerid == null) { return ChunkHelper.FilterList(list, new ChunkPredicateId(id)); } return ChunkHelper.FilterList(list, new ChunkPredicateId2(id, innerid)); } // Token: 0x0600001C RID: 28 RVA: 0x00002460 File Offset: 0x00000660 public void AppendReadChunk(PngChunk chunk, int chunkGroup) { chunk.ChunkGroup = chunkGroup; this.chunks.Add(chunk); } // Token: 0x0600001D RID: 29 RVA: 0x00002475 File Offset: 0x00000675 public List GetById(string id) { return this.GetById(id, null); } // Token: 0x0600001E RID: 30 RVA: 0x0000247F File Offset: 0x0000067F public List GetById(string id, string innerid) { return ChunksList.GetXById(this.chunks, id, innerid); } // Token: 0x0600001F RID: 31 RVA: 0x0000248E File Offset: 0x0000068E public PngChunk GetById1(string id) { return this.GetById1(id, false); } // Token: 0x06000020 RID: 32 RVA: 0x00002498 File Offset: 0x00000698 public PngChunk GetById1(string id, bool failIfMultiple) { return this.GetById1(id, null, failIfMultiple); } // Token: 0x06000021 RID: 33 RVA: 0x000024A4 File Offset: 0x000006A4 public PngChunk GetById1(string id, string innerid, bool failIfMultiple) { List byId = this.GetById(id, innerid); if (byId.Count == 0) { return null; } if (byId.Count > 1 && (failIfMultiple || !byId[0].AllowsMultiple())) { throw new PngjException("unexpected multiple chunks id=" + id); } return byId[byId.Count - 1]; } // Token: 0x06000022 RID: 34 RVA: 0x000024FD File Offset: 0x000006FD public List GetEquivalent(PngChunk chunk) { return ChunkHelper.FilterList(this.chunks, new ChunkPredicateEquiv(chunk)); } // Token: 0x06000023 RID: 35 RVA: 0x00002510 File Offset: 0x00000710 public override string ToString() { return "ChunkList: read: " + this.chunks.Count; } // Token: 0x06000024 RID: 36 RVA: 0x0000252C File Offset: 0x0000072C public string ToStringFull() { StringBuilder stringBuilder = new StringBuilder(this.ToString()); stringBuilder.Append("\n Read:\n"); foreach (PngChunk pngChunk in this.chunks) { stringBuilder.Append(pngChunk).Append(" G=" + pngChunk.ChunkGroup + "\n"); } return stringBuilder.ToString(); } // Token: 0x04000017 RID: 23 internal const int CHUNK_GROUP_0_IDHR = 0; // Token: 0x04000018 RID: 24 internal const int CHUNK_GROUP_1_AFTERIDHR = 1; // Token: 0x04000019 RID: 25 internal const int CHUNK_GROUP_2_PLTE = 2; // Token: 0x0400001A RID: 26 internal const int CHUNK_GROUP_3_AFTERPLTE = 3; // Token: 0x0400001B RID: 27 internal const int CHUNK_GROUP_4_IDAT = 4; // Token: 0x0400001C RID: 28 internal const int CHUNK_GROUP_5_AFTERIDAT = 5; // Token: 0x0400001D RID: 29 internal const int CHUNK_GROUP_6_END = 6; // Token: 0x0400001E RID: 30 protected List chunks; // Token: 0x0400001F RID: 31 internal readonly ImageInfo imageInfo; } }