Files
2026-06-04 11:42:34 +02:00

113 lines
4.1 KiB
C#

using System;
namespace Hjg.Pngcs.Chunks
{
// Token: 0x02000016 RID: 22
public class PngChunkCHRM : PngChunkSingle
{
// Token: 0x060000A1 RID: 161 RVA: 0x00003BC7 File Offset: 0x00001DC7
public PngChunkCHRM(ImageInfo info)
: base("cHRM", info)
{
}
// Token: 0x060000A2 RID: 162 RVA: 0x00003BD5 File Offset: 0x00001DD5
public override PngChunk.ChunkOrderingConstraint GetOrderingConstraint()
{
return PngChunk.ChunkOrderingConstraint.AFTER_PLTE_BEFORE_IDAT;
}
// Token: 0x060000A3 RID: 163 RVA: 0x00003BD8 File Offset: 0x00001DD8
public override ChunkRaw CreateRawChunk()
{
ChunkRaw chunkRaw = base.createEmptyChunk(32, true);
PngHelperInternal.WriteInt4tobytes(PngHelperInternal.DoubleToInt100000(this.whitex), chunkRaw.Data, 0);
PngHelperInternal.WriteInt4tobytes(PngHelperInternal.DoubleToInt100000(this.whitey), chunkRaw.Data, 4);
PngHelperInternal.WriteInt4tobytes(PngHelperInternal.DoubleToInt100000(this.redx), chunkRaw.Data, 8);
PngHelperInternal.WriteInt4tobytes(PngHelperInternal.DoubleToInt100000(this.redy), chunkRaw.Data, 12);
PngHelperInternal.WriteInt4tobytes(PngHelperInternal.DoubleToInt100000(this.greenx), chunkRaw.Data, 16);
PngHelperInternal.WriteInt4tobytes(PngHelperInternal.DoubleToInt100000(this.greeny), chunkRaw.Data, 20);
PngHelperInternal.WriteInt4tobytes(PngHelperInternal.DoubleToInt100000(this.bluex), chunkRaw.Data, 24);
PngHelperInternal.WriteInt4tobytes(PngHelperInternal.DoubleToInt100000(this.bluey), chunkRaw.Data, 28);
return chunkRaw;
}
// Token: 0x060000A4 RID: 164 RVA: 0x00003CB0 File Offset: 0x00001EB0
public override void ParseFromRaw(ChunkRaw c)
{
if (c.Length != 32)
{
throw new PngjException("bad chunk " + c);
}
this.whitex = PngHelperInternal.IntToDouble100000(PngHelperInternal.ReadInt4fromBytes(c.Data, 0));
this.whitey = PngHelperInternal.IntToDouble100000(PngHelperInternal.ReadInt4fromBytes(c.Data, 4));
this.redx = PngHelperInternal.IntToDouble100000(PngHelperInternal.ReadInt4fromBytes(c.Data, 8));
this.redy = PngHelperInternal.IntToDouble100000(PngHelperInternal.ReadInt4fromBytes(c.Data, 12));
this.greenx = PngHelperInternal.IntToDouble100000(PngHelperInternal.ReadInt4fromBytes(c.Data, 16));
this.greeny = PngHelperInternal.IntToDouble100000(PngHelperInternal.ReadInt4fromBytes(c.Data, 20));
this.bluex = PngHelperInternal.IntToDouble100000(PngHelperInternal.ReadInt4fromBytes(c.Data, 24));
this.bluey = PngHelperInternal.IntToDouble100000(PngHelperInternal.ReadInt4fromBytes(c.Data, 28));
}
// Token: 0x060000A5 RID: 165 RVA: 0x00003D98 File Offset: 0x00001F98
public override void CloneDataFromRead(PngChunk other)
{
PngChunkCHRM pngChunkCHRM = (PngChunkCHRM)other;
this.whitex = pngChunkCHRM.whitex;
this.whitey = pngChunkCHRM.whitex;
this.redx = pngChunkCHRM.redx;
this.redy = pngChunkCHRM.redy;
this.greenx = pngChunkCHRM.greenx;
this.greeny = pngChunkCHRM.greeny;
this.bluex = pngChunkCHRM.bluex;
this.bluey = pngChunkCHRM.bluey;
}
// Token: 0x060000A6 RID: 166 RVA: 0x00003E0C File Offset: 0x0000200C
public void SetChromaticities(double whitex, double whitey, double redx, double redy, double greenx, double greeny, double bluex, double bluey)
{
this.whitex = whitex;
this.redx = redx;
this.greenx = greenx;
this.bluex = bluex;
this.whitey = whitey;
this.redy = redy;
this.greeny = greeny;
this.bluey = bluey;
}
// Token: 0x060000A7 RID: 167 RVA: 0x00003E4C File Offset: 0x0000204C
public double[] GetChromaticities()
{
return new double[] { this.whitex, this.whitey, this.redx, this.redy, this.greenx, this.greeny, this.bluex, this.bluey };
}
// Token: 0x04000056 RID: 86
public const string ID = "cHRM";
// Token: 0x04000057 RID: 87
private double whitex;
// Token: 0x04000058 RID: 88
private double whitey;
// Token: 0x04000059 RID: 89
private double redx;
// Token: 0x0400005A RID: 90
private double redy;
// Token: 0x0400005B RID: 91
private double greenx;
// Token: 0x0400005C RID: 92
private double greeny;
// Token: 0x0400005D RID: 93
private double bluex;
// Token: 0x0400005E RID: 94
private double bluey;
}
}