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

124 lines
3.6 KiB
C#

using System;
namespace Hjg.Pngcs.Chunks
{
// Token: 0x02000017 RID: 23
public class PngChunkSBIT : PngChunkSingle
{
// Token: 0x17000009 RID: 9
// (get) Token: 0x060000A8 RID: 168 RVA: 0x00003EA9 File Offset: 0x000020A9
// (set) Token: 0x060000A9 RID: 169 RVA: 0x00003EB1 File Offset: 0x000020B1
public int Graysb { get; set; }
// Token: 0x1700000A RID: 10
// (get) Token: 0x060000AA RID: 170 RVA: 0x00003EBA File Offset: 0x000020BA
// (set) Token: 0x060000AB RID: 171 RVA: 0x00003EC2 File Offset: 0x000020C2
public int Alphasb { get; set; }
// Token: 0x1700000B RID: 11
// (get) Token: 0x060000AC RID: 172 RVA: 0x00003ECB File Offset: 0x000020CB
// (set) Token: 0x060000AD RID: 173 RVA: 0x00003ED3 File Offset: 0x000020D3
public int Redsb { get; set; }
// Token: 0x1700000C RID: 12
// (get) Token: 0x060000AE RID: 174 RVA: 0x00003EDC File Offset: 0x000020DC
// (set) Token: 0x060000AF RID: 175 RVA: 0x00003EE4 File Offset: 0x000020E4
public int Greensb { get; set; }
// Token: 0x1700000D RID: 13
// (get) Token: 0x060000B0 RID: 176 RVA: 0x00003EED File Offset: 0x000020ED
// (set) Token: 0x060000B1 RID: 177 RVA: 0x00003EF5 File Offset: 0x000020F5
public int Bluesb { get; set; }
// Token: 0x060000B2 RID: 178 RVA: 0x00003EFE File Offset: 0x000020FE
public PngChunkSBIT(ImageInfo info)
: base("sBIT", info)
{
}
// Token: 0x060000B3 RID: 179 RVA: 0x00003F0C File Offset: 0x0000210C
public override PngChunk.ChunkOrderingConstraint GetOrderingConstraint()
{
return PngChunk.ChunkOrderingConstraint.BEFORE_PLTE_AND_IDAT;
}
// Token: 0x060000B4 RID: 180 RVA: 0x00003F10 File Offset: 0x00002110
public override void ParseFromRaw(ChunkRaw c)
{
if (c.Length != this.GetLen())
{
throw new PngjException("bad chunk length " + c);
}
if (this.ImgInfo.Greyscale)
{
this.Graysb = PngHelperInternal.ReadInt1fromByte(c.Data, 0);
if (this.ImgInfo.Alpha)
{
this.Alphasb = PngHelperInternal.ReadInt1fromByte(c.Data, 1);
return;
}
}
else
{
this.Redsb = PngHelperInternal.ReadInt1fromByte(c.Data, 0);
this.Greensb = PngHelperInternal.ReadInt1fromByte(c.Data, 1);
this.Bluesb = PngHelperInternal.ReadInt1fromByte(c.Data, 2);
if (this.ImgInfo.Alpha)
{
this.Alphasb = PngHelperInternal.ReadInt1fromByte(c.Data, 3);
}
}
}
// Token: 0x060000B5 RID: 181 RVA: 0x00003FD0 File Offset: 0x000021D0
public override ChunkRaw CreateRawChunk()
{
ChunkRaw chunkRaw = base.createEmptyChunk(this.GetLen(), true);
if (this.ImgInfo.Greyscale)
{
chunkRaw.Data[0] = (byte)this.Graysb;
if (this.ImgInfo.Alpha)
{
chunkRaw.Data[1] = (byte)this.Alphasb;
}
}
else
{
chunkRaw.Data[0] = (byte)this.Redsb;
chunkRaw.Data[1] = (byte)this.Greensb;
chunkRaw.Data[2] = (byte)this.Bluesb;
if (this.ImgInfo.Alpha)
{
chunkRaw.Data[3] = (byte)this.Alphasb;
}
}
return chunkRaw;
}
// Token: 0x060000B6 RID: 182 RVA: 0x00004074 File Offset: 0x00002274
public override void CloneDataFromRead(PngChunk other)
{
PngChunkSBIT pngChunkSBIT = (PngChunkSBIT)other;
this.Graysb = pngChunkSBIT.Graysb;
this.Redsb = pngChunkSBIT.Redsb;
this.Greensb = pngChunkSBIT.Greensb;
this.Bluesb = pngChunkSBIT.Bluesb;
this.Alphasb = pngChunkSBIT.Alphasb;
}
// Token: 0x060000B7 RID: 183 RVA: 0x000040C4 File Offset: 0x000022C4
private int GetLen()
{
int num = (this.ImgInfo.Greyscale ? 1 : 3);
if (this.ImgInfo.Alpha)
{
num++;
}
return num;
}
// Token: 0x0400005F RID: 95
public const string ID = "sBIT";
}
}