fuchsia.ui.gfx

添加次数:7

协议

SnapshotCallbackDEPRECATED

fuchsia.ui.gfx/commands.fidl 中定义

已移除:17 已弃用:13

OnData

请求

名称类型
data fuchsia.mem/Buffer

结构

AddChildCmd

fuchsia.ui.gfx/commands.fidl 中定义

将一个节点作为子节点添加到另一个节点。

限制:

  • id 引用具有 has_children 特征的节点。
  • child_id 引用任何节点。

讨论:首先将子节点从其现有的父节点中移除,就像先应用 DetachCmd 一样。

已移除:17 已弃用:13

野战类型说明默认
node_id uint32 无默认取景方式
child_id uint32 无默认取景方式

AddLayerCmd

fuchsia.ui.gfx/commands.fidl 中定义

向层堆栈添加层。 限制:

  • layer_stack_id 引用 LayerStack
  • layer_id 引用 Layer
  • 该层不得已属于其他堆栈;必须先分离该层。
已移除:17 已弃用:13

野战类型说明默认
layer_stack_id uint32 无默认取景方式
layer_id uint32 无默认取景方式

AddLightCmd

fuchsia.ui.gfx/commands.fidl 中定义

将由 light_id 指定的 light_id 指定的光源添加到 scene_id 标识的场景中。

已移除:17 已弃用:13

野战类型说明默认
scene_id uint32 无默认取景方式
light_id uint32 无默认取景方式

AddPartCmd

fuchsia.ui.gfx/commands.fidl 中定义

添加一个节点作为另一个节点的一部分。作为某个部分(而不是作为一个子视图)的含义因部件的类型而异。不过,有一个影响是不变的:移除节点的所有子节点(例如通过 DetachChildrenCmd )不会影响其部分。这与网络浏览器中的“shadow DOM”类似:

限制:

  • id 引用具有 has_parts 特征的节点。
  • part_id 引用任何节点。

讨论:先从现有父节点中移除该部分节点,就像先应用 DetachCmd 一样。

已移除:17 已弃用:13

野战类型说明默认
node_id uint32 无默认取景方式
part_id uint32 无默认取景方式

AmbientLightArgs

fuchsia.ui.gfx/resources.fidl 中定义

AmbientLight 是一种光照,假定在场景中的各方向上都存在。

支持的命令:

  • SetLightColor
已移除:17 已弃用:13

野战类型说明默认
dummy uint32 0

BindMeshBuffersCmd

fuchsia.ui.gfx/commands.fidl 中定义

已移除:17 已弃用:13

野战类型说明默认
mesh_id uint32 无默认取景方式
index_buffer_id uint32 无默认取景方式
index_format MeshIndexFormat 无默认取景方式
index_offset uint64 无默认取景方式
index_count uint32 无默认取景方式
vertex_buffer_id uint32 无默认取景方式
vertex_format MeshVertexFormat 无默认取景方式
vertex_offset uint64 无默认取景方式
vertex_count uint32 无默认取景方式
bounding_box BoundingBox 无默认取景方式

BoundingBox

fuchsia.ui.gfx/types.fidl 中定义

表示轴对齐的边界框。

如果任何维度的范围为负(例如 max.x < min.x),则边界框会被视为空白。客户端可以定义一个空边界框。

“空边界框”是指不允许地点居住的边界框。请注意,零体积、零区域边界框(例如,类似于 (0,0,0)-(0,0,0) 的点或类似 (0,0,0)-(1,0,0) 的线)不为空。

野战类型说明默认
min vec3 无默认取景方式
max vec3 无默认取景方式

BufferArgs

fuchsia.ui.gfx/resources.fidl 中定义

映射到 Memory 范围的缓冲区。

已移除:17 已弃用:13

野战类型说明默认
memory_id uint32 无默认取景方式
memory_offset uint32 无默认取景方式
num_bytes uint32 无默认取景方式

CameraArgs

fuchsia.ui.gfx/resources.fidl 中定义

Camera 用于从特定视角渲染场景。这通过将渲染程序设置为使用相机来实现。

以下命令可应用于 Camera:

  • SetCameraTransform
  • SetCameraProjection
  • SetCameraPoseBuffer
已移除:17 已弃用:13

野战类型说明默认
scene_id uint32

相机正在观察的场景。

无默认取景方式

CircleArgs

fuchsia.ui.gfx/shapes.fidl 中定义

已移除:17 已弃用:13

野战类型说明默认
radius Value 无默认取景方式

ClipNodeArgs

fuchsia.ui.gfx/nodes.fidl 中定义

特征:

  • has_parent
  • is_clip
  • has_parts
已移除:17 已弃用:13

野战类型说明默认
unused uint32 0

ColorRgb

fuchsia.ui.gfx/types.fidl 中定义

已移除:17 已弃用:13

野战类型说明默认
red float32 无默认取景方式
green float32 无默认取景方式
blue float32 无默认取景方式

ColorRgbValue

fuchsia.ui.gfx/types.fidl 中定义

variable_id 为零时,由 value 明确指定的值,或者是由 variable_id 标识的资源(例如动画或表达式)生成的值。在后一种情况下,资源生成的值必须是 ColorRgb,并且 value 会被忽略。

已移除:17 已弃用:13

野战类型说明默认
value ColorRgb 无默认取景方式
variable_id uint32 无默认取景方式

ColorRgba

fuchsia.ui.gfx/types.fidl 中定义

sRGB 颜色空间和非线性转换函数。

已移除:17 已弃用:13

野战类型说明默认
red uint8 无默认取景方式
green uint8 无默认取景方式
blue uint8 无默认取景方式
alpha uint8 无默认取景方式

ColorRgbaValue

fuchsia.ui.gfx/types.fidl 中定义

variable_id 为零时,由 value 明确指定的值,或者是由 variable_id 标识的资源(例如动画或表达式)生成的值。在后一种情况下,资源生成的值必须是 ColorRgba,value 会被忽略。

已移除:17 已弃用:13

野战类型说明默认
value ColorRgba 无默认取景方式
variable_id uint32 无默认取景方式

CompositorArgs

fuchsia.ui.gfx/resources.fidl 中定义

合成器将其 LayerStack 绘制到由其附加的 Display 提供的帧缓冲区(如果有)。如果未连接任何显示屏,则系统不会呈现任何内容。

已移除:17 已弃用:13

野战类型说明默认
dummy uint32 0

CreateResourceCmd 资源

fuchsia.ui.gfx/commands.fidl 中定义

指示合成器创建指定的 Resource,并在表中注册它,以便后续命令可以引用它。

已移除:17 已弃用:13

野战类型说明默认
id uint32

会话中当前未使用的 ID。

无默认取景方式
resource ResourceArgs 无默认取景方式

DetachChildrenCmd

fuchsia.ui.gfx/commands.fidl 中定义

分离节点的所有子节点(但不分离其部分)。

已移除:17 已弃用:13

野战类型说明默认
node_id uint32 无默认取景方式

DetachCmd

fuchsia.ui.gfx/commands.fidl 中定义

将父对象与其父对象分离(例如,将一个节点与父节点分离,或将某个图层与图层堆栈分离)。将此命令应用于不可父级对象是非法的。如果目标对象当前没有父级,则为空操作。

限制:

  • id 引用父级对象

讨论:对于节点,此命令会将节点与其父节点分离,而不管该节点是其父节点的一部分还是子节点。

已移除:17 已弃用:13

野战类型说明默认
id uint32 无默认取景方式

DetachLightCmd

fuchsia.ui.gfx/commands.fidl 中定义

light_id 指定的光源与它所附加到的场景分离(如果有)。

已移除:17 已弃用:13

野战类型说明默认
light_id uint32 无默认取景方式

DetachLightsCmd

fuchsia.ui.gfx/commands.fidl 中定义

将所有光源与 scene_id 指定的场景分离。

已移除:17 已弃用:13

野战类型说明默认
scene_id uint32 无默认取景方式

DirectionalLightArgs

fuchsia.ui.gfx/resources.fidl 中定义

DirectionalLight 是指从无限远处发射的光。

虽然光具有方向性,但光存在一定程度的角散布(即光并非完全柱状)。为简单起见,我们假设光源的散射与光的主方向是对称的。

