string ReadThumbnail(HotLexer lexer) { var l = lexer.ReadLine(); if (l != ThumbnailMarker) { return(null); } var sb = new System.Text.StringBuilder(); var firstLine = true; while ((l = lexer.ReadLine()) != null) { if (!firstLine) { sb.Append('\r'); sb.Append('\n'); } firstLine = false; sb.Append(l); } return(sb.ToString()); }
public Node Import(Stream stream, Node node, INodeThumbnailProvider thumbnailProvider) { using (TextReader reader = new StreamReader(stream)) { string text = reader.ReadToEnd(); lexer = new HotLexer(sourcePath, text, isTangerine); var savedDefaultWidgetSize = Widget.DefaultWidgetSize; try { Widget.DefaultWidgetSize = new Vector2(100, 100); node = ParseNode(node); } finally { Widget.DefaultWidgetSize = savedDefaultWidgetSize; } lexer.ReadLine(); thumbnailProvider?.SetThumbnail(node, ReadThumbnail(lexer)); if (isTangerine) { ConvertFolderBeginEndToDescriptors(node); ReplaceAnimationEngine(node); } return(node); } }