协议
控制器
在 fuchsia.ui.test.scene/controller.fidl 中定义
控制界面测试场景。允许测试将测试 View 附加到场景并添加与 View 相关的插桩。
AttachClientView
*** 注意:ViewProvider
不再是父视图和子视图就 ViewportCreationToken / ViewCreationToken 对达成一致的首选方式。我们建议基于 Flatland 的客户端使用 PresentView
(见下文),而不是 AttachClientView
。
提示服务器使用提供的 fuchsia.ui.app.ViewProvider
句柄请求视图,并将其附加到场景。
返回值
此方法会返回客户端视图的 ViewRef
的 KOID。
同步
客户端 ViewRef
可用后,此调用会立即返回。请注意,此信号不一定表示视图已附加到场景。
生命周期
返回 AttachClientView
后,客户端可能会断开 Controller
连接。
请求
名称 | 类型 |
---|---|
payload |
ControllerAttachClientViewRequest
|
响应
名称 | 类型 |
---|---|
view_ref_koid |
zx/Koid
|
PresentClientView
提示服务器使用 viewport_creation_token
创建视口。
生命周期
返回 PresentClientView
后,客户端可能会断开 Controller
连接。
请求
名称 | 类型 |
---|---|
payload |
ControllerPresentClientViewRequest
|
RegisterViewTreeWatcher
代表客户端注册 ViewTreeWatcher
。
代表客户注册的 ViewTreeWatcher
目前的范围是全局范围;我们打算在可行时尽快将范围限制为客户视图的子树。
如需详细了解几何图形观察,请参阅 //sdk/fidl/fuchsia.ui.observation.geometry/watcher.fidl 中的文档。
请求
名称 | 类型 |
---|---|
watcher |
server_end:fuchsia.ui.observation.geometry/ViewTreeWatcher
|
响应
<EMPTY>
WatchViewPresentation
挂起状态,等待更新以查看演示文稿。
调用方可以使用此方法等待 ClientView
通过以下任一视图呈现方法进行 Present()
:
fuchsia.ui.test.scene.Controller/AttachClientView()
fuchsia.ui.test.scene.Controller/PresentClientView()
fuchsia.element.GraphicalPresenter/PresentView()
调用方应针对其预期要等待的每个视图调用此方法一次。
请注意,调用方在交错调用时必须小心,因为此方法无法:(a) 将 Present()
与特定的 ClientView
相关联,或 (b) 将 Present()
与 AttachClientView()
调用(而非 PresentClientView()
或 PresentView
调用)相关联。
在之前的调用仍处于待处理状态时调用 WatchViewPresentation
是无效的;系统会忽略后续的请求。
请求
<EMPTY>
响应
<EMPTY>
TABLES
ControllerAttachClientViewRequest resource
在 fuchsia.ui.test.scene/controller.fidl 中定义
序数 | 字段 | 类型 | 说明 |
---|---|---|---|
1 |
view_provider |
client_end:fuchsia.ui.app/ViewProvider
|
ControllerPresentClientViewRequest 资源
在 fuchsia.ui.test.scene/controller.fidl 中定义
序数 | 字段 | 类型 | 说明 |
---|---|---|---|
1 |
viewport_creation_token |
fuchsia.ui.views/ViewportCreationToken
|
添加时间:10
|