18 lines
991 B
Plaintext
18 lines
991 B
Plaintext
// 全局名称依赖示例:paint 读取 color 这个具体名字,而非依赖整个 globals 字典版本。
|
|
// Console 求值 42 仅改变最后结果 _,不应重绘;给 color 赋新值才使绘制失效。
|
|
color = "#ED6A5A"
|
|
// 保持原生几何,覆盖颜色策略,使示例只观察全局读取的依赖粒度。
|
|
class GlobalPaint: RectBlock {
|
|
// 调用原生基类产出新命令,读取当前 color 并写到新命令;不在只读阶段修改全局。
|
|
function paint(self: GlobalPaint, mount: Mount, geometry: Bounds): DisplayList {
|
|
drawing = RectBlock.paint(self,mount,geometry)
|
|
drawing.commands.at(0).color = color
|
|
return drawing
|
|
}
|
|
}
|
|
// 显示固定大小矩形和操作提示,后续通过 Console 改同一个会话的 color。
|
|
rect = GlobalPaint(480,120,12,"#DDEEFF")
|
|
page = Page()
|
|
page.title = "全局名字依赖"
|
|
page.render(Column(24,16,TextBlock("在 REPL 求值 42 不重绘;修改 color 会更新矩形颜色",2),rect))
|