支持的命令:

  • SetLightColor
  • SetLightDirection
已移除:17 已弃用:13

野战类型说明默认
dummy uint32 0

DisplayCompositorArgs

fuchsia.ui.gfx/resources.fidl 中定义

DisplayCompositor 将其附加的 LayerStack 绘制到在屏幕呈现的图片中。

已移除:17 已弃用:13

野战类型说明默认
dummy uint32 0

DisplayInfo

fuchsia.ui.gfx/display_info.fidl 中定义

提供有关显示屏的信息。

已废弃:13

野战类型说明默认
width_in_px uint32

显示屏的尺寸(以物理像素为单位)。

无默认取景方式
height_in_px uint32 无默认取景方式

EntityNodeArgs

fuchsia.ui.gfx/nodes.fidl 中定义

特征:

  • has_transform
  • has_children
  • has_parent
  • has_parts
  • has_clip
已移除:17 已弃用:13

野战类型说明默认
unused uint32 0

ExportResourceCmd 已弃用的资源

fuchsia.ui.gfx/commands.fidl 中定义

创建对指定资源的外部引用,然后可以通过向 token 与 ImportResourceCmd 的对等传递句柄,将该资源导入到另一个会话中;如需了解详情,请参阅该注释。

导入客户端的进程通常与导出程序的进程不同。未提供将令牌从导出器转移到导入器的特定机制;协作者可以选择他们希望执行此操作的任何带外 API。

已移除:17 已弃用:13

野战类型说明默认
id uint32 无默认取景方式
token handle<eventpair> 无默认取景方式

ExportToken 资源

fuchsia.ui.gfx/tokens.fidl 中定义

用于唯一标识全局场景图中子图的根点的令牌。每个 ExportToken 只有一个对应的 ImportToken

可以使用此令牌创建类型化资源,以便系统从另一个客户端引用它的内容。另一个客户端还必须使用相应的 ImportToken 创建相应类型的资源。

客户端间引用的确切性质取决于通过令牌创建的特定资源。例如,通过基于此令牌创建 View 资源,可将附加到 View 的所有内容嵌入到其他客户端 ViewHolder 中。

已移除:17 已弃用:13

野战类型说明默认
value handle<eventpair> 无默认取景方式

FactoredTransform

fuchsia.ui.gfx/types.fidl 中定义

已移除:17 已弃用:13

野战类型说明默认
translation vec3 无默认取景方式
scale vec3 无默认取景方式
anchor vec3

旋转和缩放所围绕的点。

无默认取景方式
rotation Quaternion 无默认取景方式

FloatValue

fuchsia.ui.gfx/types.fidl 中定义

variable_id 为零时,由 value 明确指定的值,或者是由 variable_id 标识的资源(例如动画或表达式)生成的值。在后一种情况下,资源生成的值必须是 float32,value 会被忽略。

已移除:17 已弃用:13

野战类型说明默认
value float32 无默认取景方式
variable_id uint32 无默认取景方式

ImageArgs

fuchsia.ui.gfx/resources.fidl 中定义

映射到某个 Memory 资源范围的图片。

已移除:17 已弃用:13

野战类型说明默认
info fuchsia.images/ImageInfo 无默认取景方式
memory_id uint32 无默认取景方式
memory_offset uint32 无默认取景方式

ImageArgs2

fuchsia.ui.gfx/resources.fidl 中定义

映射到某个 Memory 资源范围的图片。

已移除:17 已弃用:13

野战类型说明默认
width uint32 无默认取景方式
height uint32 无默认取景方式
buffer_collection_id uint32

BufferCollection 的 ID。在创建此资源之前,应使用 RegisterBufferCollection 在同一 Session 上注册缓冲区集合,并为其设置约束条件。成功分配缓冲区后(例如,在调用 WaitForBuffersAllocated 后),集合的 ID 可用于创建图片资源。

无默认取景方式
buffer_collection_index uint32

支持此映像的 BufferCollection 中的 VMO 的索引。

无默认取景方式

ImageArgs3 资源

fuchsia.ui.gfx/resources.fidl 中定义

由向 Allocator 注册的 BufferCollection 支持的映像。

已移除:17 已弃用:13

野战类型说明默认
width uint32 无默认取景方式
height uint32 无默认取景方式
import_token fuchsia.ui.composition/BufferCollectionImportToken

必须在分配器中注册已分配的 BufferCollection,才能创建映像。import_token 应该是成功注册的 BufferCollectionExportToken 的另一端。指定 BufferCollection 的所有客户端都必须设置其约束条件,并且在调用之前应分配缓冲区。

无默认取景方式
buffer_collection_index uint32

支持此映像的 BufferCollection 中的 VMO 的索引。

无默认取景方式

ImagePipe2Args 资源

fuchsia.ui.gfx/resources.fidl 中定义

ImagePipe2 是一个 Resource,可用作 MaterialTexture

已移除:17 已弃用:13

野战类型说明默认
image_pipe_request server_end<fuchsia.images/ImagePipe2> 无默认取景方式

ImportResourceCmd 已弃用的资源

fuchsia.ui.gfx/commands.fidl 中定义

导入通过 ExportResourceCmd() 导出的资源。token 是用于导出资源的事件对对等方的句柄,spec 描述所导入资源的类型以及可以合法应用于该资源的命令。之后,id 可用于在命令中引用资源,与在会话中创建的资源类似(但并非完全相同,见下文)。例如,您可以通过 AddChildCmd 向导入的 EntityNode 添加子节点。

但请注意,导入程序不会获得对导入资源的完全访问权限,而是获得其功能中的一部分功能。例如,您不能使用 DetachCmd 将导入的 EntityNode 与其父级分离。

与 ExportResourceCmd 不同的是,没有可配置的超时。预计导出的资源可以在短时间内使用。待办事项:这需要进一步完善...例如,当我们知道链接永远不会建立(例如,如果导入令牌的对等方被销毁)时,可能会通过 SessionListener 通知。

已移除:17 已弃用:13

野战类型说明默认
id uint32 无默认取景方式
token handle<eventpair> 无默认取景方式
spec ImportSpec 无默认取景方式

ImportToken 资源

fuchsia.ui.gfx/tokens.fidl 中定义

用于唯一标识全局场景图中子图的连接点的令牌。每个 ImportToken 只有一个对应的 ExportToken

观景客户端可以使用此令牌创建类型化资源,以引用其他客户端的内容。另一个客户端还必须使用相应的 ExportToken 创建类型适当的资源。

客户端间引用的确切性质取决于通过令牌创建的特定资源。例如,通过基于此令牌创建 ViewHolder 资源,客户端可以嵌入另一个客户端的 View

已移除:17 已弃用:13

野战类型说明默认
value handle<eventpair> 无默认取景方式

ImportUnboundEvent

fuchsia.ui.gfx/events.fidl 中定义

当具有指定 ID 的导入资源不再绑定到其主机资源时,或者导入的资源因主机资源不可用而无法绑定时,系统会传递此属性。

已移除:17 已弃用:13

野战类型说明默认
resource_id uint32 无默认取景方式

LayerArgs

fuchsia.ui.gfx/resources.fidl 中定义

图层是由合成器绘制的二维图像。层堆栈中每个层的内容都彼此独立。只有设置了镜头、纹理或颜色的图层才会绘制。

支持的命令:

  • 分离
  • SetCamera
  • SetColor
  • SetTexture
  • SetSize(深度必须为零)
  • SetSize
  • SetTranslation(z 组件用于确定层的相对 Z 顺序)
  • SetRotation(必须围绕 Z 轴旋转)
  • SetScale
已移除:17 已弃用:13

野战类型说明默认
dummy uint32 0

LayerStackArgs

fuchsia.ui.gfx/resources.fidl 中定义

LayerStack 是附加到一个合成器的层的堆栈,合成器会按 Z 轴顺序递增的顺序绘制这些层(或者,呈现出按此顺序绘制的错觉:它可以应用任何不影响输出的优化)。

支持的命令:

  • AddLayer
已移除:17 已弃用:13

野战类型说明默认
dummy uint32 0

MaterialArgs

fuchsia.ui.gfx/resources.fidl 中定义

简单的纹理映射材质。

