using System; namespace Hjg.Pngcs.Chunks { // Token: 0x02000015 RID: 21 public class PngChunkHIST : PngChunkSingle { // Token: 0x06000099 RID: 153 RVA: 0x00003A7E File Offset: 0x00001C7E public PngChunkHIST(ImageInfo info) : base(PngChunkHIST.ID, info) { } // Token: 0x0600009A RID: 154 RVA: 0x00003A98 File Offset: 0x00001C98 public override PngChunk.ChunkOrderingConstraint GetOrderingConstraint() { return PngChunk.ChunkOrderingConstraint.AFTER_PLTE_BEFORE_IDAT; } // Token: 0x0600009B RID: 155 RVA: 0x00003A9C File Offset: 0x00001C9C public override ChunkRaw CreateRawChunk() { if (!this.ImgInfo.Indexed) { throw new PngjException("only indexed images accept a HIST chunk"); } ChunkRaw chunkRaw = base.createEmptyChunk(this.hist.Length * 2, true); for (int i = 0; i < this.hist.Length; i++) { PngHelperInternal.WriteInt2tobytes(this.hist[i], chunkRaw.Data, i * 2); } return chunkRaw; } // Token: 0x0600009C RID: 156 RVA: 0x00003B00 File Offset: 0x00001D00 public override void ParseFromRaw(ChunkRaw c) { if (!this.ImgInfo.Indexed) { throw new PngjException("only indexed images accept a HIST chunk"); } int num = c.Data.Length / 2; this.hist = new int[num]; for (int i = 0; i < this.hist.Length; i++) { this.hist[i] = PngHelperInternal.ReadInt2fromBytes(c.Data, i * 2); } } // Token: 0x0600009D RID: 157 RVA: 0x00003B68 File Offset: 0x00001D68 public override void CloneDataFromRead(PngChunk other) { PngChunkHIST pngChunkHIST = (PngChunkHIST)other; this.hist = new int[pngChunkHIST.hist.Length]; Array.Copy(pngChunkHIST.hist, 0, this.hist, 0, pngChunkHIST.hist.Length); } // Token: 0x0600009E RID: 158 RVA: 0x00003BAA File Offset: 0x00001DAA public int[] GetHist() { return this.hist; } // Token: 0x0600009F RID: 159 RVA: 0x00003BB2 File Offset: 0x00001DB2 public void SetHist(int[] hist) { this.hist = hist; } // Token: 0x04000054 RID: 84 public static readonly string ID = "hIST"; // Token: 0x04000055 RID: 85 private int[] hist = new int[0]; } }