跳到主要内容

文件格式(FileFormat)

实现此协议可为自定义二进制文件格式添加编辑器支持。声明了扩展名的文件会作为 blob 导入,保留原始字节,并通过 view 获得预览。若要为可在编辑器中编辑的文本格式提供支持,请改用 TextFileFormat

local format: FileFormat = {
name = 'Model',
extensions = { 'glb' },
}

return function(): FileFormat
return format
end

字段(Fields)

name

格式的显示名称,例如 "Markdown"。

extensions

处理的文件扩展名,不带点,例如 {"md", "markdown"}

方法(Methods)

parse

parse(doc: FormatDocument) -> buffer?

可选。每次文档版本变化时调用一次;返回的 buffer 会被 Rive 缓存,键为文档内容,并回传到其他所有回调中。在同一个 VM 内会复用同一个 buffer 对象;跨 VM 时字节只会复制一次。

view

view(doc: FormatDocument, editor: EditorContext, surface: FormatSurface, parsed: buffer?) -> FormatView?

在表面上创建文档的预览。每个表面有自己的视图;一个文档可以同时显示在多个表面上。