public static SwfFile ReadFrom(Stream stream) { var file = new SwfFile(); ISwfStreamReader reader = new SwfStreamReader(stream); file.FileInfo = reader.ReadSwfFileInfo(); reader = GetSwfStreamReader(file.FileInfo, stream); file.Header = reader.ReadSwfHeader(); ReadTags(file, reader); return file; }
public static SwfFile ReadFrom(Stream stream) { var file = new SwfFile(); ISwfStreamReader reader = new SwfStreamReader(stream); file.FileInfo = reader.ReadSwfFileInfo(); reader = GetSwfStreamReader(file.FileInfo, stream); file.Header = reader.ReadSwfHeader(); ReadTags(file, reader); return(file); }
private static void ReadTags(SwfFile file, ISwfStreamReader reader) { while (!reader.IsEOF) { var ser = new SwfTagDeserializer(file); var tagData = reader.ReadTagData(); SwfTagBase tag = ser.ReadTag(tagData); if (tag != null) { file.Tags.Add(tag); } else { throw new InvalidOperationException("Tag can't be null. Loss of data possible"); } } }
public SwfTagSerializer(SwfFile file) { _file = file; }
private static void ReadTags(SwfFile file, ISwfStreamReader reader) { while (!reader.IsEOF) { var ser = new SwfTagDeserializer(file); var tagData = reader.ReadTagData(); SwfTagBase tag = ser.ReadTag(tagData); if (tag != null) file.Tags.Add(tag); else throw new InvalidOperationException("Tag can't be null. Loss of data possible"); } }