3 using Vintagestory.API.Util;
6 using Hjg.Pngcs.Chunks;
11 /// Png metadata chunk.
13 /// <remarks>There can be only one. (per PNG file)</remarks>
14 public class PngMetadataChunk : PngChunkSingle
16 // ID must follow the PNG conventions: four ascii letters,
17 public readonly static string ID = "cHUK";
19 public ColumnMeta ChunkMetadata { get; set; }
22 public PngMetadataChunk(ImageInfo info) : base(ID, info)
27 public override ChunkOrderingConstraint GetOrderingConstraint()
29 return ChunkOrderingConstraint.NONE;
32 public override ChunkRaw CreateRawChunk()
34 var datas = SerializerUtil.Serialize<ColumnMeta>(ChunkMetadata);
36 ChunkRaw rawChunk = createEmptyChunk(datas.Length, true);
37 rawChunk.Data = datas;
42 public override void ParseFromRaw(ChunkRaw rawChunk)
44 this.ChunkMetadata = SerializerUtil.Deserialize<ColumnMeta>(rawChunk.Data);
47 public override void CloneDataFromRead(PngChunk other)
49 PngMetadataChunk clone = (PngMetadataChunk) other;
50 this.ChunkMetadata = clone.ChunkMetadata;