Files
Dec2017-Script-Dump/Pngcs/Chunks/PngChunkHIST.cs
T
2026-06-04 11:42:34 +02:00

77 lines
2.1 KiB
C#

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