支持的命令:

  • SetTextureCmd:设置纹理,也可以将其保留为零(无纹理)。 纹理可以是 Image 或 ImagePipe2。
  • SetColorCmd:设置颜色。
已移除:17 已弃用:13

野战类型说明默认
dummy uint32 0

Matrix4Value

fuchsia.ui.gfx/types.fidl 中定义

variable_id 为零时,由 value 明确指定的值,或者是由 variable_id 标识的资源(例如动画或表达式)生成的值。在后一种情况下,资源生成的值必须是 vec4,并且 value 会被忽略。

已移除:17 已弃用:13

野战类型说明默认
value mat4 无默认取景方式
variable_id uint32 无默认取景方式

MemoryArgs 资源

fuchsia.ui.gfx/resources.fidl 中定义

Memory 是一个 Resource,用于封装客户端提供的 Zircon vmo,以便向 Views 进行注册。

已移除:17 已弃用:13

野战类型说明默认
vmo handle<vmo>

支持此内存的 VMO。

无默认取景方式
allocation_size uint64

vmo 中应该使用的内存量。

无默认取景方式
memory_type fuchsia.images/MemoryType

存储在 VMO 中的内存类型,即是 GPU 内存还是主机内存。

无默认取景方式

MeshArgs

fuchsia.ui.gfx/shapes.fidl 中定义

网格在绑定到顶点/索引缓冲区之前无法渲染;请参阅 BindMeshBuffersCmd。

已移除:17 已弃用:13

<EMPTY>

MeshVertexFormat

fuchsia.ui.gfx/commands.fidl 中定义

已移除:17 已弃用:13

野战类型说明默认
position_type ValueType

kVector2 或 kVector3。

无默认取景方式
normal_type ValueType

kVector2 或 kVector3(必须与 position_type 匹配)或 kNone。

无默认取景方式
tex_coord_type ValueType

kVector2 或 kNone。

无默认取景方式

指标

fuchsia.ui.gfx/types.fidl 中定义

渲染与节点关联的目标指标。 另请参阅 MetricsEvent

已移除:17 已弃用:13

野战类型说明默认
scale_x float32

节点本地坐标系内一个逻辑像素的大小与渲染目标的一个物理像素大小之间的比率。

此缩放比例因渲染目标的分辨率和包含节点所应用的缩放转换而变化。它们始终为正数非零值。

例如,假设渲染目标是设备像素比为 2.0 的高分辨率显示屏,这意味着模型中的每个逻辑像素对应于显示屏的两个物理像素。假设没有缩放转换影响该节点,则其指标事件将报告缩放比例为 2.0。

基于此示例,如果该节点的父级对该节点应用 0.25 的缩放转换,则该节点的指标事件将报告缩放比例为 0.5,这表示该节点应以较低的分辨率和细节级别呈现其内容,因为呈现的物理像素区域较小(各维度尺寸一半)。

无默认取景方式
scale_y float32 无默认取景方式
scale_z float32 无默认取景方式

MetricsEvent

fuchsia.ui.gfx/events.fidl 中定义

提供有关指定节点的渲染目标指标信息。

当满足以下条件时,系统就会传送此事件:

  • 此节点是 Scene 的后代。
  • 节点的 kMetricsEventMask 设置为启用状态。
  • 自上次传递以来或自 kMetricsEventMask 从停用状态转换为启用状态以来,节点的指标发生了更改。

订阅此事件即可接收有关在为节点生成纹理时应应用的缩放比例的信息。

已移除:17 已弃用:13

野战类型说明默认
node_id uint32 无默认取景方式
metrics Metrics 无默认取景方式

OpacityNodeArgsHACK

fuchsia.ui.gfx/nodes.fidl 中定义

特征:

  • has_transform
  • has_parent
  • has_children
  • has_parts
  • has_opacity
已移除:17 已弃用:13

野战类型说明默认
unused uint32 0

Plane3

fuchsia.ui.gfx/types.fidl 中定义

用法线向量与沿着该向量原点的距离描述的定向平面。

已移除:17 已弃用:13

野战类型说明默认
dir vec3 无默认取景方式
dist float32 无默认取景方式

PointLightArgs

fuchsia.ui.gfx/resources.fidl 中定义

PointLight 是一种向各个方向发光的光。默认情况下,光的强度根据基于物理的“反平方定律”(请参阅维基百科)减弱,但也可以将其调整为其他值以实现艺术效果。

支持的命令:

  • SetLightColor
  • SetPointLightPosition
  • SetPointLightFalloff
已移除:17 已弃用:13

野战类型说明默认
dummy uint32 0

四元数

fuchsia.ui.gfx/types.fidl 中定义

已移除:17 已弃用:13

野战类型说明默认
x float32 无默认取景方式
y float32 无默认取景方式
z float32 无默认取景方式
w float32 无默认取景方式

QuaternionValue

fuchsia.ui.gfx/types.fidl 中定义

variable_id 为零时,由 value 明确指定的值,或者是由 variable_id 标识的资源(例如动画或表达式)生成的值。在后一种情况下,资源生成的值必须是四元数,并且 value 会被忽略。

已移除:17 已弃用:13

野战类型说明默认
value Quaternion 无默认取景方式
variable_id uint32 无默认取景方式

RectangleArgs

fuchsia.ui.gfx/shapes.fidl 中定义

以 (0,0) 为中心的矩形。

已移除:17 已弃用:13

野战类型说明默认
width Value 无默认取景方式
height Value 无默认取景方式

ReleaseResourceCmd

fuchsia.ui.gfx/commands.fidl 中定义

释放客户端对资源的引用;然后,在后续命令中使用 ID 是非法的。对该资源的其他引用可能存在,因此释放该资源不会导致其立即销毁;只有在最后一次引用被释放后才会销毁该资源。例如,渲染某个进行中的帧可能需要该资源,或者它可能会被其他资源引用。不过,该 ID 会立即取消注册,并且您可以重复使用该 ID 来创建新资源。

已移除:17 已弃用:13

野战类型说明默认
id uint32

要解引用的资源的 ID。

无默认取景方式

RemoveAllLayersCmd

fuchsia.ui.gfx/commands.fidl 中定义

从层堆栈中移除所有层。 约束条件

  • layer_stack_id 引用 LayerStack
已移除:17 已弃用:13

野战类型说明默认
layer_stack_id uint32 无默认取景方式

RemoveLayerCmd

fuchsia.ui.gfx/commands.fidl 中定义

从层堆栈中移除层。 限制:

  • layer_stack_id 引用 LayerStack
  • layer_id 引用 Layer
  • 该层必须属于此堆栈。
已移除:17 已弃用:13

野战类型说明默认
layer_stack_id uint32 无默认取景方式
layer_id uint32 无默认取景方式

RendererArgs

fuchsia.ui.gfx/resources.fidl 中定义

渲染程序通过相机渲染场景。

支持的命令:

  • SetCamera
  • SetRendererParam
已移除:17 已弃用:13

野战类型说明默认
dummy uint32 0

RoundedRectangleArgs

fuchsia.ui.gfx/shapes.fidl 中定义

以 (0,0) 为中心的 RoundedRectangle。合法参数值必须满足矩形的平面长度为非负长度的约束条件。换言之,必须满足以下约束条件:

  • top_left_radius + top_right_radius <= 宽度
  • 左下角半径 + 底部右半径 <= 宽度
  • top_left_radius + bottom_left_radius <= 高度
  • top_right_radius + bottom_right_radius <= 高度
已移除:17 已弃用:13

野战类型说明默认
width Value 无默认取景方式
height Value 无默认取景方式
top_left_radius Value 无默认取景方式
top_right_radius Value 无默认取景方式
bottom_right_radius Value 无默认取景方式
bottom_left_radius Value 无默认取景方式

SceneAddAmbientLightCmd

fuchsia.ui.gfx/commands.fidl 中定义

将由 light_id 指定的 light_id 指定的光源添加到 scene_id 标识的场景中。

已移除:17 已弃用:13

野战类型说明默认
scene_id uint32 无默认取景方式
light_id uint32 无默认取景方式

SceneAddDirectionalLightCmd

fuchsia.ui.gfx/commands.fidl 中定义

将由 light_id 指定的 light_id 指定的光源添加到 scene_id 标识的场景中。

