查看系统

界面客户端用来创建、销毁和修改 View 的一组 View API 统称为 View 系统。

视图

界面客户端通过与 Views 互动来管理 View,Sce 会代表他们维护所有 View,并将 View 组合成一个连贯的 View 树。

每个 View 都会定义一个二维坐标系;界面客户端会将图形内容嵌入到 View 的坐标系中,并根据该坐标系接收输入事件。

界面客户端无法在不先将图形内容嵌入 View 的情况下将其呈现到屏幕。

视口

界面客户端可以通过请求 Sce 创建一个名为“Viewport”的对象将其他 View 嵌入到自己的 View 中;此 Viewport 与其“托管”的给定 View 相关联。

托管 View 可以(并且通常由其他组件中的另一个界面客户端拥有)拥有。

查看树

使用 View 和 Viewports 界面客户端可协同构建全球分布式内容树,以供 Views 进行调度以进行渲染和查询以进行点击测试。

这种全局 View 树称为 View Tree,Scape 负责代表界面客户端对其进行维护。

由 Views 呈现的所有内容都封装在 View 中。传送至界面客户端的每个输入事件都相对于该客户端拥有的 View。

查看要显示和输入的树关系

Views 会将 View 树的根 View 呈现到显示屏,这意味着根视图具有与显示屏尺寸相同的尺寸。

scape 根据视图坐标系的大小和位置来划分 View 之间的显示空间。

View 的点击测试系统根据此分区运行,以便界面客户端根据其 View 的大小和位置接收输入事件。

查看树状规则

  • 不允许任何依赖项循环。
  • 每个 View 只能有一个其他 View 作为父级。
  • 每个视图只了解自己的坐标系。
  • 每个视图都可以通过平移、旋转和缩放来控制托管的子视口的坐标系。