public static void ToFile(string file, TexFile data)
 {
     using(var s= File.OpenWrite(file))
     using(var w= new BinaryWriter(s))
     {
         WriteString(w, data.Magic);
         w.Write(data.Version);
         WriteString(w, data.AssetPath);
         w.Write(data.DataSize);
         w.Write(data.ImageData);
     }
 }
        public static TexFile FromFile(string file)
        {
            var data= new TexFile() { FileName= file };

            using(var s= File.OpenRead(file))
            using(var r = new BinaryReader(s))
            {
                data.Magic          = ReadString(r);
                data.Version        = r.ReadInt32();
                data.AssetPath      = ReadString(r);
                data.DataSize       = r.ReadInt32();
                data.ImageData      = r.ReadBytes(data.DataSize);
            }

            return data;
        }
        private void SetData(TexFile value)
        {
            if(value == data)
                return;

            data    = value;

            UpdateView();
        }