已移除:17 已弃用:13

野战类型说明默认
scene_id uint32 无默认取景方式
light_id uint32 无默认取景方式

SceneAddPointLightCmd

fuchsia.ui.gfx/commands.fidl 中定义

将由 light_id 指定的 light_id 指定的光源添加到 scene_id 标识的场景中。

已移除:17 已弃用:13

野战类型说明默认
scene_id uint32 无默认取景方式
light_id uint32 无默认取景方式

SceneArgs

fuchsia.ui.gfx/resources.fidl 中定义

场景是场景图的根,定义了其下节点树的渲染环境(光照等)。

支持的命令:

  • 添加/移除浅色
  • AddChild
已移除:17 已弃用:13

野战类型说明默认
dummy uint32 0

SendSizeChangeHintCmdHACK

fuchsia.ui.gfx/commands.fidl 中定义

向指定节点及以下所有节点发送有关待处理大小更改的提示。此回调通常在动画播放之前发送。

width_change_factorheight_change_factor 是项目在近期的预期大小。这个数字封装了缩放比例以及布局宽度和高度的更改。

已移除:17 已弃用:13

野战类型说明默认
node_id uint32 无默认取景方式
width_change_factor float32 无默认取景方式
height_change_factor float32 无默认取景方式

SetAnchorCmd

fuchsia.ui.gfx/commands.fidl 中定义

设置资源的(通常是节点的)锚点。

限制:

  • id 引用具有 has_transform 特征的资源。
已移除:17 已弃用:13

野战类型说明默认
id uint32 无默认取景方式
value Vector3Value 无默认取景方式

SetCameraClipSpaceTransformCmd

fuchsia.ui.gfx/commands.fidl 中定义

设置镜头的 2D 裁剪空间转换。

限制:

  • camera_id 引用 Camera
  • translation 是 Vulkan NDC 中的所需转换。
  • scale 是在平移前在 x/y 平面上应用的缩放比例。
已移除:17 已弃用:13

野战类型说明默认
camera_id uint32 无默认取景方式
translation vec2 无默认取景方式
scale float32 无默认取景方式

SetCameraCmd

fuchsia.ui.gfx/commands.fidl 中定义

设置渲染程序的相机。

限制:

  • renderer_id 引用 Renderer
  • camera_id 引用 Camera,或者通过传递零来停止渲染。
  • matrix 是 kMatrix4x4 类型的值或变量。
已移除:17 已弃用:13

野战类型说明默认
renderer_id uint32 无默认取景方式
camera_id uint32 无默认取景方式

SetCameraPoseBufferCmd

fuchsia.ui.gfx/commands.fidl 中定义

为由 camera_id 标识的相机设置“姿势缓冲区”。此操作可以应用于相机和立体相机。

这将替换为相机设置的任何位置和旋转角度,并使其根据每一帧的呈现时间从姿态缓冲区中获取其位置和旋转角度。

姿势缓冲区表示未来固定数量的时间点的姿势环形缓冲区。缓冲区中由 buffer_id 标识的每个条目都是一个四元数和一个位置,布局如下:

struct Pose { // Quaternion float32 a; float32 b; float32 c; float32 d;

// 位置 float32 x; float32 y; float32 z;

// 预留/填充字节 [4] 预留; }

该缓冲区可以视为 num_entries Pose 结构体的打包数组,且必须至少为 num_entries * sizeof(Pose) 字节。

四元数和位置在镜头父节点的空间中指定。

base_time 是以纳秒为单位的 CLOCK_MONOTONIC 时基基准时间点,而 time_interval 是缓冲区中各条目之间的时间(以纳秒为单位)。“base_time”必须是过去的时间。

对于 CLOCK_MONOTONIC 时基中以纳秒表示的给定时间点 t,姿势缓冲区中相应姿势的索引可按如下方式计算:

index(t) = ((t - base_time) / time_interval) 条目数所占百分比

poss[index(t)] 对时间间隔 (t - time_interval, t] 内的 t 有效,应在该时间间隔内持续更新,而不同步。如果多个非原子操作需要单个姿态值,则应该锁存该值,并存储在姿势缓冲区之外。

由于姿势不受任何同步基元保护,因此可能当姿势被锁存时,只会部分更新,并且正在读取的姿势将包含姿势更新前的一些组成部分,以及更新后的姿势中的一些组件。使用这些“破裂”姿势的安全性取决于两个方面:

  1. 写入 poses[index(t)] 的序列姿势在数字上彼此非常相似,因此如果一些分量取自第一个分量,一些分量取自另一个分量,则结果在数值上类似于二者

  2. 位置和四元数的空间在全局更新之间是平坦的,这保证了在数值上相似的两个位置方向也表示语义上相似的位置(即,不存在任何连续性,这些不连续会导致位置或四元数的细微变化导致编码球姿的数值大幅度变化)。如需详细了解四元数的旋转编码,请参阅 https://en.wikipedia.org/wiki/Quaternions_and_spatial_rotation

此命令旨在用于延迟锁存相机姿势,以支持低延迟运动跟踪渲染。

已移除:17 已弃用:13

野战类型说明默认
camera_id uint32 无默认取景方式
buffer_id uint32 无默认取景方式
num_entries uint32 无默认取景方式
base_time int64 无默认取景方式
time_interval uint64 无默认取景方式

SetCameraProjectionCmd

fuchsia.ui.gfx/commands.fidl 中定义

设置相机的投影矩阵。 此操作无法应用于 StereoCamera。

限制:

  • camera_id 引用的 Camera 不是 StereoCamera
  • fovy 是 Y 轴的视野范围(以弧度为单位)。

注意:默认的正交投影是通过将 fovy 设置为零来指定的。在这种情况下,相机转换会被忽略。

已移除:17 已弃用:13

野战类型说明默认
camera_id uint32 无默认取景方式
fovy FloatValue 无默认取景方式

SetCameraTransformCmd

fuchsia.ui.gfx/commands.fidl 中定义

设置镜头的视图矩阵。 此操作可以应用于相机和立体相机。

限制:

  • camera_id 引用 Camera
  • eye_position 是眼睛的位置。
  • eye_look_at 是眼睛所指向的场景。
  • eye_up 定义镜头的“向上”矢量。
已移除:17 已弃用:13

野战类型说明默认
camera_id uint32 无默认取景方式
eye_position Vector3Value 无默认取景方式
eye_look_at Vector3Value 无默认取景方式
eye_up Vector3Value 无默认取景方式

SetClipCmd

fuchsia.ui.gfx/commands.fidl 中定义

设置/清除节点的片段。已弃用:使用 SetClipPlanesCmd。

限制:

  • node_id 引用具有 has_clip 特征的 Node
  • clip_id 具有 is_clip 特征的 Node,或什么都没有。如果引用的节点未取得 root 权限,则不会产生任何影响(因为无法确定其全域转换)。
  • clip_to_self 如果为 false,则只会将子项裁剪至 clip_id 指定的区域。如果为 true,则会额外裁剪节点的形状(由其 ShapeNode 部分确定)。

讨论:如果节点包含剪辑,则剪辑将同时应用于该节点的某些部分和子节点。在某些情况下(待定),剪辑并不适用于节点;在这种情况下,就像尚未为该节点指定任何剪辑一样。

已移除:17 已弃用:13

野战类型说明默认
node_id uint32 无默认取景方式
clip_id uint32 无默认取景方式
clip_to_self bool 无默认取景方式

SetClipPlanesCmd

fuchsia.ui.gfx/commands.fidl 中定义

设置应用于节点及其所有子级的裁剪平面列表。替换由任何之前的 SetClipPlanesCmd 设置的列表。

  • node_id 引用具有 has_clip 特征的 Node
  • clip_planes 是新的定向裁剪平面列表。
已移除:17 已弃用:13

野战类型说明默认
node_id uint32 无默认取景方式
clip_planes vector<Plane3> 无默认取景方式

SetColorCmd

fuchsia.ui.gfx/commands.fidl 中定义

设置材质的颜色。

限制:

