using System;
using Vintagestory.API.Util;
using Hjg.Pngcs;
using Hjg.Pngcs.Chunks;
namespace Automap
{
///
/// Png metadata chunk.
///
/// There can be only one. (per PNG file)
public class PngMetadataChunk : PngChunkSingle
{
// ID must follow the PNG conventions: four ascii letters,
public readonly static string ID = "cHUK";
public ColumnMeta ChunkMetadata { get; set; }
public PngMetadataChunk(ImageInfo info) : base(ID, info)
{
}
public override ChunkOrderingConstraint GetOrderingConstraint()
{
return ChunkOrderingConstraint.NONE;
}
public override ChunkRaw CreateRawChunk()
{
var datas = SerializerUtil.Serialize(ChunkMetadata);
ChunkRaw rawChunk = createEmptyChunk(datas.Length, true);
rawChunk.Data = datas;
return rawChunk;
}
public override void ParseFromRaw(ChunkRaw rawChunk)
{
this.ChunkMetadata = SerializerUtil.Deserialize(rawChunk.Data);
}
public override void CloneDataFromRead(PngChunk other)
{
PngMetadataChunk clone = (PngMetadataChunk) other;
this.ChunkMetadata = clone.ChunkMetadata;
}
}
}