using System; namespace Hjg.Pngcs.Chunks { // Token: 0x02000023 RID: 35 public class PngChunkBKGD : PngChunkSingle { // Token: 0x0600013B RID: 315 RVA: 0x00005F9F File Offset: 0x0000419F public PngChunkBKGD(ImageInfo info) : base("bKGD", info) { } // Token: 0x0600013C RID: 316 RVA: 0x00005FAD File Offset: 0x000041AD public override PngChunk.ChunkOrderingConstraint GetOrderingConstraint() { return PngChunk.ChunkOrderingConstraint.AFTER_PLTE_BEFORE_IDAT; } // Token: 0x0600013D RID: 317 RVA: 0x00005FB0 File Offset: 0x000041B0 public override ChunkRaw CreateRawChunk() { ChunkRaw chunkRaw; if (this.ImgInfo.Greyscale) { chunkRaw = base.createEmptyChunk(2, true); PngHelperInternal.WriteInt2tobytes(this.gray, chunkRaw.Data, 0); } else if (this.ImgInfo.Indexed) { chunkRaw = base.createEmptyChunk(1, true); chunkRaw.Data[0] = (byte)this.paletteIndex; } else { chunkRaw = base.createEmptyChunk(6, true); PngHelperInternal.WriteInt2tobytes(this.red, chunkRaw.Data, 0); PngHelperInternal.WriteInt2tobytes(this.green, chunkRaw.Data, 0); PngHelperInternal.WriteInt2tobytes(this.blue, chunkRaw.Data, 0); } return chunkRaw; } // Token: 0x0600013E RID: 318 RVA: 0x00006050 File Offset: 0x00004250 public override void ParseFromRaw(ChunkRaw c) { if (this.ImgInfo.Greyscale) { this.gray = PngHelperInternal.ReadInt2fromBytes(c.Data, 0); return; } if (this.ImgInfo.Indexed) { this.paletteIndex = (int)(c.Data[0] & byte.MaxValue); return; } this.red = PngHelperInternal.ReadInt2fromBytes(c.Data, 0); this.green = PngHelperInternal.ReadInt2fromBytes(c.Data, 2); this.blue = PngHelperInternal.ReadInt2fromBytes(c.Data, 4); } // Token: 0x0600013F RID: 319 RVA: 0x000060D8 File Offset: 0x000042D8 public override void CloneDataFromRead(PngChunk other) { PngChunkBKGD pngChunkBKGD = (PngChunkBKGD)other; this.gray = pngChunkBKGD.gray; this.red = pngChunkBKGD.red; this.green = pngChunkBKGD.red; this.blue = pngChunkBKGD.red; this.paletteIndex = pngChunkBKGD.paletteIndex; } // Token: 0x06000140 RID: 320 RVA: 0x00006128 File Offset: 0x00004328 public void SetGray(int gray) { if (!this.ImgInfo.Greyscale) { throw new PngjException("only gray images support this"); } this.gray = gray; } // Token: 0x06000141 RID: 321 RVA: 0x00006149 File Offset: 0x00004349 public int GetGray() { if (!this.ImgInfo.Greyscale) { throw new PngjException("only gray images support this"); } return this.gray; } // Token: 0x06000142 RID: 322 RVA: 0x00006169 File Offset: 0x00004369 public void SetPaletteIndex(int index) { if (!this.ImgInfo.Indexed) { throw new PngjException("only indexed (pallete) images support this"); } this.paletteIndex = index; } // Token: 0x06000143 RID: 323 RVA: 0x0000618A File Offset: 0x0000438A public int GetPaletteIndex() { if (!this.ImgInfo.Indexed) { throw new PngjException("only indexed (pallete) images support this"); } return this.paletteIndex; } // Token: 0x06000144 RID: 324 RVA: 0x000061AA File Offset: 0x000043AA public void SetRGB(int r, int g, int b) { if (this.ImgInfo.Greyscale || this.ImgInfo.Indexed) { throw new PngjException("only rgb or rgba images support this"); } this.red = r; this.green = g; this.blue = b; } // Token: 0x06000145 RID: 325 RVA: 0x000061E8 File Offset: 0x000043E8 public int[] GetRGB() { if (this.ImgInfo.Greyscale || this.ImgInfo.Indexed) { throw new PngjException("only rgb or rgba images support this"); } return new int[] { this.red, this.green, this.blue }; } // Token: 0x040000AE RID: 174 public const string ID = "bKGD"; // Token: 0x040000AF RID: 175 private int gray; // Token: 0x040000B0 RID: 176 private int red; // Token: 0x040000B1 RID: 177 private int green; // Token: 0x040000B2 RID: 178 private int blue; // Token: 0x040000B3 RID: 179 private int paletteIndex; } }