  • material_id 引用 Material

如果在材质上设置了纹理,则从纹理中采样的值将乘以颜色。

已移除:17 已弃用:13

野战类型说明默认
material_id uint32 无默认取景方式
color ColorRgbaValue 无默认取景方式

SetDisableClippingCmd

fuchsia.ui.gfx/commands.fidl 中定义

设置是否应为指定的渲染程序停用裁剪。对于新创建的渲染程序,不会停用裁剪(即启用)。

注意:这仅会停用视觉裁剪;仍会为了进行点击测试而裁剪对象。

renderer_id 引用目标渲染程序。disable_clipping 指定是否应停用裁剪。

已移除:17 已弃用:13

野战类型说明默认
renderer_id uint32 无默认取景方式
disable_clipping bool 无默认取景方式

SetDisplayColorConversionCmdHACK

fuchsia.ui.gfx/commands.fidl 中定义

设置应用于合成器屏幕的颜色转换。该转换根据以下公式应用到各个像素:

(矩阵 *(像素 + 预设))+ 后偏移值

其中,pixel 是由该像素的 3 个分量组成的列矢量。

matrix 按行主要顺序传递。客户端将负责在需要时传递默认值。Fidl 目前不支持默认值。默认值:preoffsets = [0 0 0] Matrix = [1 0 0 0 1 0 0 0 1] postoffsets = [0 0 0]

已移除:17 已弃用:13

野战类型说明默认
compositor_id uint32 无默认取景方式
preoffsets float32[3] 无默认取景方式
matrix float32[9] 无默认取景方式
postoffsets float32[3] 无默认取景方式

SetDisplayMinimumRgbCmdHACK

fuchsia.ui.gfx/commands.fidl 中定义

已移除:17 已弃用:13

野战类型说明默认
min_value uint8 无默认取景方式

SetDisplayRotationCmdHACK

fuchsia.ui.gfx/commands.fidl 中定义

根据设备的不同,显示屏可能会按照较低级别设备控制器对像素的物理方向的判断进行旋转。合成器和层必须与底层物理方向一致,这意味着对于某些操作(如屏幕截图)来说,除非它们了解更高级别的显示屏如何定向屏幕,否则将无法提供具有准确方向的结果。旋转的唯一合法值是 0、90、180 和 270,这些值均按逆时针方向应用。

已移除:17 已弃用:13

野战类型说明默认
compositor_id uint32 无默认取景方式
rotation_degrees uint32 无默认取景方式

SetEnableDebugViewBoundsCmd

fuchsia.ui.gfx/commands.fidl 中定义

已移除:17 已弃用:13

野战类型说明默认
view_id uint32 无默认取景方式
enable bool 无默认取景方式

SetEventMaskCmd

fuchsia.ui.gfx/commands.fidl 中定义

设置资源应将哪些事件传送给会话监听器。 此命令会替换资源之前的所有事件掩码。

资源的初始事件掩码为零,这意味着系统不会报告任何事件。

限制:

  • resource_id 是有效的资源 ID
  • event_mask 是零或者 k*EventMask 位通过 OR 进行组合的组合。
已移除:17 已弃用:13

野战类型说明默认
id uint32 无默认取景方式
event_mask uint32 无默认取景方式

SetHitTestBehaviorCmd

fuchsia.ui.gfx/commands.fidl 中定义

设置节点的点击测试行为。

讨论:默认情况下,点击测试针对节点的内容及其部分及其子节点执行。

已移除:17 已弃用:13

野战类型说明默认
node_id uint32 无默认取景方式
hit_test_behavior HitTestBehavior 无默认取景方式

SetImportFocusCmdDEPRECATED

fuchsia.ui.gfx/commands.fidl 中定义

已移除:17 已弃用:13

<EMPTY>

SetLabelCmd

fuchsia.ui.gfx/commands.fidl 中定义

设置/清除标签,以帮助开发者在使用诊断工具时识别资源的用途。

该标签在场景图中没有任何功能用途。它的存在只是为了便于开发者了解其结构。场景管理器可能会随意截断或舍弃标签。

限制:

  • 标签的长度上限为 kLabelMaxLength 个字符。
  • 将标签设置为空字符串会清除标签。
已移除:17 已弃用:13

野战类型说明默认
id uint32 无默认取景方式
label string 无默认取景方式

SetLayerStackCmd

fuchsia.ui.gfx/commands.fidl 中定义

设置合成器的层堆栈,替换当前堆栈(如果有)。 限制:

  • compositor_id 引用 DisplayCompositor
  • layer_stack_id 引用 LayerStack
已移除:17 已弃用:13

野战类型说明默认
compositor_id uint32 无默认取景方式
layer_stack_id uint32 无默认取景方式

SetLightColorCmd

fuchsia.ui.gfx/commands.fidl 中定义

设置由 light_id 标识的光源的颜色。

已移除:17 已弃用:13

野战类型说明默认
light_id uint32 无默认取景方式
color ColorRgbValue 无默认取景方式

SetLightDirectionCmd

fuchsia.ui.gfx/commands.fidl 中定义

设置由 light_id 标识的 DirectionalLight 的方向。

已移除:17 已弃用:13

野战类型说明默认
light_id uint32 无默认取景方式
direction Vector3Value 无默认取景方式

SetMaterialCmd

fuchsia.ui.gfx/commands.fidl 中定义

设置/清除节点的材料。

限制:

  • node_id 引用具有 has_material 特征的 Node
  • material_id 引用 Material,或者不引用任何值。
  • 如果此命令导致目标同时具有 ShapeMaterial,则它们必须彼此兼容(请参阅有关“形状/材料兼容性”的 README.md)。

讨论:如需绘制节点,必须同时具有 ShapeMaterial。即使没有材料,节点仍可以参与命中测试和裁剪。如果没有形状,节点无法执行上述任何操作。

已移除:17 已弃用:13

野战类型说明默认
node_id uint32 无默认取景方式
material_id uint32 无默认取景方式

SetOpacityCmd

fuchsia.ui.gfx/commands.fidl 中定义

设置节点的不透明度。

限制:

  • node_id 引用具有 has_opacity 特征的 Node
  • opacity 在 [0, 1] 范围内。
已移除:17 已弃用:13

野战类型说明默认
node_id uint32 无默认取景方式
opacity float32 无默认取景方式

SetPointLightFalloffCmd

fuchsia.ui.gfx/commands.fidl 中定义

设置由 light_id 标识的 PointLight 的衰减因数。值为 1.0 对应于基于物理的“反平方定律”(请参阅维基百科)。其他值可用于艺术效果,例如,值 0.0 表示表面的亮度不取决于它与光线的距离。

已移除:17 已弃用:13

野战类型说明默认
light_id uint32 无默认取景方式
falloff FloatValue 无默认取景方式

SetPointLightPositionCmd

fuchsia.ui.gfx/commands.fidl 中定义

设置由 light_id 标识的 PointLight 的位置。

已移除:17 已弃用:13

野战类型说明默认
light_id uint32 无默认取景方式
position Vector3Value 无默认取景方式

SetRendererCmd

fuchsia.ui.gfx/commands.fidl 中定义

设置图层的渲染程序,替换当前渲染程序(如果有)。限制:

  • layer_id 引用 Layer
  • renderer_id 引用 Renderer
已移除:17 已弃用:13

野战类型说明默认
layer_id uint32 无默认取景方式
renderer_id uint32 无默认取景方式

SetRendererParamCmd

fuchsia.ui.gfx/commands.fidl 中定义

设置会影响渲染程序渲染场景的参数。

renderer_id 引用要修改的渲染程序。param 描述应该设置的参数及其设置。

已移除:17 已弃用:13

野战类型说明默认
renderer_id uint32 无默认取景方式
param RendererParam 无默认取景方式

SetRotationCmd

fuchsia.ui.gfx/commands.fidl 中定义

设置资源(通常是节点的)轮替。

限制:

  • id 引用具有 has_transform 特征的资源。

讨论:四元数代表 3D 坐标系中的任何旋转。由 [a,b,c,d] 组成,[a] 表示应该应用的旋转角度,[b,c,d] 表示围绕如何应用旋转的矢量。这符合 glm::quat 的语义。

已移除:17 已弃用:13

野战类型说明默认
id uint32 无默认取景方式
value QuaternionValue 无默认取景方式

SetScaleCmd

fuchsia.ui.gfx/commands.fidl 中定义

设置资源的(通常是节点的)规模。

限制:

