生态桌面应用

绘制系统

从言界渲染树生成一次提交的 YXDR 1.1 二进制完整帧。

言界保留渲染树并把可见节点编码成YXDR 1.1完整帧。每帧只跨 ABI 一次,言台验证魔数、版本、长度、数值、填充和容量后,以tiny-skia在 CPU 表面栅格化,再由softbuffer呈现。

自定义绘制使用画布追加结构化命令;结构化形式便于言序编写,提交前仍会变成二进制:

 画布  窗口.堆叠({「内边距」20}).画布({});
画布.命令({
    「类型」「圆角矩形」
    「矩形」:【4040300160】,
    「半径」20
    「颜色」:【4799220255
});
画布.命令({
    「类型」「文字」
    「位置」:【8090】,
    「最大宽」240
    「字号」30
    「行高」38
    「颜色」:【255255255255】,
    「字重」700
    「文本」「言界绘制树」
});

协议覆盖清空、保存/恢复、裁剪、仿射变换、图层透明度、填充/描边矩形、圆角、直线、圆、路径、阴影、文字、字形序列和图片。整帧上限 16 MiB、命令数上限 65536、状态栈上限 256;损坏或超限帧会返回PLATFORM_DRAW_*错误。

首版图层透明度不是隔离离屏组,任意旋转文字也不保证矢量轮廓级一致。固定自定义字体时,六个目标共享同一 CPU 算法;否则系统字体差异仍会影响像素。