108 lines
2.7 KiB
C#
108 lines
2.7 KiB
C#
using System;
|
|
|
|
namespace Hjg.Pngcs.Chunks
|
|
{
|
|
// Token: 0x02000013 RID: 19
|
|
public class PngChunkOFFS : PngChunkSingle
|
|
{
|
|
// Token: 0x06000082 RID: 130 RVA: 0x000035E8 File Offset: 0x000017E8
|
|
public PngChunkOFFS(ImageInfo info)
|
|
: base("oFFs", info)
|
|
{
|
|
}
|
|
|
|
// Token: 0x06000083 RID: 131 RVA: 0x000035F6 File Offset: 0x000017F6
|
|
public override PngChunk.ChunkOrderingConstraint GetOrderingConstraint()
|
|
{
|
|
return PngChunk.ChunkOrderingConstraint.BEFORE_IDAT;
|
|
}
|
|
|
|
// Token: 0x06000084 RID: 132 RVA: 0x000035FC File Offset: 0x000017FC
|
|
public override ChunkRaw CreateRawChunk()
|
|
{
|
|
ChunkRaw chunkRaw = base.createEmptyChunk(9, true);
|
|
PngHelperInternal.WriteInt4tobytes((int)this.posX, chunkRaw.Data, 0);
|
|
PngHelperInternal.WriteInt4tobytes((int)this.posY, chunkRaw.Data, 4);
|
|
chunkRaw.Data[8] = (byte)this.units;
|
|
return chunkRaw;
|
|
}
|
|
|
|
// Token: 0x06000085 RID: 133 RVA: 0x0000364C File Offset: 0x0000184C
|
|
public override void ParseFromRaw(ChunkRaw chunk)
|
|
{
|
|
if (chunk.Length != 9)
|
|
{
|
|
throw new PngjException("bad chunk length " + chunk);
|
|
}
|
|
this.posX = (long)PngHelperInternal.ReadInt4fromBytes(chunk.Data, 0);
|
|
if (this.posX < 0L)
|
|
{
|
|
this.posX += 4294967296L;
|
|
}
|
|
this.posY = (long)PngHelperInternal.ReadInt4fromBytes(chunk.Data, 4);
|
|
if (this.posY < 0L)
|
|
{
|
|
this.posY += 4294967296L;
|
|
}
|
|
this.units = PngHelperInternal.ReadInt1fromByte(chunk.Data, 8);
|
|
}
|
|
|
|
// Token: 0x06000086 RID: 134 RVA: 0x000036EC File Offset: 0x000018EC
|
|
public override void CloneDataFromRead(PngChunk other)
|
|
{
|
|
PngChunkOFFS pngChunkOFFS = (PngChunkOFFS)other;
|
|
this.posX = pngChunkOFFS.posX;
|
|
this.posY = pngChunkOFFS.posY;
|
|
this.units = pngChunkOFFS.units;
|
|
}
|
|
|
|
// Token: 0x06000087 RID: 135 RVA: 0x00003724 File Offset: 0x00001924
|
|
public int GetUnits()
|
|
{
|
|
return this.units;
|
|
}
|
|
|
|
// Token: 0x06000088 RID: 136 RVA: 0x0000372C File Offset: 0x0000192C
|
|
public void SetUnits(int units)
|
|
{
|
|
this.units = units;
|
|
}
|
|
|
|
// Token: 0x06000089 RID: 137 RVA: 0x00003735 File Offset: 0x00001935
|
|
public long GetPosX()
|
|
{
|
|
return this.posX;
|
|
}
|
|
|
|
// Token: 0x0600008A RID: 138 RVA: 0x0000373D File Offset: 0x0000193D
|
|
public void SetPosX(long posX)
|
|
{
|
|
this.posX = posX;
|
|
}
|
|
|
|
// Token: 0x0600008B RID: 139 RVA: 0x00003746 File Offset: 0x00001946
|
|
public long GetPosY()
|
|
{
|
|
return this.posY;
|
|
}
|
|
|
|
// Token: 0x0600008C RID: 140 RVA: 0x0000374E File Offset: 0x0000194E
|
|
public void SetPosY(long posY)
|
|
{
|
|
this.posY = posY;
|
|
}
|
|
|
|
// Token: 0x0400004C RID: 76
|
|
public const string ID = "oFFs";
|
|
|
|
// Token: 0x0400004D RID: 77
|
|
private long posX;
|
|
|
|
// Token: 0x0400004E RID: 78
|
|
private long posY;
|
|
|
|
// Token: 0x0400004F RID: 79
|
|
private int units;
|
|
}
|
|
}
|