  • id 引用具有 has_transform 特征的资源。
已移除:17 已弃用:13

野战类型说明默认
id uint32 无默认取景方式
value Vector3Value 无默认取景方式

SetSemanticVisibilityCmd

fuchsia.ui.gfx/commands.fidl 中定义

设置节点的语义可见性。

讨论:默认情况下,所有节点在语义上都是可见的。针对无障碍功能执行的点击测试会忽略语义不可见的节点及其子节点。

已移除:17 已弃用:13

野战类型说明默认
node_id uint32 无默认取景方式
visible bool true

SetShapeCmd

fuchsia.ui.gfx/commands.fidl 中定义

设置/清除节点的形状。

限制:

  • node_id 引用具有 has_shape 特征的 Node
  • shape_id 引用 Shape,或者不引用任何值。
  • 如果此命令导致目标同时具有 ShapeMaterial,则它们必须彼此兼容(请参阅有关“形状/材料兼容性”的 README.md)。

讨论:如需绘制节点,必须同时具有 ShapeMaterial。即使没有材料,节点仍可以参与命中测试和裁剪。如果没有形状,节点无法执行上述任何操作。

已移除:17 已弃用:13

野战类型说明默认
node_id uint32 无默认取景方式
shape_id uint32 无默认取景方式

SetSizeCmd

fuchsia.ui.gfx/commands.fidl 中定义

设置对象的大小。

限制:

  • id 引用可调整大小的对象。
  • 某些支持此命令的对象可能具有其他约束条件(例如,在某些情况下,depth 必须为零)。
已移除:17 已弃用:13

野战类型说明默认
id uint32 无默认取景方式
value Vector2Value 无默认取景方式

SetStereoCameraProjectionCmd

fuchsia.ui.gfx/commands.fidl 中定义

设置 StereoCamera 的投影矩阵。 此操作只能应用于 StereoCamera。

限制:

  • camera_id 引用 StereoCamera
  • left_projection 是左眼的投影矩阵。
  • right_projection 是右眼的投影矩阵。

如果需要,这些投影矩阵还可能包含相机空间中的转换,供其眼睛查看。

已移除:17 已弃用:13

野战类型说明默认
camera_id uint32 无默认取景方式
left_projection Matrix4Value 无默认取景方式
right_projection Matrix4Value 无默认取景方式

SetTagCmd

fuchsia.ui.gfx/commands.fidl 中定义

设置/清除节点的标记值。

会话可以将标记值应用到它有权访问的任何节点,包括导入的节点。这些标记仅对会话可见,无法由其他会话读取或修改。当多个会话导入同一节点时,每个会话只会观察自己的标记值。

会话的命中测试结果仅包含该会话标记为非零值的节点。因此,在选择节点时,会话可以使用标记值将节点与其功能用途相关联。

限制:

  • node_id 引用 Node
  • tag_value 是要分配的标记值,如果为 0,则移除该标记。
已移除:17 已弃用:13

野战类型说明默认
node_id uint32 无默认取景方式
tag_value uint32 无默认取景方式

SetTextureCmd

fuchsia.ui.gfx/commands.fidl 中定义

设置/清除材质的纹理。

限制:

  • material_id 引用 Material
  • texture_id 引用 ImageImagePipe2 或不引用任何内容。

如果未提供纹理(即 texture_id 为零),则系统会使用纯色。 如果提供了纹理,则从纹理中采样的值会乘以颜色。

已移除:17 已弃用:13

野战类型说明默认
material_id uint32 无默认取景方式
texture_id uint32 无默认取景方式

SetTranslationCmd

fuchsia.ui.gfx/commands.fidl 中定义

设置资源(通常是节点)的转换。

限制:

  • id 引用具有 has_transform 特征的资源。
已移除:17 已弃用:13

野战类型说明默认
id uint32 无默认取景方式
value Vector3Value 无默认取景方式

SetViewHolderBoundsColorCmd

fuchsia.ui.gfx/commands.fidl 中定义

已移除:17 已弃用:13

野战类型说明默认
view_holder_id uint32 无默认取景方式
color ColorRgbValue 无默认取景方式

SetViewPropertiesCmd

fuchsia.ui.gfx/commands.fidl 中定义

设置 ViewHolder 附加视图的属性。

限制:

  • view_holder_id 引用 ViewHolder
已移除:17 已弃用:13

野战类型说明默认
view_holder_id uint32 无默认取景方式
properties ViewProperties 无默认取景方式

ShapeNodeArgs

fuchsia.ui.gfx/nodes.fidl 中定义

特征:

  • has_parent
  • has_shape
  • has_material
已移除:17 已弃用:13

野战类型说明默认
unused uint32 0

SizeChangeHintEvent

fuchsia.ui.gfx/events.fidl 中定义

为响应来自父节点的大小更改提示 (SendSizeChangeHintCmd) 而传送。

当满足以下条件时,系统就会传送此事件:

  • 节点的 kSizeChangeEventMask 设置为启用状态。
  • 父节点已发送 SendSizeChangeHintCmd。

订阅此事件可接收在不久的将来您的节点需要多大纹理尺寸的信息。规范的用例是预先分配内存以避免重复的重新分配。

已移除:17 已弃用:13

野战类型说明默认
node_id uint32 无默认取景方式
width_change_factor float32 无默认取景方式
height_change_factor float32 无默认取景方式

StereoCameraArgs

fuchsia.ui.gfx/resources.fidl 中定义

StereoCamera 是一种并排立体呈现场景的相机。

任何可应用于相机的命令也能够应用于立体相机。其他受支持的命令:

