void Read(BinaryReader reader) { m_header = new TBHeader(reader); byte[] bytes = new byte[reader.BaseStream.Length - reader.BaseStream.Position]; reader.Read(bytes, 0, bytes.Length); using (MemoryStream stream = new MemoryStream(bytes)) { using (ZipFile zipFile = ZipFile.Read(stream)) { string tempDir = GetTempDirectory(".tilt-in"); foreach (var entry in zipFile.Entries) { entry.ExtractToFile(tempDir); } try { m_thumbnailBytes = ReadThumbnailBytes(Path.Combine(tempDir, kFileThumbnail)); m_brushStrokes = ReadBrushStrokes(Path.Combine(tempDir, kFileSketchData)); m_metadata = ReadMetadata(Path.Combine(tempDir, kFileMetadata)); } finally { Directory.Delete(tempDir, true); } } } }
public TBHeader Clone() { TBHeader clone = new TBHeader(); clone.m_sentinel = m_sentinel; clone.m_headerSize = m_headerSize; clone.m_headerVersion = m_headerVersion; clone.m_reserved1 = m_reserved1; clone.m_reserved2 = m_reserved2; return(clone); }