  • SetStereoCameraProjection
已移除:17 已弃用:13

野战类型说明默认
scene_id uint32

相机正在观察的场景。

无默认取景方式

TakeSnapshotCmdDEPRECATED 资源

fuchsia.ui.gfx/commands.fidl 中定义

已移除:17 已弃用:13

野战类型说明默认
node_id uint32 无默认取景方式
callback SnapshotCallbackDEPRECATED 无默认取景方式

VariableArgs

fuchsia.ui.gfx/resources.fidl 中定义

描述客户端可修改的类型值。

已移除:17 已弃用:13

野战类型说明默认
type ValueType 无默认取景方式
initial_value Value 无默认取景方式

Vector2Value

fuchsia.ui.gfx/types.fidl 中定义

variable_id 为零时,由 value 明确指定的值,或者是由 variable_id 标识的资源(例如动画或表达式)生成的值。在后一种情况下,资源生成的值必须是 vec2,并且 value 会被忽略。

已移除:17 已弃用:13

野战类型说明默认
value vec2 无默认取景方式
variable_id uint32 无默认取景方式

Vector3Value

fuchsia.ui.gfx/types.fidl 中定义

variable_id 为零时,由 value 明确指定的值,或者是由 variable_id 标识的资源(例如动画或表达式)生成的值。在后一种情况下,资源生成的值必须是 vec3,并且 value 会被忽略。

已移除:17 已弃用:13

野战类型说明默认
value vec3 无默认取景方式
variable_id uint32 无默认取景方式

Vector4Value

fuchsia.ui.gfx/types.fidl 中定义

variable_id 为零时,由 value 明确指定的值,或者是由 variable_id 标识的资源(例如动画或表达式)生成的值。在后一种情况下,资源生成的值必须是 vec4,并且 value 会被忽略。

已移除:17 已弃用:13

野战类型说明默认
value vec4 无默认取景方式
variable_id uint32 无默认取景方式

ViewArgs 资源

fuchsia.ui.gfx/resources.fidl 中定义

表示较大场景图中子图的根。节点可以作为子节点附加到 View 上,这些节点除了会被裁剪至 View 的边界框之外,还会对它们自身应用 View 的坐标转换。请参阅 ViewProperties

每个 View 都通过共享令牌对与配对 ViewHolder 相关联。

通常情况下,View 及其关联的 ViewHolder 存在于不同的进程中。通过将它们组合起来,可以使用来自许多不同进程的内容构建整个系统的界面。

已移除:17 已弃用:13

野战类型说明默认
token fuchsia.ui.views/ViewToken 无默认取景方式
debug_name string? 无默认取景方式

ViewArgs3 资源

fuchsia.ui.gfx/resources.fidl 中定义

表示较大场景图中子图的根。节点可以作为子节点附加到 View 上,这些节点除了会被裁剪至 View 的边界框之外,还会对它们自身应用 View 的坐标转换。请参阅 ViewProperties

每个 View 都通过共享令牌对与配对 ViewHolder 相关联。

通常情况下,View 及其关联的 ViewHolder 存在于不同的进程中。通过将它们组合起来,可以使用来自许多不同进程的内容构建整个系统的界面。

客户端使用 ViewRef 自标识其View,这是一个稳定的标识符,可以克隆并以前馈方式传递给其他组件。它附带 ViewRefControl,Sce 使用它来指示整个系统中 View 销毁的信号;ViewRefControl 必须是唯一的,请勿克隆。

已移除:17 已弃用:13

野战类型说明默认
token fuchsia.ui.views/ViewToken 无默认取景方式
control_ref fuchsia.ui.views/ViewRefControl

control_ref.reference 必须具有默认事件对权限(即,有信号),减去 ZX_RIGHT_DUPLICATE。

无默认取景方式
view_ref fuchsia.ui.views/ViewRef

view_ref.reference 必须拥有基本权利(即无信号)。

无默认取景方式
debug_name string? 无默认取景方式

ViewAttachedToSceneEvent

fuchsia.ui.gfx/events.fidl 中定义

当指定视图的父级 ViewHolder 成为场景的一部分时,传送至视图的会话。

如果 Scene 节点和 ViewHolder 节点之间存在不间断的父子关系链,则 ViewHolder 会被视为场景的一部分。

已移除:17 已弃用:13

野战类型说明默认
view_id uint32 无默认取景方式
properties ViewProperties 无默认取景方式

ViewConnectedEvent

fuchsia.ui.gfx/events.fidl 中定义

在 ViewHolder 的会话连接后,将其传送到 ViewHolder 的会话。

已移除:17 已弃用:13

野战类型说明默认
view_holder_id uint32 无默认取景方式

ViewDetachedFromSceneEvent

fuchsia.ui.gfx/events.fidl 中定义

当给定视图的父级 ViewHolder 不再是场景的一部分时传送至视图的会话。

如果 ViewHolder 直接与场景分离,或其父节点之一与场景分离,则可能会发生这种情况。

如果 Scene 节点和 ViewHolder 节点之间存在不间断的父子关系链,则 ViewHolder 会被视为场景的一部分。

已移除:17 已弃用:13

野战类型说明默认
view_id uint32 无默认取景方式

ViewDisconnectedEvent

fuchsia.ui.gfx/events.fidl 中定义

当 ViewHolder 的对等视图断开连接或销毁时,传送到 ViewHolder 的会话。

如果在建立连接前销毁 View,则当 ViewHolder 尝试连接时,系统会立即传送此事件。

已移除:17 已弃用:13

野战类型说明默认
view_holder_id uint32 无默认取景方式

ViewHolderArgs 资源

fuchsia.ui.gfx/resources.fidl 中定义

表示较大场景图中子图的连接点。ViewHolder 可以作为子节点附加到 Node,关联的 View 的内容也将成为该 Node 的子节点。

每个 ViewHolder 都通过共享令牌对与配对 View 相关联。

通常情况下,ViewHolder 及其关联的 View 存在于不同的进程中。通过将它们组合起来,可以使用来自许多不同进程的内容构建整个系统的界面。

已移除:17 已弃用:13

野战类型说明默认
token fuchsia.ui.views/ViewHolderToken 无默认取景方式
debug_name string? 无默认取景方式

ViewHolderConnectedEvent

fuchsia.ui.gfx/events.fidl 中定义

当某个视图的对等 ViewHolder 连接时,将其传送到该视图的会话。

如果在建立连接之前 ViewHolder 被销毁,则无法传递此事件。

已移除:17 已弃用:13

野战类型说明默认
view_id uint32 无默认取景方式

ViewHolderDisconnectedEvent

fuchsia.ui.gfx/events.fidl 中定义

当某个 View 的对等 ViewHolder 断开连接或销毁时,将其传送到 View 的会话。

如果在建立连接之前 ViewHolder 被销毁,则系统会在 View 尝试连接时立即传送此事件。

已移除:17 已弃用:13

野战类型说明默认
view_id uint32 无默认取景方式

ViewProperties

fuchsia.ui.gfx/types.fidl 中定义

表示 View 的属性。

已移除:17 已弃用:13

野战类型说明默认
bounding_box BoundingBox

视图的边界框范围可定义为: { bounds_box.min, bounds_box.max } 视图中包含的内容会裁剪为此边界框。

无默认取景方式
inset_from_min vec3

insets_from_mininsets_from_max 指定视图的边界框与其父级的边界框之间的距离。

shortcuts 不会严格强制执行以下属性,而只会用作客户端和其他接收 ViewProperties 的组件的提示:

视图客户端可以假设在 {bound_box.min + inset_from_min, bounds_box.max - inset_from_max } 之外绘制的任何内容都可能会被祖先视图遮挡。模糊的原因及其相关的规则因产品而异。

无默认取景方式
inset_from_max vec3 无默认取景方式
focus_change bool

视图是否可以接收焦点事件;默认值为 true。如果为 false,并且该 View 可以接收焦点事件,则系统实际上不会向任何 View 发送焦点/取消焦点事件。

true
downward_input bool

View 是否允许基于几何图形的 View 接收输入;默认值为 true。为 false 时,Scape 不会向底层 View 发送输入事件。

true

ViewPropertiesChangedEvent

fuchsia.ui.gfx/events.fidl 中定义

当给定视图的父 ViewHolder 更改视图的属性时传递。

已移除:17 已弃用:13

野战类型说明默认
view_id uint32 无默认取景方式
properties ViewProperties 无默认取景方式

ViewState

fuchsia.ui.gfx/types.fidl 中定义

表示景观中 View 的状态。

已移除:17 已弃用:13

野战类型说明默认
is_rendering bool

View 是否正在渲染。默认值为 false。在视图的第一帧渲染请求之后传送到视图的相应 ViewHolder。

无默认取景方式

ViewStateChangedEvent

fuchsia.ui.gfx/events.fidl 中定义

在 ViewHolder 的会话的状态发生更改时传送到 ViewHolder 的会话。

已移除:17 已弃用:13

野战类型说明默认
view_holder_id uint32 无默认取景方式
state ViewState 无默认取景方式

mat4

fuchsia.ui.gfx/types.fidl 中定义

野战类型说明默认
matrix float32[16]

列主要顺序。

无默认取景方式

vec2

fuchsia.ui.gfx/types.fidl 中定义

野战类型说明默认
x float32 无默认取景方式
y float32 无默认取景方式

vec3

fuchsia.ui.gfx/types.fidl 中定义

野战类型说明默认
x float32 无默认取景方式
y float32 无默认取景方式
z float32 无默认取景方式

vec4

fuchsia.ui.gfx/types.fidl 中定义

已移除:17 已弃用:13

野战类型说明默认
x float32 无默认取景方式
y float32 无默认取景方式
z float32 无默认取景方式
w float32 无默认取景方式

枚举

HitTestBehavior 严格

类型:uint32

fuchsia.ui.gfx/types.fidl 中定义

描述节点如何与点击测试进行交互。

已移除:17 已弃用:13

名称说明
0

对节点的内容、部分及其子节点应用点击测试。

1

抑制节点及其包含的所有内容的点击测试。

ImportSpec strict

类型:uint32

fuchsia.ui.gfx/resources.fidl 中定义

描述将由 ImportResourceCmd 导入的导出资源。

注意:目前只是可导入资源类型的枚举,但以后可能会进行扩展,以表达“与特定顶点格式的网格”等概念。

已移除:17 已弃用:13

名称说明
0

MeshIndexFormat 严格

类型:uint32

fuchsia.ui.gfx/commands.fidl 中定义

设置网格的索引和顶点。

mesh_id 引用要更新的网格。index_buffer_id 引用包含网格索引的缓冲区。index_format 定义如何解释索引缓冲区数据。从索引缓冲区开始算起的 index_offset 字节数。 index_count 个索引。 vertex_buffer_id 引用包含网格顶点的缓冲区。vertex_format 定义如何解释顶点缓冲区数据。从顶点缓冲区开始算起的 vertex_offset 字节数。 vertex_count 顶点数。 bounding_box 必须包含指定范围内的所有顶点。

MeshVertexFormat 定义了网格提供哪些逐顶点属性,以及每个属性的大小(从而确定每个顶点的大小)。属性在顶点内按照它们在 MeshVertexFormat 结构体中出现的顺序进行排序。例如,如果值为 kVector3、kNone 和 kVector2,则:

  • 每个顶点都有位置和 UV 坐标,但没有表面法线。
  • 3D 位置占用 0-11 个字节(3 个维度 * 每个 float32 4 个字节)。
  • UV 坐标会占用 12-19 字节,因为未提供 Surface 法线。
已移除:17 已弃用:13

名称说明
1
2

RenderFrequency 严格

类型:uint32

fuchsia.ui.gfx/renderer.fidl 中定义

已移除:17 已弃用:13

名称说明
0
1

ShadowTechnique 严格

类型:uint32

fuchsia.ui.gfx/renderer.fidl 中定义

表示 Renderer 在为场景提供光照时应使用的阴影算法。

已移除:17 已弃用:13

名称说明
0

没有阴影。

1

默认。屏幕空间、基于深度缓冲区的阴影;类似于 SSDO。

2

基本阴影贴图。

3

时刻阴影贴图(参见 http:///momentsingraphics.de)。

4

模板阴影音量。

ValueType 严格

类型:uint32

fuchsia.ui.gfx/types.fidl 中定义

已移除:17 已弃用:13

名称说明
0
1
2
3
4
5
6
7
8
9

联合

命令严格 资源

fuchsia.ui.gfx/commands.fidl 中定义

用于修改 Session 状态的命令。

已移除:17 已弃用:13
<tr id="Command.scene_add_ambientlight"> <tr id="Command.scene_add_Directionlight"> <tr id="Command.scene_add_pointlight">
序数变体类型说明
create_resource CreateResourceCmd
release_resource ReleaseResourceCmd
export_resource ExportResourceCmdDeprecated
import_resource ImportResourceCmdDeprecated
set_tag SetTagCmd

标记命令。

detach DetachCmd

分组命令。

set_translation SetTranslationCmd

空间命令。

set_scale SetScaleCmd
set_rotation SetRotationCmd
set_anchor SetAnchorCmd
set_size SetSizeCmd
set_opacity SetOpacityCmd
send_size_change_hint_hack SendSizeChangeHintCmdHACK
add_child AddChildCmd

特定于节点的命令。

add_part AddPartCmd

再育儿?

detach_children DetachChildrenCmd
set_shape SetShapeCmd
set_material SetMaterialCmd
set_clip SetClipCmd
set_hit_test_behavior SetHitTestBehaviorCmd
set_view_properties SetViewPropertiesCmd
take_snapshot_cmd TakeSnapshotCmdDEPRECATED
set_camera SetCameraCmd

相机和光效命令。

set_camera_transform SetCameraTransformCmd
set_camera_projection SetCameraProjectionCmd
set_stereo_camera_projection SetStereoCameraProjectionCmd
set_camera_pose_buffer SetCameraPoseBufferCmd
set_light_color SetLightColorCmd
set_light_direction SetLightDirectionCmd
add_light AddLightCmd
detach_light DetachLightCmd
detach_lights DetachLightsCmd
set_texture SetTextureCmd
set_color SetColorCmd
bind_mesh_buffers BindMeshBuffersCmd

网格命令

add_layer AddLayerCmd

图层和渲染程序命令。

remove_layer RemoveLayerCmd
remove_all_layers RemoveAllLayersCmd
set_layer_stack SetLayerStackCmd
set_renderer SetRendererCmd
set_renderer_param SetRendererParamCmd
set_event_mask SetEventMaskCmd

活动。

set_label SetLabelCmd

诊断命令。

set_disable_clipping SetDisableClippingCmd

调试命令。

set_import_focus SetImportFocusCmdDEPRECATED
set_clip_planes SetClipPlanesCmd
set_point_light_position SetPointLightPositionCmd
set_point_lightfalloff SetPointLightFalloffCmd
<h3 id="Command.scene_add_ambientlight" class="add-link hide-from-toc">49 scene_add_ambientlight SceneAddAmbientLightCmd
<h3 id="Command.scene_add_Directionlight" class="add-link hide-from-toc">50 scene_add_directionallight SceneAddDirectionalLightCmd
<h3 id="Command.scene_add_pointlight" class="add-link hide-from-toc">51 scene_add_point_light SceneAddPointLightCmd
set_display_color_conversion SetDisplayColorConversionCmdHACK
set_display_rotation SetDisplayRotationCmdHACK
set_enable_view_debug_bounds SetEnableDebugViewBoundsCmd
set_view_holder_bounds_color SetViewHolderBoundsColorCmd
set_camera_clip_space_transform SetCameraClipSpaceTransformCmd
set_display_minimum_rgb SetDisplayMinimumRgbCmdHACK
set_semantic_visibility SetSemanticVisibilityCmd

活动严格

fuchsia.ui.gfx/events.fidl 中定义

这些是 Session 可以报告的所有事件类型。使用 SetEventMaskCmd 为资源启用事件传送功能。

已移除:17 已弃用:13
序数变体类型说明
metrics MetricsEvent

由掩码控制的事件。

size_change_hint SizeChangeHintEvent
import_unbound ImportUnboundEvent

始终传送的事件(不考虑掩码)。

view_connected ViewConnectedEvent
view_disconnected ViewDisconnectedEvent
view_holder_disconnected ViewHolderDisconnectedEvent
view_attached_to_scene ViewAttachedToSceneEvent
view_detached_from_scene ViewDetachedFromSceneEvent
view_properties_changed ViewPropertiesChangedEvent
view_state_changed ViewStateChangedEvent
view_holder_connected ViewHolderConnectedEvent

RendererParam 严格

fuchsia.ui.gfx/renderer.fidl 中定义

这些是为配置 Renderer 而可以设置的所有类型的参数。

已移除:17 已弃用:13
序数变体类型说明
shadow_technique ShadowTechnique
reserved RenderFrequency

已弃用

enable_debugging bool

ResourceArgs 严格 资源

fuchsia.ui.gfx/resources.fidl 中定义

这些是可以在 Session 中创建的所有资源类型。仅将新字段添加到列表底部。

已移除:17 已弃用:13
序数变体类型说明
memory MemoryArgs
image ImageArgs
buffer BufferArgs
view ViewArgs
view_holder ViewHolderArgs
rectangle RectangleArgs
rounded_rectangle RoundedRectangleArgs
circle CircleArgs
mesh MeshArgs
shape_node ShapeNodeArgs
clip_node ClipNodeArgs
entity_node EntityNodeArgs
opacity_node OpacityNodeArgsHACK
material MaterialArgs
compositor CompositorArgs
display_compositor DisplayCompositorArgs
layer_stack LayerStackArgs
layer LayerArgs
scene SceneArgs
camera CameraArgs
stereo_camera StereoCameraArgs
renderer RendererArgs
ambient_light AmbientLightArgs
directional_light DirectionalLightArgs
variable VariableArgs
point_light PointLightArgs
view3 ViewArgs3
image_pipe2 ImagePipe2Args
image2 ImageArgs2
image3 ImageArgs3

严格

fuchsia.ui.gfx/types.fidl 中定义

已移除:17 已弃用:13
序数变体类型说明
vector1 float32
vector2 vec2
vector3 vec3
vector4 vec4
matrix4x4 mat4
color_rgba ColorRgba
color_rgb ColorRgb
degrees float32

XY 平面中逆时针旋转的度数。

quaternion Quaternion
transform FactoredTransform
variable_id uint32

生成值的资源(动画或表达式)的 ID。 此值的类型与命名资源生成的类型一致。

常量

名称类型说明
kLabelMaxLength 32 uint32

资源标签的长度上限。

已移除:17 已弃用:13
kMetricsEventMask 1 uint32

报告指标信息。 系统仅针对节点资源报告此事件类型。

已移除:17 已弃用:13
kSizeChangeHintEventMask 2 uint32
已移除:17 已弃用:13