| <link rel="stylesheet" href="../style.css" /> |
| |
| [TOC] |
| # fuchsia.ui.gfx |
| |
| <div class="fidl-version-div"><span class="fidl-attribute fidl-version">Added: 7</span></div> |
| |
| |
| ## **PROTOCOLS** |
| |
| ## PoseBufferProvider {#PoseBufferProvider} |
| *Defined in [fuchsia.ui.gfx/pose_buffer_provider.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/pose_buffer_provider.fidl;l=10)* |
| <p>A minimal fidl interface to allow sourcing the contents of a PoseBuffer from another service.</p> |
| |
| |
| ### SetPoseBuffer {#PoseBufferProvider.SetPoseBuffer} |
| |
| <p>Sets the PoseBuffer and the parameters PoseBufferProvider will use to fill that PoseBuffer. |
| Setting this when it is already set will replace the previously set parameters with the new |
| parameters, which will release the provider's reference to the buffer.</p> |
| |
| |
| |
| #### Request {#PoseBufferProvider.SetPoseBuffer_Request} |
| |
| <table> |
| <tr><th>Name</th><th>Type</th></tr> |
| <tr> |
| <td><code>buffer</code></td> |
| <td> |
| <code>handle<vmo></code> |
| </td> |
| </tr> |
| <tr> |
| <td><code>num_entries</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| </tr> |
| <tr> |
| <td><code>base_time</code></td> |
| <td> |
| <code>int64</code> |
| </td> |
| </tr> |
| <tr> |
| <td><code>time_interval</code></td> |
| <td> |
| <code>uint64</code> |
| </td> |
| </tr> |
| </table> |
| |
| |
| ## SnapshotCallbackDEPRECATED {#SnapshotCallbackDEPRECATED} |
| *Defined in [fuchsia.ui.gfx/commands.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/commands.fidl;l=407)* |
| |
| |
| ### OnData {#SnapshotCallbackDEPRECATED.OnData} |
| |
| |
| |
| |
| #### Request {#SnapshotCallbackDEPRECATED.OnData_Request} |
| |
| <table> |
| <tr><th>Name</th><th>Type</th></tr> |
| <tr> |
| <td><code>data</code></td> |
| <td> |
| <code><a class='link' href='../fuchsia.mem/'>fuchsia.mem</a>/<a class='link' href='../fuchsia.mem/#Buffer'>Buffer</a></code> |
| </td> |
| </tr> |
| </table> |
| |
| |
| |
| ## **STRUCTS** |
| |
| ### AddChildCmd {#AddChildCmd data-text="AddChildCmd"} |
| *Defined in [fuchsia.ui.gfx/commands.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/commands.fidl;l=283)* |
| <p>Add a node as a child to another node.</p> |
| <p>Constraints:</p> |
| <ul> |
| <li><code>id</code> refs a Node with the has_children characteristic.</li> |
| <li><code>child_id</code> refs any Node.</li> |
| </ul> |
| <p>Discussion: |
| The child node is first removed from its existing parent, as if DetachCmd |
| was applied first.</p> |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="AddChildCmd.node_id"> |
| <td><code>node_id</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| <tr id="AddChildCmd.child_id"> |
| <td><code>child_id</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| </table> |
| |
| ### AddLayerCmd {#AddLayerCmd data-text="AddLayerCmd"} |
| *Defined in [fuchsia.ui.gfx/commands.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/commands.fidl;l=678)* |
| <p>Add a layer to a layer stack. |
| Constraints:</p> |
| <ul> |
| <li><code>layer_stack_id</code> refs a <code>LayerStack</code>.</li> |
| <li><code>layer_id</code> refs a <code>Layer</code>.</li> |
| <li>The layer must not already belong to a different stack; it must first be |
| detached.</li> |
| </ul> |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="AddLayerCmd.layer_stack_id"> |
| <td><code>layer_stack_id</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| <tr id="AddLayerCmd.layer_id"> |
| <td><code>layer_id</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| </table> |
| |
| ### AddLightCmd {#AddLightCmd data-text="AddLightCmd"} |
| *Defined in [fuchsia.ui.gfx/commands.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/commands.fidl;l=581)* |
| <p>DEPRECATED |
| Adds the light specified by <code>light_id</code> specified by <code>light_id</code> to the scene |
| identified by <code>scene_id</code>.</p> |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="AddLightCmd.scene_id"> |
| <td><code>scene_id</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| <tr id="AddLightCmd.light_id"> |
| <td><code>light_id</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| </table> |
| |
| ### AddPartCmd {#AddPartCmd data-text="AddPartCmd"} |
| *Defined in [fuchsia.ui.gfx/commands.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/commands.fidl;l=303)* |
| <p>Add a node as a part of another node. The implications of being a part |
| rather than a child differ based on the type of the part. However, one |
| implication is constant: removing all of a node's children (e.g. via |
| DetachChildrenCmd) does not affect its parts. This is similar to the |
| "shadow DOM" in a web browser: the controls of a <video> element are |
| implemented as using the shadow DOM, and do no show up amongst the children |
| of that element.</p> |
| <p>Constraints:</p> |
| <ul> |
| <li><code>id</code> refs a Node with the has_parts characteristic.</li> |
| <li><code>part_id</code> refs any Node.</li> |
| </ul> |
| <p>Discussion: |
| The part node is first removed from its existing parent, as if DetachCmd |
| was applied first.</p> |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="AddPartCmd.node_id"> |
| <td><code>node_id</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| <tr id="AddPartCmd.part_id"> |
| <td><code>part_id</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| </table> |
| |
| ### AmbientLightArgs {#AmbientLightArgs data-text="AmbientLightArgs"} |
| *Defined in [fuchsia.ui.gfx/resources.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/resources.fidl;l=297)* |
| <p>An AmbientLight is a Light that is is assumed to be everywhere in the scene, |
| in all directions.</p> |
| <p>Supported commands:</p> |
| <ul> |
| <li>SetLightColor</li> |
| </ul> |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="AmbientLightArgs.dummy"> |
| <td><code>dummy</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td></td> |
| <td>0</td> |
| </tr> |
| </table> |
| |
| ### BindMeshBuffersCmd {#BindMeshBuffersCmd data-text="BindMeshBuffersCmd"} |
| *Defined in [fuchsia.ui.gfx/commands.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/commands.fidl;l=659)* |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="BindMeshBuffersCmd.mesh_id"> |
| <td><code>mesh_id</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| <tr id="BindMeshBuffersCmd.index_buffer_id"> |
| <td><code>index_buffer_id</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| <tr id="BindMeshBuffersCmd.index_format"> |
| <td><code>index_format</code></td> |
| <td> |
| <code><a class='link' href='#MeshIndexFormat'>MeshIndexFormat</a></code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| <tr id="BindMeshBuffersCmd.index_offset"> |
| <td><code>index_offset</code></td> |
| <td> |
| <code>uint64</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| <tr id="BindMeshBuffersCmd.index_count"> |
| <td><code>index_count</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| <tr id="BindMeshBuffersCmd.vertex_buffer_id"> |
| <td><code>vertex_buffer_id</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| <tr id="BindMeshBuffersCmd.vertex_format"> |
| <td><code>vertex_format</code></td> |
| <td> |
| <code><a class='link' href='#MeshVertexFormat'>MeshVertexFormat</a></code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| <tr id="BindMeshBuffersCmd.vertex_offset"> |
| <td><code>vertex_offset</code></td> |
| <td> |
| <code>uint64</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| <tr id="BindMeshBuffersCmd.vertex_count"> |
| <td><code>vertex_count</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| <tr id="BindMeshBuffersCmd.bounding_box"> |
| <td><code>bounding_box</code></td> |
| <td> |
| <code><a class='link' href='#BoundingBox'>BoundingBox</a></code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| </table> |
| |
| ### BoundingBox {#BoundingBox data-text="BoundingBox"} |
| *Defined in [fuchsia.ui.gfx/types.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/types.fidl;l=213)* |
| <p>Represents an axis-aligned bounding box.</p> |
| <p>If any of the dimensions has a negative extent (e.g. max.x < min.x) then the |
| bounding box is treated as empty. It is valid for a client to define an |
| empty bounding box.</p> |
| <p>An "empty bounding box" is one that does not admit a point inhabitant. |
| Note that a zero-volume, zero-area bounding box (e.g., a point like |
| (0,0,0)-(0,0,0), or a line like (0,0,0)-(1,0,0)) is thus not empty.</p> |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="BoundingBox.min"> |
| <td><code>min</code></td> |
| <td> |
| <code><a class='link' href='#vec3'>vec3</a></code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| <tr id="BoundingBox.max"> |
| <td><code>max</code></td> |
| <td> |
| <code><a class='link' href='#vec3'>vec3</a></code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| </table> |
| |
| ### BufferArgs {#BufferArgs data-text="BufferArgs"} |
| *Defined in [fuchsia.ui.gfx/resources.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/resources.fidl;l=133)* |
| <p>A buffer mapped to a range of <code>Memory</code>.</p> |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="BufferArgs.memory_id"> |
| <td><code>memory_id</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| <tr id="BufferArgs.memory_offset"> |
| <td><code>memory_offset</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| <tr id="BufferArgs.num_bytes"> |
| <td><code>num_bytes</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| </table> |
| |
| ### CameraArgs {#CameraArgs data-text="CameraArgs"} |
| *Defined in [fuchsia.ui.gfx/resources.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/resources.fidl;l=265)* |
| <p>A Camera is used to render a Scene from a particular viewpoint. This is |
| achieved by setting a Renderer to use the camera.</p> |
| <p>The following commands may be applied to a Camera:</p> |
| <ul> |
| <li>SetCameraTransform</li> |
| <li>SetCameraProjection</li> |
| <li>SetCameraPoseBuffer</li> |
| </ul> |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="CameraArgs.scene_id"> |
| <td><code>scene_id</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td><p>The scene that the camera is viewing.</p> |
| </td> |
| <td>No default</td> |
| </tr> |
| </table> |
| |
| ### CircleArgs {#CircleArgs data-text="CircleArgs"} |
| *Defined in [fuchsia.ui.gfx/shapes.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/shapes.fidl;l=31)* |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="CircleArgs.radius"> |
| <td><code>radius</code></td> |
| <td> |
| <code><a class='link' href='#Value'>Value</a></code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| </table> |
| |
| ### ClipNodeArgs {#ClipNodeArgs data-text="ClipNodeArgs"} |
| *Defined in [fuchsia.ui.gfx/nodes.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/nodes.fidl;l=41)* |
| <p>Characteristics:</p> |
| <ul> |
| <li>has_parent</li> |
| <li>is_clip</li> |
| <li>has_parts</li> |
| </ul> |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="ClipNodeArgs.unused"> |
| <td><code>unused</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td></td> |
| <td>0</td> |
| </tr> |
| </table> |
| |
| ### ColorRgb {#ColorRgb data-text="ColorRgb"} |
| *Defined in [fuchsia.ui.gfx/types.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/types.fidl;l=38)* |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="ColorRgb.red"> |
| <td><code>red</code></td> |
| <td> |
| <code>float32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| <tr id="ColorRgb.green"> |
| <td><code>green</code></td> |
| <td> |
| <code>float32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| <tr id="ColorRgb.blue"> |
| <td><code>blue</code></td> |
| <td> |
| <code>float32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| </table> |
| |
| ### ColorRgbValue {#ColorRgbValue data-text="ColorRgbValue"} |
| *Defined in [fuchsia.ui.gfx/types.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/types.fidl;l=132)* |
| <p>A value that is specified explicitly by <code>value</code> if <code>variable_id</code> is zero, |
| or is the value produced by the resource identified by <code>variable_id</code>, e.g. |
| an animation or expression. In the latter case, the value produced by the |
| resource must be a ColorRgb, and <code>value</code> is ignored.</p> |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="ColorRgbValue.value"> |
| <td><code>value</code></td> |
| <td> |
| <code><a class='link' href='#ColorRgb'>ColorRgb</a></code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| <tr id="ColorRgbValue.variable_id"> |
| <td><code>variable_id</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| </table> |
| |
| ### ColorRgba {#ColorRgba data-text="ColorRgba"} |
| *Defined in [fuchsia.ui.gfx/types.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/types.fidl;l=31)* |
| <p>sRGB color space and nonlinear transfer function.</p> |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="ColorRgba.red"> |
| <td><code>red</code></td> |
| <td> |
| <code>uint8</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| <tr id="ColorRgba.green"> |
| <td><code>green</code></td> |
| <td> |
| <code>uint8</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| <tr id="ColorRgba.blue"> |
| <td><code>blue</code></td> |
| <td> |
| <code>uint8</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| <tr id="ColorRgba.alpha"> |
| <td><code>alpha</code></td> |
| <td> |
| <code>uint8</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| </table> |
| |
| ### ColorRgbaValue {#ColorRgbaValue data-text="ColorRgbaValue"} |
| *Defined in [fuchsia.ui.gfx/types.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/types.fidl;l=141)* |
| <p>A value that is specified explicitly by <code>value</code> if <code>variable_id</code> is zero, |
| or is the value produced by the resource identified by <code>variable_id</code>, e.g. |
| an animation or expression. In the latter case, the value produced by the |
| resource must be a ColorRgba, and <code>value</code> is ignored.</p> |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="ColorRgbaValue.value"> |
| <td><code>value</code></td> |
| <td> |
| <code><a class='link' href='#ColorRgba'>ColorRgba</a></code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| <tr id="ColorRgbaValue.variable_id"> |
| <td><code>variable_id</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| </table> |
| |
| ### CompositorArgs {#CompositorArgs data-text="CompositorArgs"} |
| *Defined in [fuchsia.ui.gfx/resources.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/resources.fidl;l=199)* |
| <p>A Compositor draws its <code>LayerStack</code> into a framebuffer provided by its |
| attached <code>Display</code>, if any. If no display is attached, nothing is rendered.</p> |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="CompositorArgs.dummy"> |
| <td><code>dummy</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td></td> |
| <td>0</td> |
| </tr> |
| </table> |
| |
| ### CreateResourceCmd [resource](/fuchsia-src/reference/fidl/language/language.md#value-vs-resource){:.fidl-attribute} {#CreateResourceCmd data-text="CreateResourceCmd"} |
| *Defined in [fuchsia.ui.gfx/commands.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/commands.fidl;l=107)* |
| <p>Instructs the compositor to create the specified <code>Resource</code>, and to register |
| it in a table so that it can be referenced by subsequent commands.</p> |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="CreateResourceCmd.id"> |
| <td><code>id</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td><p>An ID that is currently not used within the session.</p> |
| </td> |
| <td>No default</td> |
| </tr> |
| <tr id="CreateResourceCmd.resource"> |
| <td><code>resource</code></td> |
| <td> |
| <code><a class='link' href='#ResourceArgs'>ResourceArgs</a></code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| </table> |
| |
| ### DetachChildrenCmd {#DetachChildrenCmd data-text="DetachChildrenCmd"} |
| *Defined in [fuchsia.ui.gfx/commands.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/commands.fidl;l=309)* |
| <p>Detaches all of a node's children (but not its parts).</p> |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="DetachChildrenCmd.node_id"> |
| <td><code>node_id</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| </table> |
| |
| ### DetachCmd {#DetachCmd data-text="DetachCmd"} |
| *Defined in [fuchsia.ui.gfx/commands.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/commands.fidl;l=195)* |
| <p>Detaches a parentable object from its parent (e.g. a node from a parent node, |
| or a layer from a layer stack). It is illegal to apply this command to a |
| non-parentable object. No-op if the target object currently has no parent.</p> |
| <p>Constraints:</p> |
| <ul> |
| <li><code>id</code> refs a parentable object</li> |
| </ul> |
| <p>Discussion: |
| For nodes, this command will detach a node from its parent, regardless of |
| whether it is a part or a child of its parent.</p> |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="DetachCmd.id"> |
| <td><code>id</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| </table> |
| |
| ### DetachLightCmd {#DetachLightCmd data-text="DetachLightCmd"} |
| *Defined in [fuchsia.ui.gfx/commands.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/commands.fidl;l=588)* |
| <p>Detach the light specified by <code>light_id</code> from the scene that it is attached |
| to, if any.</p> |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="DetachLightCmd.light_id"> |
| <td><code>light_id</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| </table> |
| |
| ### DetachLightsCmd {#DetachLightsCmd data-text="DetachLightsCmd"} |
| *Defined in [fuchsia.ui.gfx/commands.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/commands.fidl;l=593)* |
| <p>Detach all lights from the scene specified by <code>scene_id</code>.</p> |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="DetachLightsCmd.scene_id"> |
| <td><code>scene_id</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| </table> |
| |
| ### DirectionalLightArgs {#DirectionalLightArgs data-text="DirectionalLightArgs"} |
| *Defined in [fuchsia.ui.gfx/resources.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/resources.fidl;l=313)* |
| <p>A DirectionalLight is a Light that is emitted from a point at infinity.</p> |
| <p>Although the light is directional, the light has some amount of angular |
| dispersion (i.e., the light is not fully columnated). For simplicity, we |
| assume the dispersion of the light source is symmetric about the light's |
| primary direction.</p> |
| <p>Supported commands:</p> |
| <ul> |
| <li>SetLightColor</li> |
| <li>SetLightDirection</li> |
| </ul> |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="DirectionalLightArgs.dummy"> |
| <td><code>dummy</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td></td> |
| <td>0</td> |
| </tr> |
| </table> |
| |
| ### DisplayCompositorArgs {#DisplayCompositorArgs data-text="DisplayCompositorArgs"} |
| *Defined in [fuchsia.ui.gfx/resources.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/resources.fidl;l=207)* |
| <p>A DisplayCompositor draws its attached <code>LayerStack</code> into an image that is |
| presented on a display.</p> |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="DisplayCompositorArgs.dummy"> |
| <td><code>dummy</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td></td> |
| <td>0</td> |
| </tr> |
| </table> |
| |
| ### DisplayInfo {#DisplayInfo data-text="DisplayInfo"} |
| *Defined in [fuchsia.ui.gfx/display_info.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/display_info.fidl;l=7)* |
| <p>Provides information about a display.</p> |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="DisplayInfo.width_in_px"> |
| <td><code>width_in_px</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td><p>The size of the display, in physical pixels.</p> |
| </td> |
| <td>No default</td> |
| </tr> |
| <tr id="DisplayInfo.height_in_px"> |
| <td><code>height_in_px</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| </table> |
| |
| ### EntityNodeArgs {#EntityNodeArgs data-text="EntityNodeArgs"} |
| *Defined in [fuchsia.ui.gfx/nodes.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/nodes.fidl;l=64)* |
| <p>Characteristics:</p> |
| <ul> |
| <li>has_transform</li> |
| <li>has_children</li> |
| <li>has_parent</li> |
| <li>has_parts</li> |
| <li>has_clip</li> |
| </ul> |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="EntityNodeArgs.unused"> |
| <td><code>unused</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td></td> |
| <td>0</td> |
| </tr> |
| </table> |
| |
| ### ExportResourceCmdDeprecated [resource](/fuchsia-src/reference/fidl/language/language.md#value-vs-resource){:.fidl-attribute} {#ExportResourceCmdDeprecated data-text="ExportResourceCmdDeprecated"} |
| *Defined in [fuchsia.ui.gfx/commands.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/commands.fidl;l=133)* |
| <p>Create an external reference to the specified resource, which can then be |
| imported into another Session by passing a handle to <code>token</code>'s peer to |
| ImportResourceCmd; see that comment for more details.</p> |
| <p>The importing client is typically in a different process than the exporter. |
| No specific mechanism is provided for transferring a token from an exporter |
| to an importer; collaborators may choose any out-of-band API they wish to do |
| so.</p> |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="ExportResourceCmdDeprecated.id"> |
| <td><code>id</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| <tr id="ExportResourceCmdDeprecated.token"> |
| <td><code>token</code></td> |
| <td> |
| <code>handle<eventpair></code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| </table> |
| |
| ### ExportToken [resource](/fuchsia-src/reference/fidl/language/language.md#value-vs-resource){:.fidl-attribute} {#ExportToken data-text="ExportToken"} |
| *Defined in [fuchsia.ui.gfx/tokens.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/tokens.fidl;l=35)* |
| <p>Token that uniquely identifies a root point for a subgraph in the global |
| scene graph. Each <code>ExportToken</code> has exactly one corresponding <code>ImportToken</code>.</p> |
| <p>A Scenic client can have its contents referenced from another client by |
| creating a typed resource using this token. The other client must also |
| create a correspondingly typed resource using the corresponding |
| <code>ImportToken</code>.</p> |
| <p>The exact nature of the inter-client reference depends on the specific |
| resources created from the tokens. For example, creating a <code>View</code> |
| resource from this token allows everything attached to the <code>View</code> to be |
| embedded in another clients <code>ViewHolder</code>.</p> |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="ExportToken.value"> |
| <td><code>value</code></td> |
| <td> |
| <code>handle<eventpair></code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| </table> |
| |
| ### FactoredTransform {#FactoredTransform data-text="FactoredTransform"} |
| *Defined in [fuchsia.ui.gfx/types.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/types.fidl;l=58)* |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="FactoredTransform.translation"> |
| <td><code>translation</code></td> |
| <td> |
| <code><a class='link' href='#vec3'>vec3</a></code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| <tr id="FactoredTransform.scale"> |
| <td><code>scale</code></td> |
| <td> |
| <code><a class='link' href='#vec3'>vec3</a></code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| <tr id="FactoredTransform.anchor"> |
| <td><code>anchor</code></td> |
| <td> |
| <code><a class='link' href='#vec3'>vec3</a></code> |
| </td> |
| <td><p>Point around which rotation and scaling occur.</p> |
| </td> |
| <td>No default</td> |
| </tr> |
| <tr id="FactoredTransform.rotation"> |
| <td><code>rotation</code></td> |
| <td> |
| <code><a class='link' href='#Quaternion'>Quaternion</a></code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| </table> |
| |
| ### FloatValue {#FloatValue data-text="FloatValue"} |
| *Defined in [fuchsia.ui.gfx/types.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/types.fidl;l=87)* |
| <p>A value that is specified explicitly by <code>value</code> if <code>variable_id</code> is zero, |
| or is the value produced by the resource identified by <code>variable_id</code>, e.g. |
| an animation or expression. In the latter case, the value produced by the |
| resource must be a float32, and <code>value</code> is ignored.</p> |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="FloatValue.value"> |
| <td><code>value</code></td> |
| <td> |
| <code>float32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| <tr id="FloatValue.variable_id"> |
| <td><code>variable_id</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| </table> |
| |
| ### ImageArgs {#ImageArgs data-text="ImageArgs"} |
| *Defined in [fuchsia.ui.gfx/resources.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/resources.fidl;l=93)* |
| <p>An image mapped to a range of a <code>Memory</code> resource.</p> |
| <p><b>DEPRECATED </b></p> |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="ImageArgs.info"> |
| <td><code>info</code></td> |
| <td> |
| <code><a class='link' href='../fuchsia.images/'>fuchsia.images</a>/<a class='link' href='../fuchsia.images/#ImageInfo'>ImageInfo</a></code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| <tr id="ImageArgs.memory_id"> |
| <td><code>memory_id</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| <tr id="ImageArgs.memory_offset"> |
| <td><code>memory_offset</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| </table> |
| |
| ### ImageArgs2 {#ImageArgs2 data-text="ImageArgs2"} |
| *Defined in [fuchsia.ui.gfx/resources.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/resources.fidl;l=102)* |
| <p>An image mapped to a range of a <code>Memory</code> resource.</p> |
| <p><b>DEPRECATED </b></p> |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="ImageArgs2.width"> |
| <td><code>width</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| <tr id="ImageArgs2.height"> |
| <td><code>height</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| <tr id="ImageArgs2.buffer_collection_id"> |
| <td><code>buffer_collection_id</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td><p>The id of a <code>BufferCollection</code>. Before creating this resource, the |
| buffer collection should be registered on the same <code>Session</code> with |
| <code>RegisterBufferCollection</code> and it should have its contraints set. |
| Once the buffers are allocated successfully (e.g. after calling |
| <code>WaitForBuffersAllocated</code>), the collection's id can be used to create |
| the image resource.</p> |
| </td> |
| <td>No default</td> |
| </tr> |
| <tr id="ImageArgs2.buffer_collection_index"> |
| <td><code>buffer_collection_index</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td><p>The index of the VMO from the <code>BufferCollection</code> that backs this image.</p> |
| </td> |
| <td>No default</td> |
| </tr> |
| </table> |
| |
| ### ImageArgs3 [resource](/fuchsia-src/reference/fidl/language/language.md#value-vs-resource){:.fidl-attribute} {#ImageArgs3 data-text="ImageArgs3"} |
| *Defined in [fuchsia.ui.gfx/resources.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/resources.fidl;l=118)* |
| <p>An image that is backed by a <code>BufferCollection</code> registered with <code>Allocator</code>.</p> |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="ImageArgs3.width"> |
| <td><code>width</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| <tr id="ImageArgs3.height"> |
| <td><code>height</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| <tr id="ImageArgs3.import_token"> |
| <td><code>import_token</code></td> |
| <td> |
| <code><a class='link' href='../fuchsia.ui.composition/'>fuchsia.ui.composition</a>/<a class='link' href='../fuchsia.ui.composition/#BufferCollectionImportToken'>BufferCollectionImportToken</a></code> |
| </td> |
| <td><p>Image creation requires an allocated <code>BufferCollection</code> registered with Allocator. |
| <code>import_token</code> should be the other end of a BufferCollectionExportToken that is |
| successfully registered. All clients of the specified BufferCollection must have set |
| their constraints and buffers should be allocated before calling.</p> |
| </td> |
| <td>No default</td> |
| </tr> |
| <tr id="ImageArgs3.buffer_collection_index"> |
| <td><code>buffer_collection_index</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td><p>The index of the VMO from the <code>BufferCollection</code> that backs this image.</p> |
| </td> |
| <td>No default</td> |
| </tr> |
| </table> |
| |
| ### ImagePipe2Args [resource](/fuchsia-src/reference/fidl/language/language.md#value-vs-resource){:.fidl-attribute} {#ImagePipe2Args data-text="ImagePipe2Args"} |
| *Defined in [fuchsia.ui.gfx/resources.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/resources.fidl;l=71)* |
| <p><code>ImagePipe2</code> is a <code>Resource</code> that can be used as a <code>Texture</code> for a <code>Material</code>.</p> |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="ImagePipe2Args.image_pipe_request"> |
| <td><code>image_pipe_request</code></td> |
| <td> |
| <code>server_end<<a class='link' href='../fuchsia.images/'>fuchsia.images</a>/<a class='link' href='../fuchsia.images/#ImagePipe2'>ImagePipe2</a>></code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| </table> |
| |
| ### ImportResourceCmdDeprecated [resource](/fuchsia-src/reference/fidl/language/language.md#value-vs-resource){:.fidl-attribute} {#ImportResourceCmdDeprecated data-text="ImportResourceCmdDeprecated"} |
| *Defined in [fuchsia.ui.gfx/commands.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/commands.fidl;l=160)* |
| <p>Import a resource that was exported via ExportResourceCmd(). <code>token</code> is |
| a handle to the eventpair peer that was used to export the resource, and |
| <code>spec</code> describes the type of the imported resource, and the commands which |
| can legally be applied to it. Afterward, <code>id</code> can be used to refer to the |
| resource in an Command, similarly (but not identically: see below) to a |
| resource that was created in the session. For example, you can add children |
| to an imported EntityNode via AddChildCmd.</p> |
| <p>However, note that the importer does not gain full access to the imported |
| resource, but rather to an attenuated subset of its capabilities. For |
| example, you cannot use a DetachCmd to detach an imported EntityNode from |
| its parent.</p> |
| <p>Unlike ExportResourceCmd, there is no configurable timeout. There is an |
| expectation that the exported resource will become available in a short |
| amount of time. TODO: this needs elaboration... e.g. we might notify via the |
| SessionListener when we know that the link will never be made (e.g. if the |
| peer of the import token is destroyed).</p> |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="ImportResourceCmdDeprecated.id"> |
| <td><code>id</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| <tr id="ImportResourceCmdDeprecated.token"> |
| <td><code>token</code></td> |
| <td> |
| <code>handle<eventpair></code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| <tr id="ImportResourceCmdDeprecated.spec"> |
| <td><code>spec</code></td> |
| <td> |
| <code><a class='link' href='#ImportSpec'>ImportSpec</a></code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| </table> |
| |
| ### ImportToken [resource](/fuchsia-src/reference/fidl/language/language.md#value-vs-resource){:.fidl-attribute} {#ImportToken data-text="ImportToken"} |
| *Defined in [fuchsia.ui.gfx/tokens.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/tokens.fidl;l=19)* |
| <p>Token that uniquely identifies an attachment point for a subgraph in the |
| global scene graph. Each <code>ImportToken</code> has exactly one corresponding |
| <code>ExportToken</code>.</p> |
| <p>A Scenic client can reference contents from another client by creating a |
| typed resource using this token. The other client must also create a |
| correspondingly typed resource using the corresponding <code>ExportToken</code>.</p> |
| <p>The exact nature of the inter-client reference depends on the specific |
| resources created from the tokens. For example, creating a <code>ViewHolder</code> |
| resource from this token allows a client to embed another client's <code>View</code>.</p> |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="ImportToken.value"> |
| <td><code>value</code></td> |
| <td> |
| <code>handle<eventpair></code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| </table> |
| |
| ### ImportUnboundEvent {#ImportUnboundEvent data-text="ImportUnboundEvent"} |
| *Defined in [fuchsia.ui.gfx/events.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/events.fidl;l=65)* |
| <p>Delivered when the imported resource with the given ID is no longer bound to |
| its host resource, or if the imported resource can not be bound because |
| the host resource is not available.</p> |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="ImportUnboundEvent.resource_id"> |
| <td><code>resource_id</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| </table> |
| |
| ### LayerArgs {#LayerArgs data-text="LayerArgs"} |
| *Defined in [fuchsia.ui.gfx/resources.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/resources.fidl;l=240)* |
| <p>A Layer is a 2-dimensional image that is drawn by a Compositor. The |
| contents of each Layer in a Layerstack are independent of each other. |
| A layer is not drawn unless it has a camera, texture, or color.</p> |
| <p>Supported commands:</p> |
| <ul> |
| <li>Detach</li> |
| <li>SetCamera</li> |
| <li>SetColor</li> |
| <li>SetTexture</li> |
| <li>SetSize (depth must be zero)</li> |
| <li>SetSize</li> |
| <li>SetTranslation (z component determines the relative Z-ordering of layers)</li> |
| <li>SetRotation (must rotate around Z-axis)</li> |
| <li>SetScale</li> |
| </ul> |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="LayerArgs.dummy"> |
| <td><code>dummy</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td></td> |
| <td>0</td> |
| </tr> |
| </table> |
| |
| ### LayerStackArgs {#LayerStackArgs data-text="LayerStackArgs"} |
| *Defined in [fuchsia.ui.gfx/resources.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/resources.fidl;l=220)* |
| <p>A LayerStack is a stack of layers that are attached to a Compositor, which |
| draws them in order of increasing Z-order (or rather, presents the illusion |
| of drawing them in that order: it may apply any optimizations that don't |
| affect the output).</p> |
| <p>Supported commands:</p> |
| <ul> |
| <li>AddLayer</li> |
| </ul> |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="LayerStackArgs.dummy"> |
| <td><code>dummy</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td></td> |
| <td>0</td> |
| </tr> |
| </table> |
| |
| ### MaterialArgs {#MaterialArgs data-text="MaterialArgs"} |
| *Defined in [fuchsia.ui.gfx/resources.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/resources.fidl;l=340)* |
| <p>Simple texture-mapped material.</p> |
| <p>Supported commands:</p> |
| <ul> |
| <li>SetTextureCmd: sets the texture, or it can be left as zero (no texture). |
| The texture can be an Image or ImagePipe2.</li> |
| <li>SetColorCmd: sets the color.</li> |
| </ul> |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="MaterialArgs.dummy"> |
| <td><code>dummy</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td></td> |
| <td>0</td> |
| </tr> |
| </table> |
| |
| ### Matrix4Value {#Matrix4Value data-text="Matrix4Value"} |
| *Defined in [fuchsia.ui.gfx/types.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/types.fidl;l=123)* |
| <p>A value that is specified explicitly by <code>value</code> if <code>variable_id</code> is zero, |
| or is the value produced by the resource identified by <code>variable_id</code>, e.g. |
| an animation or expression. In the latter case, the value produced by the |
| resource must be a vec4, and <code>value</code> is ignored.</p> |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="Matrix4Value.value"> |
| <td><code>value</code></td> |
| <td> |
| <code><a class='link' href='#mat4'>mat4</a></code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| <tr id="Matrix4Value.variable_id"> |
| <td><code>variable_id</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| </table> |
| |
| ### MemoryArgs [resource](/fuchsia-src/reference/fidl/language/language.md#value-vs-resource){:.fidl-attribute} {#MemoryArgs data-text="MemoryArgs"} |
| *Defined in [fuchsia.ui.gfx/resources.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/resources.fidl;l=78)* |
| <p><code>Memory</code> is a <code>Resource</code> that wraps a client-provided Zircon vmo to register |
| it with Scenic.</p> |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="MemoryArgs.vmo"> |
| <td><code>vmo</code></td> |
| <td> |
| <code>handle<vmo></code> |
| </td> |
| <td><p>The VMO which backs this memory.</p> |
| </td> |
| <td>No default</td> |
| </tr> |
| <tr id="MemoryArgs.allocation_size"> |
| <td><code>allocation_size</code></td> |
| <td> |
| <code>uint64</code> |
| </td> |
| <td><p>The amount of memory from <code>vmo</code> that should be utilized.</p> |
| </td> |
| <td>No default</td> |
| </tr> |
| <tr id="MemoryArgs.memory_type"> |
| <td><code>memory_type</code></td> |
| <td> |
| <code><a class='link' href='../fuchsia.images/'>fuchsia.images</a>/<a class='link' href='../fuchsia.images/#MemoryType'>MemoryType</a></code> |
| </td> |
| <td><p>The type of memory stored in the VMO, namely whether it's GPU memory or |
| host memory.</p> |
| </td> |
| <td>No default</td> |
| </tr> |
| </table> |
| |
| ### MeshArgs {#MeshArgs data-text="MeshArgs"} |
| *Defined in [fuchsia.ui.gfx/shapes.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/shapes.fidl;l=37)* |
| <p>A Mesh cannot be rendered until it has been bound to vertex/index buffers; |
| see BindMeshBuffersCmd.</p> |
| |
| <EMPTY> |
| |
| ### MeshVertexFormat {#MeshVertexFormat data-text="MeshVertexFormat"} |
| *Defined in [fuchsia.ui.gfx/commands.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/commands.fidl;l=650)* |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="MeshVertexFormat.position_type"> |
| <td><code>position_type</code></td> |
| <td> |
| <code><a class='link' href='#ValueType'>ValueType</a></code> |
| </td> |
| <td><p>kVector2 or kVector3.</p> |
| </td> |
| <td>No default</td> |
| </tr> |
| <tr id="MeshVertexFormat.normal_type"> |
| <td><code>normal_type</code></td> |
| <td> |
| <code><a class='link' href='#ValueType'>ValueType</a></code> |
| </td> |
| <td><p>kVector2 or kVector3 (must match position_type), or kNone.</p> |
| </td> |
| <td>No default</td> |
| </tr> |
| <tr id="MeshVertexFormat.tex_coord_type"> |
| <td><code>tex_coord_type</code></td> |
| <td> |
| <code><a class='link' href='#ValueType'>ValueType</a></code> |
| </td> |
| <td><p>kVector2 or kNone.</p> |
| </td> |
| <td>No default</td> |
| </tr> |
| </table> |
| |
| ### Metrics {#Metrics data-text="Metrics"} |
| *Defined in [fuchsia.ui.gfx/types.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/types.fidl;l=179)* |
| <p>Rendering target metrics associated with a node. |
| See also <code>MetricsEvent</code>.</p> |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="Metrics.scale_x"> |
| <td><code>scale_x</code></td> |
| <td> |
| <code>float32</code> |
| </td> |
| <td><p>The ratio between the size of one logical pixel within the node's local |
| coordinate system and the size of one physical pixel of the rendering |
| target.</p> |
| <p>This scale factors change in relation to the resolution of the rendering |
| target and the scale transformations applied by containing nodes. |
| They are always strictly positive and non-zero.</p> |
| <p>For example, suppose the rendering target is a high resolution display |
| with a device pixel ratio of 2.0 meaning that each logical pixel |
| within the model corresponds to two physical pixels of the display. |
| Assuming no scale transformations affect the node, then its metrics event |
| will report a scale factor of 2.0.</p> |
| <p>Building on this example, if instead the node's parent applies a |
| scale transformation of 0.25 to the node, then the node's metrics event |
| will report a scale factor of 0.5 indicating that the node should render |
| its content at a reduced resolution and level of detail since a smaller |
| area of physical pixels (half the size in each dimension) will be rendered.</p> |
| </td> |
| <td>No default</td> |
| </tr> |
| <tr id="Metrics.scale_y"> |
| <td><code>scale_y</code></td> |
| <td> |
| <code>float32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| <tr id="Metrics.scale_z"> |
| <td><code>scale_z</code></td> |
| <td> |
| <code>float32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| </table> |
| |
| ### MetricsEvent {#MetricsEvent data-text="MetricsEvent"} |
| *Defined in [fuchsia.ui.gfx/events.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/events.fidl;l=41)* |
| <p>Provides rendering target metrics information about the specified node.</p> |
| <p>This event is delivered when the following conditions are true:</p> |
| <ul> |
| <li>The node is a descendant of a <code>Scene</code>.</li> |
| <li>The node has <code>kMetricsEventMask</code> set to an enabled state.</li> |
| <li>The node's metrics have changed since they were last delivered, or since |
| <code>kMetricsEventMask</code> transitioned from a disabled state to an enabled state.</li> |
| </ul> |
| <p>Subscribe to this event to receive information about the scale factors you |
| should apply when generating textures for your nodes.</p> |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="MetricsEvent.node_id"> |
| <td><code>node_id</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| <tr id="MetricsEvent.metrics"> |
| <td><code>metrics</code></td> |
| <td> |
| <code><a class='link' href='#Metrics'>Metrics</a></code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| </table> |
| |
| ### OpacityNodeArgsHACK {#OpacityNodeArgsHACK data-text="OpacityNodeArgsHACK"} |
| *Defined in [fuchsia.ui.gfx/nodes.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/nodes.fidl;l=53)* |
| <p>Characteristics:</p> |
| <ul> |
| <li>has_transform</li> |
| <li>has_parent</li> |
| <li>has_children</li> |
| <li>has_parts</li> |
| <li>has_opacity</li> |
| </ul> |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="OpacityNodeArgsHACK.unused"> |
| <td><code>unused</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td></td> |
| <td>0</td> |
| </tr> |
| </table> |
| |
| ### Plane3 {#Plane3 data-text="Plane3"} |
| *Defined in [fuchsia.ui.gfx/types.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/types.fidl;l=53)* |
| <p>Oriented plane described by a normal vector and a distance |
| from the origin along that vector.</p> |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="Plane3.dir"> |
| <td><code>dir</code></td> |
| <td> |
| <code><a class='link' href='#vec3'>vec3</a></code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| <tr id="Plane3.dist"> |
| <td><code>dist</code></td> |
| <td> |
| <code>float32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| </table> |
| |
| ### PointLightArgs {#PointLightArgs data-text="PointLightArgs"} |
| *Defined in [fuchsia.ui.gfx/resources.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/resources.fidl;l=328)* |
| <p>A PointLight is a Light that emits light in all directions. By default, the |
| intensity of the light falls off according to the physically based |
| "inverse-square law" (see Wikipedia), although it can be adjusted to other |
| values for artistic effect.</p> |
| <p>Supported commands:</p> |
| <ul> |
| <li>SetLightColor</li> |
| <li>SetPointLightPosition</li> |
| <li>SetPointLightFalloff</li> |
| </ul> |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="PointLightArgs.dummy"> |
| <td><code>dummy</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td></td> |
| <td>0</td> |
| </tr> |
| </table> |
| |
| ### Quaternion {#Quaternion data-text="Quaternion"} |
| *Defined in [fuchsia.ui.gfx/types.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/types.fidl;l=44)* |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="Quaternion.x"> |
| <td><code>x</code></td> |
| <td> |
| <code>float32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| <tr id="Quaternion.y"> |
| <td><code>y</code></td> |
| <td> |
| <code>float32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| <tr id="Quaternion.z"> |
| <td><code>z</code></td> |
| <td> |
| <code>float32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| <tr id="Quaternion.w"> |
| <td><code>w</code></td> |
| <td> |
| <code>float32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| </table> |
| |
| ### QuaternionValue {#QuaternionValue data-text="QuaternionValue"} |
| *Defined in [fuchsia.ui.gfx/types.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/types.fidl;l=150)* |
| <p>A value that is specified explicitly by <code>value</code> if <code>variable_id</code> is zero, |
| or is the value produced by the resource identified by <code>variable_id</code>, e.g. |
| an animation or expression. In the latter case, the value produced by the |
| resource must be a Quaternion, and <code>value</code> is ignored.</p> |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="QuaternionValue.value"> |
| <td><code>value</code></td> |
| <td> |
| <code><a class='link' href='#Quaternion'>Quaternion</a></code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| <tr id="QuaternionValue.variable_id"> |
| <td><code>variable_id</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| </table> |
| |
| ### RectangleArgs {#RectangleArgs data-text="RectangleArgs"} |
| *Defined in [fuchsia.ui.gfx/shapes.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/shapes.fidl;l=10)* |
| <p>Rectangle centered at (0,0).</p> |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="RectangleArgs.width"> |
| <td><code>width</code></td> |
| <td> |
| <code><a class='link' href='#Value'>Value</a></code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| <tr id="RectangleArgs.height"> |
| <td><code>height</code></td> |
| <td> |
| <code><a class='link' href='#Value'>Value</a></code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| </table> |
| |
| ### ReleaseResourceCmd {#ReleaseResourceCmd data-text="ReleaseResourceCmd"} |
| *Defined in [fuchsia.ui.gfx/commands.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/commands.fidl;l=120)* |
| <p>Releases the client's reference to the resource; it is then illegal to use |
| the ID in subsequent Commands. Other references to the resource may exist, |
| so releasing the resource does not result in its immediate destruction; it is |
| only destroyed once the last reference is released. For example, the |
| resource may be required to render an in-progress frame, or it may be |
| referred to by another resource). However, the ID will be immediately |
| unregistered, and may be reused to create a new resource.</p> |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="ReleaseResourceCmd.id"> |
| <td><code>id</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td><p>ID of the resource to be dereferenced.</p> |
| </td> |
| <td>No default</td> |
| </tr> |
| </table> |
| |
| ### RemoveAllLayersCmd {#RemoveAllLayersCmd data-text="RemoveAllLayersCmd"} |
| *Defined in [fuchsia.ui.gfx/commands.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/commands.fidl;l=696)* |
| <p>Remove all layers from a layer stack. |
| Constraints</p> |
| <ul> |
| <li><code>layer_stack_id</code> refs a <code>LayerStack</code>.</li> |
| </ul> |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="RemoveAllLayersCmd.layer_stack_id"> |
| <td><code>layer_stack_id</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| </table> |
| |
| ### RemoveLayerCmd {#RemoveLayerCmd data-text="RemoveLayerCmd"} |
| *Defined in [fuchsia.ui.gfx/commands.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/commands.fidl;l=688)* |
| <p>Remove a layer from a layer stack. |
| Constraints:</p> |
| <ul> |
| <li><code>layer_stack_id</code> refs a <code>LayerStack</code>.</li> |
| <li><code>layer_id</code> refs a <code>Layer</code>.</li> |
| <li>The layer must belong to this stack.</li> |
| </ul> |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="RemoveLayerCmd.layer_stack_id"> |
| <td><code>layer_stack_id</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| <tr id="RemoveLayerCmd.layer_id"> |
| <td><code>layer_id</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| </table> |
| |
| ### RendererArgs {#RendererArgs data-text="RendererArgs"} |
| *Defined in [fuchsia.ui.gfx/resources.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/resources.fidl;l=286)* |
| <p>A Renderer renders a Scene via a Camera.</p> |
| <p>Supported commands:</p> |
| <ul> |
| <li>SetCamera</li> |
| <li>SetRendererParam</li> |
| </ul> |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="RendererArgs.dummy"> |
| <td><code>dummy</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td></td> |
| <td>0</td> |
| </tr> |
| </table> |
| |
| ### RoundedRectangleArgs {#RoundedRectangleArgs data-text="RoundedRectangleArgs"} |
| *Defined in [fuchsia.ui.gfx/shapes.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/shapes.fidl;l=22)* |
| <p>RoundedRectangle centered at (0,0). Legal parameter values must satisfy the |
| constraint that the flat sides of the rectangle have non-negative length. |
| In other words, the following constraints must hold:</p> |
| <ul> |
| <li>top_left_radius + top_right_radius <= width</li> |
| <li>bottom_left_radius + bottom_right_radius <= width</li> |
| <li>top_left_radius + bottom_left_radius <= height</li> |
| <li>top_right_radius + bottom_right_radius <= height</li> |
| </ul> |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="RoundedRectangleArgs.width"> |
| <td><code>width</code></td> |
| <td> |
| <code><a class='link' href='#Value'>Value</a></code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| <tr id="RoundedRectangleArgs.height"> |
| <td><code>height</code></td> |
| <td> |
| <code><a class='link' href='#Value'>Value</a></code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| <tr id="RoundedRectangleArgs.top_left_radius"> |
| <td><code>top_left_radius</code></td> |
| <td> |
| <code><a class='link' href='#Value'>Value</a></code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| <tr id="RoundedRectangleArgs.top_right_radius"> |
| <td><code>top_right_radius</code></td> |
| <td> |
| <code><a class='link' href='#Value'>Value</a></code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| <tr id="RoundedRectangleArgs.bottom_right_radius"> |
| <td><code>bottom_right_radius</code></td> |
| <td> |
| <code><a class='link' href='#Value'>Value</a></code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| <tr id="RoundedRectangleArgs.bottom_left_radius"> |
| <td><code>bottom_left_radius</code></td> |
| <td> |
| <code><a class='link' href='#Value'>Value</a></code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| </table> |
| |
| ### SceneAddAmbientLightCmd {#SceneAddAmbientLightCmd data-text="SceneAddAmbientLightCmd"} |
| *Defined in [fuchsia.ui.gfx/commands.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/commands.fidl;l=808)* |
| <p>Adds the light specified by <code>light_id</code> specified by <code>light_id</code> to the scene |
| identified by <code>scene_id</code>.</p> |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="SceneAddAmbientLightCmd.scene_id"> |
| <td><code>scene_id</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| <tr id="SceneAddAmbientLightCmd.light_id"> |
| <td><code>light_id</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| </table> |
| |
| ### SceneAddDirectionalLightCmd {#SceneAddDirectionalLightCmd data-text="SceneAddDirectionalLightCmd"} |
| *Defined in [fuchsia.ui.gfx/commands.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/commands.fidl;l=815)* |
| <p>Adds the light specified by <code>light_id</code> specified by <code>light_id</code> to the scene |
| identified by <code>scene_id</code>.</p> |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="SceneAddDirectionalLightCmd.scene_id"> |
| <td><code>scene_id</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| <tr id="SceneAddDirectionalLightCmd.light_id"> |
| <td><code>light_id</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| </table> |
| |
| ### SceneAddPointLightCmd {#SceneAddPointLightCmd data-text="SceneAddPointLightCmd"} |
| *Defined in [fuchsia.ui.gfx/commands.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/commands.fidl;l=822)* |
| <p>Adds the light specified by <code>light_id</code> specified by <code>light_id</code> to the scene |
| identified by <code>scene_id</code>.</p> |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="SceneAddPointLightCmd.scene_id"> |
| <td><code>scene_id</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| <tr id="SceneAddPointLightCmd.light_id"> |
| <td><code>light_id</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| </table> |
| |
| ### SceneArgs {#SceneArgs data-text="SceneArgs"} |
| *Defined in [fuchsia.ui.gfx/resources.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/resources.fidl;l=252)* |
| <p>A Scene is the root of a scene-graph, and defines the rendering environment |
| (lighting, etc.) for the tree of nodes beneath it.</p> |
| <p>Supported commands:</p> |
| <ul> |
| <li>Add/RemoveLight</li> |
| <li>AddChild</li> |
| </ul> |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="SceneArgs.dummy"> |
| <td><code>dummy</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td></td> |
| <td>0</td> |
| </tr> |
| </table> |
| |
| ### SendSizeChangeHintCmdHACK {#SendSizeChangeHintCmdHACK data-text="SendSizeChangeHintCmdHACK"} |
| *Defined in [fuchsia.ui.gfx/commands.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/commands.fidl;l=268)* |
| <p>Sends a hint about a pending size change to the given node and all nodes |
| below. This is generally sent before an animation.</p> |
| <p><code>width_change_factor</code> and <code>height_change_factor</code> is how much bigger or smaller |
| the item is expected to be in the near future. This one number encapsulate |
| both changes in scale, as well as changes to layout width and height.</p> |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="SendSizeChangeHintCmdHACK.node_id"> |
| <td><code>node_id</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| <tr id="SendSizeChangeHintCmdHACK.width_change_factor"> |
| <td><code>width_change_factor</code></td> |
| <td> |
| <code>float32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| <tr id="SendSizeChangeHintCmdHACK.height_change_factor"> |
| <td><code>height_change_factor</code></td> |
| <td> |
| <code>float32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| </table> |
| |
| ### SetAnchorCmd {#SetAnchorCmd data-text="SetAnchorCmd"} |
| *Defined in [fuchsia.ui.gfx/commands.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/commands.fidl;l=236)* |
| <p>Sets a Resource's (typically a Node's) anchor point.</p> |
| <p>Constraints:</p> |
| <ul> |
| <li><code>id</code> refs a Resource with the has_transform characteristic.</li> |
| </ul> |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="SetAnchorCmd.id"> |
| <td><code>id</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| <tr id="SetAnchorCmd.value"> |
| <td><code>value</code></td> |
| <td> |
| <code><a class='link' href='#Vector3Value'>Vector3Value</a></code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| </table> |
| |
| ### SetCameraClipSpaceTransformCmd {#SetCameraClipSpaceTransformCmd data-text="SetCameraClipSpaceTransformCmd"} |
| *Defined in [fuchsia.ui.gfx/commands.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/commands.fidl;l=480)* |
| <p>Sets a camera's 2D clip-space transform.</p> |
| <p>Constraints:</p> |
| <ul> |
| <li><code>camera_id</code> refs a <code>Camera</code>.</li> |
| <li><code>translation</code> is the desired translation, in Vulkan NDC.</li> |
| <li><code>scale</code> is the scale factor to apply on the x/y plane before translation.</li> |
| </ul> |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="SetCameraClipSpaceTransformCmd.camera_id"> |
| <td><code>camera_id</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| <tr id="SetCameraClipSpaceTransformCmd.translation"> |
| <td><code>translation</code></td> |
| <td> |
| <code><a class='link' href='#vec2'>vec2</a></code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| <tr id="SetCameraClipSpaceTransformCmd.scale"> |
| <td><code>scale</code></td> |
| <td> |
| <code>float32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| </table> |
| |
| ### SetCameraCmd {#SetCameraCmd data-text="SetCameraCmd"} |
| *Defined in [fuchsia.ui.gfx/commands.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/commands.fidl;l=424)* |
| <p>Sets a renderer's camera.</p> |
| <p>Constraints:</p> |
| <ul> |
| <li><code>renderer_id</code> refs a <code>Renderer</code>.</li> |
| <li><code>camera_id</code> refs a <code>Camera</code>, or stops rendering by passing zero.</li> |
| <li><code>matrix</code> is a value or variable of type kMatrix4x4.</li> |
| </ul> |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="SetCameraCmd.renderer_id"> |
| <td><code>renderer_id</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| <tr id="SetCameraCmd.camera_id"> |
| <td><code>camera_id</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| </table> |
| |
| ### SetCameraPoseBufferCmd {#SetCameraPoseBufferCmd data-text="SetCameraPoseBufferCmd"} |
| *Defined in [fuchsia.ui.gfx/commands.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/commands.fidl;l=558)* |
| <p>Sets the "pose buffer" for the camera identified by <code>camera_id</code>. |
| This operation can be applied to both Cameras and StereoCameras.</p> |
| <p>This will override any position and rotation set for the camera and will |
| make it take its position and rotation from the pose buffer each frame |
| based on the presentation time for that frame.</p> |
| <p>A pose buffer represents a ring buffer of poses for a fixed number of time |
| points in the future. Each entry in the buffer identified by <code>buffer_id</code> is |
| a quaternion and a position layed out as follows:</p> |
| <p>struct Pose { |
| // Quaternion |
| float32 a; |
| float32 b; |
| float32 c; |
| float32 d;</p> |
| <p>// Position |
| float32 x; |
| float32 y; |
| float32 z;</p> |
| <p>// Reserved/Padding |
| byte[4] reserved; |
| }</p> |
| <p>The buffer can be thought of as a packed array of <code>num_entries</code> Pose structs |
| and is required to be at least num_entries * sizeof(Pose) bytes.</p> |
| <p>The quaternions and positions are specified in the space of the camera's |
| parent node.</p> |
| <p><code>base_time</code> is a base time point expressed in nanoseconds in the |
| <code>CLOCK_MONOTONIC</code> timebase and <code>time_interval</code> is the time in nanoseconds |
| between entries in the buffer. <code>base_time</code> must be in the past.</p> |
| <p>For a given point in time <code>t</code> expressed in nanoseconds in the |
| <code>CLOCK_MONOTONIC</code> timebase the index of the corresponding pose in |
| the pose buffer can be computed as follows:</p> |
| <p>index(t) = ((t - base_time) / time_interval) % num_entries</p> |
| <p>poses[index(t)] is valid for t over the time interval (t - time_interval, t] |
| and should be expected to updated continuously without synchronization |
| for the duration of that interval. If a single pose value is needed for |
| multiple non-atomic operations a value should be latched and stored outside |
| the pose buffer.</p> |
| <p>Because the poses are not protected by any synchronization primitives it is |
| possible that when a pose is latched it will be only partially updated, and |
| the pose being read will contain some components from the pose before it is |
| updated and some components from the updated pose. The safety of using these |
| "torn" poses relies on two things:</p> |
| <ol> |
| <li> |
| <p>Sequential poses written to poses[index(t)] are very similar to each |
| other numerically, so that if some components are taken from the first and |
| some are taken from another the result is numerically similar to both</p> |
| </li> |
| <li> |
| <p>The space of positions and quaternions is locally flat at the scale of |
| changes between sequential updates, which guarantees that two poses which |
| are numerically similar also represent semantically similar poses (i.e. |
| there are no discontinuities which will cause a small numerical change in |
| the position or quaterninon to cause a large change in the encoded pose) |
| For positions this is guaranteed because Scenic uses a Euclidean 3-space |
| which is globally flat and for quaternions this is guaranteed because |
| quaternions encode rotation as points on a unit 4-sphere, and spheres are |
| locally flat. For more details on the encoding of rotations in quaterions |
| see https://en.wikipedia.org/wiki/Quaternions_and_spatial_rotation</p> |
| </li> |
| </ol> |
| <p>This commanderation is intended for late latching camera pose to support |
| low-latency motion-tracked rendering.</p> |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="SetCameraPoseBufferCmd.camera_id"> |
| <td><code>camera_id</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| <tr id="SetCameraPoseBufferCmd.buffer_id"> |
| <td><code>buffer_id</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| <tr id="SetCameraPoseBufferCmd.num_entries"> |
| <td><code>num_entries</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| <tr id="SetCameraPoseBufferCmd.base_time"> |
| <td><code>base_time</code></td> |
| <td> |
| <code>int64</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| <tr id="SetCameraPoseBufferCmd.time_interval"> |
| <td><code>time_interval</code></td> |
| <td> |
| <code>uint64</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| </table> |
| |
| ### SetCameraProjectionCmd {#SetCameraProjectionCmd data-text="SetCameraProjectionCmd"} |
| *Defined in [fuchsia.ui.gfx/commands.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/commands.fidl;l=453)* |
| <p>Sets a camera's projection matrix. |
| This operation cannot be applied to a StereoCamera.</p> |
| <p>Constraints:</p> |
| <ul> |
| <li><code>camera_id</code> refs a <code>Camera</code> that is not a <code>StereoCamera</code>.</li> |
| <li><code>fovy</code> is the Y-axis field of view, in radians.</li> |
| </ul> |
| <p>NOTE: A default orthographic projection is specified by setting <code>fovy</code> to |
| zero. In this case, the camera transform is ignored.</p> |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="SetCameraProjectionCmd.camera_id"> |
| <td><code>camera_id</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| <tr id="SetCameraProjectionCmd.fovy"> |
| <td><code>fovy</code></td> |
| <td> |
| <code><a class='link' href='#FloatValue'>FloatValue</a></code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| </table> |
| |
| ### SetCameraTransformCmd {#SetCameraTransformCmd data-text="SetCameraTransformCmd"} |
| *Defined in [fuchsia.ui.gfx/commands.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/commands.fidl;l=437)* |
| <p>Sets a camera's view matrix. |
| This operation can be applied to both Cameras and StereoCameras.</p> |
| <p>Constraints:</p> |
| <ul> |
| <li><code>camera_id</code> refs a <code>Camera</code>.</li> |
| <li><code>eye_position</code> is the position of the eye.</li> |
| <li><code>eye_look_at</code> is the point is the scene the that eye is pointed at.</li> |
| <li><code>eye_up</code> defines the camera's "up" vector.</li> |
| </ul> |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="SetCameraTransformCmd.camera_id"> |
| <td><code>camera_id</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| <tr id="SetCameraTransformCmd.eye_position"> |
| <td><code>eye_position</code></td> |
| <td> |
| <code><a class='link' href='#Vector3Value'>Vector3Value</a></code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| <tr id="SetCameraTransformCmd.eye_look_at"> |
| <td><code>eye_look_at</code></td> |
| <td> |
| <code><a class='link' href='#Vector3Value'>Vector3Value</a></code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| <tr id="SetCameraTransformCmd.eye_up"> |
| <td><code>eye_up</code></td> |
| <td> |
| <code><a class='link' href='#Vector3Value'>Vector3Value</a></code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| </table> |
| |
| ### SetClipCmd {#SetClipCmd data-text="SetClipCmd"} |
| *Defined in [fuchsia.ui.gfx/commands.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/commands.fidl;l=371)* |
| <p>Sets/clears a node's clip. DEPRECATED: use SetClipPlanesCmd.</p> |
| <p>Constraints:</p> |
| <ul> |
| <li><code>node_id</code> refs a <code>Node</code> with the has_clip characteristic.</li> |
| <li><code>clip_id</code> a <code>Node</code> with the is_clip characteristic, or nothing. If the |
| referenced node is not rooted, then it will have no effect (since its |
| full world-transform cannot be determined).</li> |
| <li><code>clip_to_self</code> If false, children are only clipped to the region specified |
| by <code>clip_id</code>. If true, children are additionally clipped to the node's |
| shape (as determined by its ShapeNode parts).</li> |
| </ul> |
| <p>Discussion: |
| If a node has a clip, it will be applied to both the parts and the children |
| of the node. Under some circumstances (TBD), a clip will not be applicable |
| to a node; in such cases it will be as though no clip has been specified for |
| the node.</p> |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="SetClipCmd.node_id"> |
| <td><code>node_id</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| <tr id="SetClipCmd.clip_id"> |
| <td><code>clip_id</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| <tr id="SetClipCmd.clip_to_self"> |
| <td><code>clip_to_self</code></td> |
| <td> |
| <code>bool</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| </table> |
| |
| ### SetClipPlanesCmd {#SetClipPlanesCmd data-text="SetClipPlanesCmd"} |
| *Defined in [fuchsia.ui.gfx/commands.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/commands.fidl;l=781)* |
| <p>Sets the list of clip planes that apply to a Node and all of its children. Replaces |
| the list set by any previous SetClipPlanesCmd.</p> |
| <ul> |
| <li><code>node_id</code> refs a <code>Node</code> with the has_clip characteristic.</li> |
| <li><code>clip_planes</code> is the new list of oriented clip planes.</li> |
| </ul> |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="SetClipPlanesCmd.node_id"> |
| <td><code>node_id</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| <tr id="SetClipPlanesCmd.clip_planes"> |
| <td><code>clip_planes</code></td> |
| <td> |
| <code>vector<<a class='link' href='#Plane3'>Plane3</a>></code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| </table> |
| |
| ### SetColorCmd {#SetColorCmd data-text="SetColorCmd"} |
| *Defined in [fuchsia.ui.gfx/commands.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/commands.fidl;l=618)* |
| <p>Sets a material's color.</p> |
| <p>Constraints:</p> |
| <ul> |
| <li><code>material_id</code> refs a <code>Material</code>.</li> |
| </ul> |
| <p>If a texture is set on the material, then the value sampled from the texture |
| is multiplied by the color.</p> |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="SetColorCmd.material_id"> |
| <td><code>material_id</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| <tr id="SetColorCmd.color"> |
| <td><code>color</code></td> |
| <td> |
| <code><a class='link' href='#ColorRgbaValue'>ColorRgbaValue</a></code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| </table> |
| |
| ### SetDisableClippingCmd {#SetDisableClippingCmd data-text="SetDisableClippingCmd"} |
| *Defined in [fuchsia.ui.gfx/commands.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/commands.fidl;l=768)* |
| <p>Set whether clipping should be disabled for the specified renderer. For a |
| newly-created renderer, clipping will NOT be disabled (i.e. it will be |
| enabled).</p> |
| <p>NOTE: this disables visual clipping only; objects are still clipped for the |
| purposes of hit-testing.</p> |
| <p><code>renderer_id</code> refs the target renderer. |
| <code>disable_clipping</code> specifies whether the clipping should be disabled.</p> |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="SetDisableClippingCmd.renderer_id"> |
| <td><code>renderer_id</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| <tr id="SetDisableClippingCmd.disable_clipping"> |
| <td><code>disable_clipping</code></td> |
| <td> |
| <code>bool</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| </table> |
| |
| ### SetDisplayColorConversionCmdHACK {#SetDisplayColorConversionCmdHACK data-text="SetDisplayColorConversionCmdHACK"} |
| *Defined in [fuchsia.ui.gfx/commands.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/commands.fidl;l=841)* |
| <p>Set the color conversion applied to the compositor's display. |
| The conversion is applied to to each pixel according to the formula:</p> |
| <p>(matrix * (pixel + preoffsets)) + postoffsets</p> |
| <p>where pixel is a column vector consisting of the pixel's 3 components.</p> |
| <p><code>matrix</code> is passed in row-major order. Clients will be responsible |
| for passing default values, when needed. |
| Default values are not currently supported in fidl. |
| Default Values: |
| preoffsets = [0 0 0] |
| matrix = [1 0 0 0 1 0 0 0 1] |
| postoffsets = [0 0 0]</p> |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="SetDisplayColorConversionCmdHACK.compositor_id"> |
| <td><code>compositor_id</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| <tr id="SetDisplayColorConversionCmdHACK.preoffsets"> |
| <td><code>preoffsets</code></td> |
| <td> |
| <code>float32[3]</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| <tr id="SetDisplayColorConversionCmdHACK.matrix"> |
| <td><code>matrix</code></td> |
| <td> |
| <code>float32[9]</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| <tr id="SetDisplayColorConversionCmdHACK.postoffsets"> |
| <td><code>postoffsets</code></td> |
| <td> |
| <code>float32[3]</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| </table> |
| |
| ### SetDisplayMinimumRgbCmdHACK {#SetDisplayMinimumRgbCmdHACK data-text="SetDisplayMinimumRgbCmdHACK"} |
| *Defined in [fuchsia.ui.gfx/commands.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/commands.fidl;l=881)* |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="SetDisplayMinimumRgbCmdHACK.min_value"> |
| <td><code>min_value</code></td> |
| <td> |
| <code>uint8</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| </table> |
| |
| ### SetDisplayRotationCmdHACK {#SetDisplayRotationCmdHACK data-text="SetDisplayRotationCmdHACK"} |
| *Defined in [fuchsia.ui.gfx/commands.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/commands.fidl;l=859)* |
| <p>Depending on the device, the display might be rotated |
| with respect to what the lower level device controller |
| considers the physical orientation of pixels. The |
| compositors and layers must be in alignment with the |
| underlying physical orientation which means that for |
| certain operations like screenshotting, they cannot |
| provide results with the accurate orientation unless |
| they have information about how the higher-level display |
| is orienting the screen. The only legal values for the |
| rotation are 0, 90, 180, and 270, which are each |
| applied counterclockwise.</p> |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="SetDisplayRotationCmdHACK.compositor_id"> |
| <td><code>compositor_id</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| <tr id="SetDisplayRotationCmdHACK.rotation_degrees"> |
| <td><code>rotation_degrees</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| </table> |
| |
| ### SetEnableDebugViewBoundsCmd {#SetEnableDebugViewBoundsCmd data-text="SetEnableDebugViewBoundsCmd"} |
| *Defined in [fuchsia.ui.gfx/commands.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/commands.fidl;l=867)* |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="SetEnableDebugViewBoundsCmd.view_id"> |
| <td><code>view_id</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| <tr id="SetEnableDebugViewBoundsCmd.enable"> |
| <td><code>enable</code></td> |
| <td> |
| <code>bool</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| </table> |
| |
| ### SetEventMaskCmd {#SetEventMaskCmd data-text="SetEventMaskCmd"} |
| *Defined in [fuchsia.ui.gfx/commands.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/commands.fidl;l=736)* |
| <p>Sets which events a resource should deliver to the session listener. |
| This command replaces any prior event mask for the resource.</p> |
| <p>The initial event mask for a resource is zero, meaning no events are |
| reported.</p> |
| <p>Constraints:</p> |
| <ul> |
| <li><code>resource_id</code> is a valid resource id</li> |
| <li><code>event_mask</code> is zero or a combination of <code>k*EventMask</code> bits OR'ed together.</li> |
| </ul> |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="SetEventMaskCmd.id"> |
| <td><code>id</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| <tr id="SetEventMaskCmd.event_mask"> |
| <td><code>event_mask</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| </table> |
| |
| ### SetHitTestBehaviorCmd {#SetHitTestBehaviorCmd data-text="SetHitTestBehaviorCmd"} |
| *Defined in [fuchsia.ui.gfx/commands.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/commands.fidl;l=382)* |
| <p>Sets a node's hit test behavior.</p> |
| <p>Discussion: |
| By default, hit testing is performed on the node's content, its parts, |
| and its children.</p> |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="SetHitTestBehaviorCmd.node_id"> |
| <td><code>node_id</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| <tr id="SetHitTestBehaviorCmd.hit_test_behavior"> |
| <td><code>hit_test_behavior</code></td> |
| <td> |
| <code><a class='link' href='#HitTestBehavior'>HitTestBehavior</a></code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| </table> |
| |
| ### SetImportFocusCmdDEPRECATED {#SetImportFocusCmdDEPRECATED data-text="SetImportFocusCmdDEPRECATED"} |
| *Defined in [fuchsia.ui.gfx/commands.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/commands.fidl;l=774)* |
| |
| <EMPTY> |
| |
| ### SetLabelCmd {#SetLabelCmd data-text="SetLabelCmd"} |
| *Defined in [fuchsia.ui.gfx/commands.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/commands.fidl;l=754)* |
| <p>Sets/clears a label to help developers identify the purpose of the resource |
| when using diagnostic tools.</p> |
| <p>The label serves no functional purpose in the scene graph. It exists only |
| to help developers understand its structure. The scene manager may truncate |
| or discard labels at will.</p> |
| <p>Constraints:</p> |
| <ul> |
| <li>The label's maximum length is <code>kLabelMaxLength</code> characters.</li> |
| <li>Setting the label to an empty string clears it.</li> |
| </ul> |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="SetLabelCmd.id"> |
| <td><code>id</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| <tr id="SetLabelCmd.label"> |
| <td><code>label</code></td> |
| <td> |
| <code>string</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| </table> |
| |
| ### SetLayerStackCmd {#SetLayerStackCmd data-text="SetLayerStackCmd"} |
| *Defined in [fuchsia.ui.gfx/commands.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/commands.fidl;l=704)* |
| <p>Set a compositor's layer stack, replacing the current stack (if any). |
| Constraints:</p> |
| <ul> |
| <li><code>compositor_id</code> refs a <code>DisplayCompositor</code>.</li> |
| <li><code>layer_stack_id</code> refs a <code>LayerStack</code>.</li> |
| </ul> |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="SetLayerStackCmd.compositor_id"> |
| <td><code>compositor_id</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| <tr id="SetLayerStackCmd.layer_stack_id"> |
| <td><code>layer_stack_id</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| </table> |
| |
| ### SetLightColorCmd {#SetLightColorCmd data-text="SetLightColorCmd"} |
| *Defined in [fuchsia.ui.gfx/commands.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/commands.fidl;l=567)* |
| <p>Sets the color of the Light identified by <code>light_id</code>.</p> |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="SetLightColorCmd.light_id"> |
| <td><code>light_id</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| <tr id="SetLightColorCmd.color"> |
| <td><code>color</code></td> |
| <td> |
| <code><a class='link' href='#ColorRgbValue'>ColorRgbValue</a></code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| </table> |
| |
| ### SetLightDirectionCmd {#SetLightDirectionCmd data-text="SetLightDirectionCmd"} |
| *Defined in [fuchsia.ui.gfx/commands.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/commands.fidl;l=573)* |
| <p>Sets the direction of the DirectionalLight identified by <code>light_id</code>.</p> |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="SetLightDirectionCmd.light_id"> |
| <td><code>light_id</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| <tr id="SetLightDirectionCmd.direction"> |
| <td><code>direction</code></td> |
| <td> |
| <code><a class='link' href='#Vector3Value'>Vector3Value</a></code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| </table> |
| |
| ### SetMaterialCmd {#SetMaterialCmd data-text="SetMaterialCmd"} |
| *Defined in [fuchsia.ui.gfx/commands.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/commands.fidl;l=346)* |
| <p>Sets/clears a node's material.</p> |
| <p>Constraints:</p> |
| <ul> |
| <li><code>node_id</code> refs a <code>Node</code> with the has_material characteristic.</li> |
| <li><code>material_id</code> refs a <code>Material</code>, or nothing.</li> |
| <li>if this command causes the target to have both a <code>Shape</code> and a <code>Material</code>, |
| then these must be compatible with each other (see README.md regarding |
| "Shape/Material Compatibility").</li> |
| </ul> |
| <p>Discussion: |
| In order to be painted, a node requires both a <code>Shape</code> and a <code>Material</code>. |
| Without a material, a node can still participate in hit-testing and clipping. |
| Without a shape, a node cannot do any of the above.</p> |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="SetMaterialCmd.node_id"> |
| <td><code>node_id</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| <tr id="SetMaterialCmd.material_id"> |
| <td><code>material_id</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| </table> |
| |
| ### SetOpacityCmd {#SetOpacityCmd data-text="SetOpacityCmd"} |
| *Defined in [fuchsia.ui.gfx/commands.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/commands.fidl;l=257)* |
| <p>Sets a node's opacity.</p> |
| <p>Constraints:</p> |
| <ul> |
| <li><code>node_id</code> refs a <code>Node</code> with the has_opacity characteristic.</li> |
| <li><code>opacity</code> is in the range [0, 1].</li> |
| </ul> |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="SetOpacityCmd.node_id"> |
| <td><code>node_id</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| <tr id="SetOpacityCmd.opacity"> |
| <td><code>opacity</code></td> |
| <td> |
| <code>float32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| </table> |
| |
| ### SetPointLightFalloffCmd {#SetPointLightFalloffCmd data-text="SetPointLightFalloffCmd"} |
| *Defined in [fuchsia.ui.gfx/commands.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/commands.fidl;l=801)* |
| <p>Sets the falloff factor of the PointLight identified by <code>light_id</code>. |
| A value of 1.0 corresponds to the physically-based "inverse-square law" |
| (see Wikipedia). Other values can be used for artistic effect, e.g. a |
| value of 0.0 means that the radiance of a surface is not dependant on |
| its distance from the light.</p> |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="SetPointLightFalloffCmd.light_id"> |
| <td><code>light_id</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| <tr id="SetPointLightFalloffCmd.falloff"> |
| <td><code>falloff</code></td> |
| <td> |
| <code><a class='link' href='#FloatValue'>FloatValue</a></code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| </table> |
| |
| ### SetPointLightPositionCmd {#SetPointLightPositionCmd data-text="SetPointLightPositionCmd"} |
| *Defined in [fuchsia.ui.gfx/commands.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/commands.fidl;l=787)* |
| <p>Sets the position of the PointLight identified by <code>light_id</code>.</p> |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="SetPointLightPositionCmd.light_id"> |
| <td><code>light_id</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| <tr id="SetPointLightPositionCmd.position"> |
| <td><code>position</code></td> |
| <td> |
| <code><a class='link' href='#Vector3Value'>Vector3Value</a></code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| </table> |
| |
| ### SetRendererCmd {#SetRendererCmd data-text="SetRendererCmd"} |
| *Defined in [fuchsia.ui.gfx/commands.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/commands.fidl;l=713)* |
| <p>Set a layer's renderer, replacing the current renderer (if any). |
| Constraints:</p> |
| <ul> |
| <li><code>layer_id</code> refs a <code>Layer</code>.</li> |
| <li><code>renderer_id</code> refs a <code>Renderer</code>.</li> |
| </ul> |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="SetRendererCmd.layer_id"> |
| <td><code>layer_id</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| <tr id="SetRendererCmd.renderer_id"> |
| <td><code>renderer_id</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| </table> |
| |
| ### SetRendererParamCmd {#SetRendererParamCmd data-text="SetRendererParamCmd"} |
| *Defined in [fuchsia.ui.gfx/commands.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/commands.fidl;l=722)* |
| <p>Sets a parameter that affects how a renderer renders a scene.</p> |
| <p><code>renderer_id</code> refs the Renderer that is being modified. |
| <code>param</code> describes the parameter that should be set, and to what.</p> |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="SetRendererParamCmd.renderer_id"> |
| <td><code>renderer_id</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| <tr id="SetRendererParamCmd.param"> |
| <td><code>param</code></td> |
| <td> |
| <code><a class='link' href='#RendererParam'>RendererParam</a></code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| </table> |
| |
| ### SetRotationCmd {#SetRotationCmd data-text="SetRotationCmd"} |
| *Defined in [fuchsia.ui.gfx/commands.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/commands.fidl;l=227)* |
| <p>Sets a Resource's (typically a Node's) rotation.</p> |
| <p>Constraints:</p> |
| <ul> |
| <li><code>id</code> refs a Resource with the has_transform characteristic.</li> |
| </ul> |
| <p>Discussion: |
| Quaternions represent any rotation in a 3D coordinate system. Consisting of |
| [a,b,c,d], [a] represents the amount of rotation that should be applied and |
| [b,c,d] represents the vector around which the rotation is applied. This |
| conforms to the semantics of glm::quat.</p> |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="SetRotationCmd.id"> |
| <td><code>id</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| <tr id="SetRotationCmd.value"> |
| <td><code>value</code></td> |
| <td> |
| <code><a class='link' href='#QuaternionValue'>QuaternionValue</a></code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| </table> |
| |
| ### SetScaleCmd {#SetScaleCmd data-text="SetScaleCmd"} |
| *Defined in [fuchsia.ui.gfx/commands.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/commands.fidl;l=212)* |
| <p>Sets a Resource's (typically a Node's) scale.</p> |
| <p>Constraints:</p> |
| <ul> |
| <li><code>id</code> refs a Resource with the has_transform characteristic.</li> |
| </ul> |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="SetScaleCmd.id"> |
| <td><code>id</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| <tr id="SetScaleCmd.value"> |
| <td><code>value</code></td> |
| <td> |
| <code><a class='link' href='#Vector3Value'>Vector3Value</a></code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| </table> |
| |
| ### SetSemanticVisibilityCmd {#SetSemanticVisibilityCmd data-text="SetSemanticVisibilityCmd"} |
| *Defined in [fuchsia.ui.gfx/commands.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/commands.fidl;l=392)* |
| <p>Sets a node's semantic visibility.</p> |
| <p>Discussion: |
| By default, all nodes are semantically visible. Semantically invisible nodes and their children |
| are ignored by hit tests performed for accessibility.</p> |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="SetSemanticVisibilityCmd.node_id"> |
| <td><code>node_id</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| <tr id="SetSemanticVisibilityCmd.visible"> |
| <td><code>visible</code></td> |
| <td> |
| <code>bool</code> |
| </td> |
| <td></td> |
| <td>true</td> |
| </tr> |
| </table> |
| |
| ### SetShapeCmd {#SetShapeCmd data-text="SetShapeCmd"} |
| *Defined in [fuchsia.ui.gfx/commands.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/commands.fidl;l=327)* |
| <p>Sets/clears a node's shape.</p> |
| <p>Constraints:</p> |
| <ul> |
| <li><code>node_id</code> refs a <code>Node</code> with the has_shape characteristic.</li> |
| <li><code>shape_id</code> refs a <code>Shape</code>, or nothing.</li> |
| <li>if this command causes the target to have both a <code>Shape</code> and a <code>Material</code>, |
| then these must be compatible with each other (see README.md regarding |
| "Shape/Material Compatibility").</li> |
| </ul> |
| <p>Discussion: |
| In order to be painted, a node requires both a <code>Shape</code> and a <code>Material</code>. |
| Without a material, a node can still participate in hit-testing and clipping. |
| Without a shape, a node cannot do any of the above.</p> |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="SetShapeCmd.node_id"> |
| <td><code>node_id</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| <tr id="SetShapeCmd.shape_id"> |
| <td><code>shape_id</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| </table> |
| |
| ### SetSizeCmd {#SetSizeCmd data-text="SetSizeCmd"} |
| *Defined in [fuchsia.ui.gfx/commands.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/commands.fidl;l=247)* |
| <p>Sets an object's size.</p> |
| <p>Constraints:</p> |
| <ul> |
| <li><code>id</code> refs a resizeable object.</li> |
| <li>some objects that support this command may have additional constraints |
| (e.g. in some cases <code>depth</code> must be zero).</li> |
| </ul> |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="SetSizeCmd.id"> |
| <td><code>id</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| <tr id="SetSizeCmd.value"> |
| <td><code>value</code></td> |
| <td> |
| <code><a class='link' href='#Vector2Value'>Vector2Value</a></code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| </table> |
| |
| ### SetStereoCameraProjectionCmd {#SetStereoCameraProjectionCmd data-text="SetStereoCameraProjectionCmd"} |
| *Defined in [fuchsia.ui.gfx/commands.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/commands.fidl;l=468)* |
| <p>Sets a StereoCamera's projection matrices. |
| This operation can only be applied to a StereoCamera.</p> |
| <p>Constraints:</p> |
| <ul> |
| <li><code>camera_id</code> refs a <code>StereoCamera</code>.</li> |
| <li><code>left_projection</code> is the projection matrix for the left eye.</li> |
| <li><code>right_projection</code> is the projection matrix for the right eye.</li> |
| </ul> |
| <p>These projection matrices may also contain a transform in camera space for |
| their eye if needed.</p> |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="SetStereoCameraProjectionCmd.camera_id"> |
| <td><code>camera_id</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| <tr id="SetStereoCameraProjectionCmd.left_projection"> |
| <td><code>left_projection</code></td> |
| <td> |
| <code><a class='link' href='#Matrix4Value'>Matrix4Value</a></code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| <tr id="SetStereoCameraProjectionCmd.right_projection"> |
| <td><code>right_projection</code></td> |
| <td> |
| <code><a class='link' href='#Matrix4Value'>Matrix4Value</a></code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| </table> |
| |
| ### SetTagCmd {#SetTagCmd data-text="SetTagCmd"} |
| *Defined in [fuchsia.ui.gfx/commands.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/commands.fidl;l=180)* |
| <p>Sets/clears a node's tag value.</p> |
| <p>A session can apply a tag value to any node to which it has access, including |
| imported nodes. These tags are private to the session and cannot be read |
| or modified by other sessions. When multiple sessions import the same node, |
| each session will only observe its own tag values.</p> |
| <p>Hit test results for a session only include nodes which the session has |
| tagged with a non-zero value. Therefore a session can use tag values to |
| associate nodes with their functional purpose when picked.</p> |
| <p>Constraints:</p> |
| <ul> |
| <li><code>node_id</code> refs a <code>Node</code>.</li> |
| <li><code>tag_value</code> is the tag value to assign, or 0 to remove the tag.</li> |
| </ul> |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="SetTagCmd.node_id"> |
| <td><code>node_id</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| <tr id="SetTagCmd.tag_value"> |
| <td><code>tag_value</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| </table> |
| |
| ### SetTextureCmd {#SetTextureCmd data-text="SetTextureCmd"} |
| *Defined in [fuchsia.ui.gfx/commands.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/commands.fidl;l=606)* |
| <p>Sets/clears a material's texture.</p> |
| <p>Constraints:</p> |
| <ul> |
| <li><code>material_id</code> refs a <code>Material</code>.</li> |
| <li><code>texture_id</code> refs a <code>Image</code>, <code>ImagePipe2</code>, or nothing.</li> |
| </ul> |
| <p>If no texture is provided (i.e. <code>texture_id</code> is zero), a solid color is used. |
| If a texture is provided, then the value sampled from the texture is |
| multiplied by the color.</p> |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="SetTextureCmd.material_id"> |
| <td><code>material_id</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| <tr id="SetTextureCmd.texture_id"> |
| <td><code>texture_id</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| </table> |
| |
| ### SetTranslationCmd {#SetTranslationCmd data-text="SetTranslationCmd"} |
| *Defined in [fuchsia.ui.gfx/commands.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/commands.fidl;l=203)* |
| <p>Sets a Resource's (typically a Node's) translation.</p> |
| <p>Constraints:</p> |
| <ul> |
| <li><code>id</code> refs a Resource with the has_transform characteristic.</li> |
| </ul> |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="SetTranslationCmd.id"> |
| <td><code>id</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| <tr id="SetTranslationCmd.value"> |
| <td><code>value</code></td> |
| <td> |
| <code><a class='link' href='#Vector3Value'>Vector3Value</a></code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| </table> |
| |
| ### SetViewHolderBoundsColorCmd {#SetViewHolderBoundsColorCmd data-text="SetViewHolderBoundsColorCmd"} |
| *Defined in [fuchsia.ui.gfx/commands.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/commands.fidl;l=874)* |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="SetViewHolderBoundsColorCmd.view_holder_id"> |
| <td><code>view_holder_id</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| <tr id="SetViewHolderBoundsColorCmd.color"> |
| <td><code>color</code></td> |
| <td> |
| <code><a class='link' href='#ColorRgbValue'>ColorRgbValue</a></code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| </table> |
| |
| ### SetViewPropertiesCmd {#SetViewPropertiesCmd data-text="SetViewPropertiesCmd"} |
| *Defined in [fuchsia.ui.gfx/commands.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/commands.fidl;l=402)* |
| <p>Sets the properties for a ViewHolder's attached View.</p> |
| <p>Constraints:</p> |
| <ul> |
| <li><code>view_holder_id</code> refs a <code>ViewHolder</code>.</li> |
| </ul> |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="SetViewPropertiesCmd.view_holder_id"> |
| <td><code>view_holder_id</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| <tr id="SetViewPropertiesCmd.properties"> |
| <td><code>properties</code></td> |
| <td> |
| <code><a class='link' href='#ViewProperties'>ViewProperties</a></code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| </table> |
| |
| ### ShapeNodeArgs {#ShapeNodeArgs data-text="ShapeNodeArgs"} |
| *Defined in [fuchsia.ui.gfx/nodes.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/nodes.fidl;l=31)* |
| <p>Characteristics:</p> |
| <ul> |
| <li>has_parent</li> |
| <li>has_shape</li> |
| <li>has_material</li> |
| </ul> |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="ShapeNodeArgs.unused"> |
| <td><code>unused</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td></td> |
| <td>0</td> |
| </tr> |
| </table> |
| |
| ### SizeChangeHintEvent {#SizeChangeHintEvent data-text="SizeChangeHintEvent"} |
| *Defined in [fuchsia.ui.gfx/events.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/events.fidl;l=56)* |
| <p>Delivered in response to a size change hint from a parent node |
| (SendSizeChangeHintCmd).</p> |
| <p>This event is delivered when the following conditions are true:</p> |
| <ul> |
| <li>The node has <code>kSizeChangeEventMask</code> set to an enabled state.</li> |
| <li>A parent node has sent a SendSizeChangeHintCmd.</li> |
| </ul> |
| <p>Subscribe to this event to receive information about how large textures you |
| will need in the near future for your nodes. The canonical use case is to |
| pre-allocate memory to avoid repeated re-allocations.</p> |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="SizeChangeHintEvent.node_id"> |
| <td><code>node_id</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| <tr id="SizeChangeHintEvent.width_change_factor"> |
| <td><code>width_change_factor</code></td> |
| <td> |
| <code>float32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| <tr id="SizeChangeHintEvent.height_change_factor"> |
| <td><code>height_change_factor</code></td> |
| <td> |
| <code>float32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| </table> |
| |
| ### StereoCameraArgs {#StereoCameraArgs data-text="StereoCameraArgs"} |
| *Defined in [fuchsia.ui.gfx/resources.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/resources.fidl;l=276)* |
| <p>A StereoCamera is a Camera that renders the scene in side-by-side stereo.</p> |
| <p>Any command which can be applied to a Camera can also be applied to a |
| StereoCamera. |
| Additional supported commands:</p> |
| <ul> |
| <li>SetStereoCameraProjection</li> |
| </ul> |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="StereoCameraArgs.scene_id"> |
| <td><code>scene_id</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td><p>The scene that the camera is viewing.</p> |
| </td> |
| <td>No default</td> |
| </tr> |
| </table> |
| |
| ### TakeSnapshotCmdDEPRECATED [resource](/fuchsia-src/reference/fidl/language/language.md#value-vs-resource){:.fidl-attribute} {#TakeSnapshotCmdDEPRECATED data-text="TakeSnapshotCmdDEPRECATED"} |
| *Defined in [fuchsia.ui.gfx/commands.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/commands.fidl;l=413)* |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="TakeSnapshotCmdDEPRECATED.node_id"> |
| <td><code>node_id</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| <tr id="TakeSnapshotCmdDEPRECATED.callback"> |
| <td><code>callback</code></td> |
| <td> |
| <code><a class='link' href='#SnapshotCallbackDEPRECATED'>SnapshotCallbackDEPRECATED</a></code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| </table> |
| |
| ### VariableArgs {#VariableArgs data-text="VariableArgs"} |
| *Defined in [fuchsia.ui.gfx/resources.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/resources.fidl;l=347)* |
| <p>Describes a typed, client-modifiable value.</p> |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="VariableArgs.type"> |
| <td><code>type</code></td> |
| <td> |
| <code><a class='link' href='#ValueType'>ValueType</a></code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| <tr id="VariableArgs.initial_value"> |
| <td><code>initial_value</code></td> |
| <td> |
| <code><a class='link' href='#Value'>Value</a></code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| </table> |
| |
| ### Vector2Value {#Vector2Value data-text="Vector2Value"} |
| *Defined in [fuchsia.ui.gfx/types.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/types.fidl;l=96)* |
| <p>A value that is specified explicitly by <code>value</code> if <code>variable_id</code> is zero, |
| or is the value produced by the resource identified by <code>variable_id</code>, e.g. |
| an animation or expression. In the latter case, the value produced by the |
| resource must be a vec2, and <code>value</code> is ignored.</p> |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="Vector2Value.value"> |
| <td><code>value</code></td> |
| <td> |
| <code><a class='link' href='#vec2'>vec2</a></code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| <tr id="Vector2Value.variable_id"> |
| <td><code>variable_id</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| </table> |
| |
| ### Vector3Value {#Vector3Value data-text="Vector3Value"} |
| *Defined in [fuchsia.ui.gfx/types.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/types.fidl;l=105)* |
| <p>A value that is specified explicitly by <code>value</code> if <code>variable_id</code> is zero, |
| or is the value produced by the resource identified by <code>variable_id</code>, e.g. |
| an animation or expression. In the latter case, the value produced by the |
| resource must be a vec3, and <code>value</code> is ignored.</p> |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="Vector3Value.value"> |
| <td><code>value</code></td> |
| <td> |
| <code><a class='link' href='#vec3'>vec3</a></code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| <tr id="Vector3Value.variable_id"> |
| <td><code>variable_id</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| </table> |
| |
| ### Vector4Value {#Vector4Value data-text="Vector4Value"} |
| *Defined in [fuchsia.ui.gfx/types.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/types.fidl;l=114)* |
| <p>A value that is specified explicitly by <code>value</code> if <code>variable_id</code> is zero, |
| or is the value produced by the resource identified by <code>variable_id</code>, e.g. |
| an animation or expression. In the latter case, the value produced by the |
| resource must be a vec4, and <code>value</code> is ignored.</p> |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="Vector4Value.value"> |
| <td><code>value</code></td> |
| <td> |
| <code><a class='link' href='#vec4'>vec4</a></code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| <tr id="Vector4Value.variable_id"> |
| <td><code>variable_id</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| </table> |
| |
| ### ViewArgs [resource](/fuchsia-src/reference/fidl/language/language.md#value-vs-resource){:.fidl-attribute} {#ViewArgs data-text="ViewArgs"} |
| *Defined in [fuchsia.ui.gfx/resources.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/resources.fidl;l=150)* |
| <p>Represents the root of a subgraph within a larger scene graph. Nodes can be |
| attached to the <code>View</code> as children, and these Nodes will have the <code>View</code>s' |
| coordinate transform applied to their own, in addition to being clipped to |
| the <code>View</code>s' bounding box. |
| See <code>ViewProperties</code>.</p> |
| <p>Each <code>View</code> is linked to a paired <code>ViewHolder</code> via a shared token pair.</p> |
| <p>Usually the <code>View</code> and its associated <code>ViewHolder</code> exist in separate |
| processes. By combining them, the UI for an entire system can be built |
| using content contributed from many different processes.</p> |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="ViewArgs.token"> |
| <td><code>token</code></td> |
| <td> |
| <code><a class='link' href='../fuchsia.ui.views/'>fuchsia.ui.views</a>/<a class='link' href='../fuchsia.ui.views/#ViewToken'>ViewToken</a></code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| <tr id="ViewArgs.debug_name"> |
| <td><code>debug_name</code></td> |
| <td> |
| <code>string?</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| </table> |
| |
| ### ViewArgs3 [resource](/fuchsia-src/reference/fidl/language/language.md#value-vs-resource){:.fidl-attribute} {#ViewArgs3 data-text="ViewArgs3"} |
| *Defined in [fuchsia.ui.gfx/resources.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/resources.fidl;l=172)* |
| <p>Represents the root of a subgraph within a larger scene graph. Nodes can be |
| attached to the <code>View</code> as children, and these Nodes will have the <code>View</code>s' |
| coordinate transform applied to their own, in addition to being clipped to |
| the <code>View</code>s' bounding box. |
| See <code>ViewProperties</code>.</p> |
| <p>Each <code>View</code> is linked to a paired <code>ViewHolder</code> via a shared token pair.</p> |
| <p>Usually the <code>View</code> and its associated <code>ViewHolder</code> exist in separate |
| processes. By combining them, the UI for an entire system can be built |
| using content contributed from many different processes.</p> |
| <p>Clients self-identify their <code>View</code> with a <code>ViewRef</code>, which is a stable |
| identifier that may be cloned and passed to other components in a |
| feed-forward style. It is accompanied by a <code>ViewRefControl</code>, which Scenic |
| uses to signal <code>View</code> destruction across the system; the <code>ViewRefControl</code> |
| must be unique - do not clone it.</p> |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="ViewArgs3.token"> |
| <td><code>token</code></td> |
| <td> |
| <code><a class='link' href='../fuchsia.ui.views/'>fuchsia.ui.views</a>/<a class='link' href='../fuchsia.ui.views/#ViewToken'>ViewToken</a></code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| <tr id="ViewArgs3.control_ref"> |
| <td><code>control_ref</code></td> |
| <td> |
| <code><a class='link' href='../fuchsia.ui.views/'>fuchsia.ui.views</a>/<a class='link' href='../fuchsia.ui.views/#ViewRefControl'>ViewRefControl</a></code> |
| </td> |
| <td><p><code>control_ref.reference</code> must have default eventpair rights (i.e., with |
| signaling), minus ZX_RIGHT_DUPLICATE.</p> |
| </td> |
| <td>No default</td> |
| </tr> |
| <tr id="ViewArgs3.view_ref"> |
| <td><code>view_ref</code></td> |
| <td> |
| <code><a class='link' href='../fuchsia.ui.views/'>fuchsia.ui.views</a>/<a class='link' href='../fuchsia.ui.views/#ViewRef'>ViewRef</a></code> |
| </td> |
| <td><p><code>view_ref.reference</code> must have basic rights (i.e., no signaling).</p> |
| </td> |
| <td>No default</td> |
| </tr> |
| <tr id="ViewArgs3.debug_name"> |
| <td><code>debug_name</code></td> |
| <td> |
| <code>string?</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| </table> |
| |
| ### ViewAttachedToSceneEvent {#ViewAttachedToSceneEvent data-text="ViewAttachedToSceneEvent"} |
| *Defined in [fuchsia.ui.gfx/events.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/events.fidl;l=106)* |
| <p>Delivered to a View's Session when the parent ViewHolder for the given View |
| becomes a part of a Scene.</p> |
| <p>A ViewHolder is considered to be part of a Scene if there is an unbroken |
| chain of parent-child relationships between the Scene node and the |
| ViewHolder node.</p> |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="ViewAttachedToSceneEvent.view_id"> |
| <td><code>view_id</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| <tr id="ViewAttachedToSceneEvent.properties"> |
| <td><code>properties</code></td> |
| <td> |
| <code><a class='link' href='#ViewProperties'>ViewProperties</a></code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| </table> |
| |
| ### ViewConnectedEvent {#ViewConnectedEvent data-text="ViewConnectedEvent"} |
| *Defined in [fuchsia.ui.gfx/events.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/events.fidl;l=70)* |
| <p>Delivered to a ViewHolder's Session when its peer View is connected.</p> |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="ViewConnectedEvent.view_holder_id"> |
| <td><code>view_holder_id</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| </table> |
| |
| ### ViewDetachedFromSceneEvent {#ViewDetachedFromSceneEvent data-text="ViewDetachedFromSceneEvent"} |
| *Defined in [fuchsia.ui.gfx/events.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/events.fidl;l=120)* |
| <p>Delivered to a View's Session when the parent ViewHolder for the given View |
| is no longer part of a scene.</p> |
| <p>This can happen if the ViewHolder is detached directly from the scene, or |
| if one of its parent nodes is.</p> |
| <p>A ViewHolder is considered to be part of a Scene if there is an unbroken |
| chain of parent-child relationships between the Scene node and the |
| ViewHolder node.</p> |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="ViewDetachedFromSceneEvent.view_id"> |
| <td><code>view_id</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| </table> |
| |
| ### ViewDisconnectedEvent {#ViewDisconnectedEvent data-text="ViewDisconnectedEvent"} |
| *Defined in [fuchsia.ui.gfx/events.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/events.fidl;l=79)* |
| <p>Delivered to a ViewHolder's Session when its peer View is disconnected or |
| destroyed.</p> |
| <p>If the View is destroyed before the connection is established, then this |
| event will be delivered immediately when the ViewHolder attempts to connect.</p> |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="ViewDisconnectedEvent.view_holder_id"> |
| <td><code>view_holder_id</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| </table> |
| |
| ### ViewHolderArgs [resource](/fuchsia-src/reference/fidl/language/language.md#value-vs-resource){:.fidl-attribute} {#ViewHolderArgs data-text="ViewHolderArgs"} |
| *Defined in [fuchsia.ui.gfx/resources.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/resources.fidl;l=191)* |
| <p>Represents an attachment point for a subgraph within a larger scene graph. |
| The <code>ViewHolder</code> can be attached to a Node as a child, and the contents of |
| the linked <code>View</code> will become a child of the Node as well.</p> |
| <p>Each <code>ViewHolder</code> is linked to a paired <code>View</code> via a shared token pair.</p> |
| <p>Usually the <code>ViewHolder</code> and its associated <code>View</code> exist in separate |
| processes. By combining them, the UI for an entire system can be built |
| using content contributed from many different processes.</p> |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="ViewHolderArgs.token"> |
| <td><code>token</code></td> |
| <td> |
| <code><a class='link' href='../fuchsia.ui.views/'>fuchsia.ui.views</a>/<a class='link' href='../fuchsia.ui.views/#ViewHolderToken'>ViewHolderToken</a></code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| <tr id="ViewHolderArgs.debug_name"> |
| <td><code>debug_name</code></td> |
| <td> |
| <code>string?</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| </table> |
| |
| ### ViewHolderConnectedEvent {#ViewHolderConnectedEvent data-text="ViewHolderConnectedEvent"} |
| *Defined in [fuchsia.ui.gfx/events.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/events.fidl;l=96)* |
| <p>Delivered to a View's Session when its peer ViewHolder is connected.</p> |
| <p>If the ViewHolder is destroyed before the connection is established, then |
| this event will not be delivered.</p> |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="ViewHolderConnectedEvent.view_id"> |
| <td><code>view_id</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| </table> |
| |
| ### ViewHolderDisconnectedEvent {#ViewHolderDisconnectedEvent data-text="ViewHolderDisconnectedEvent"} |
| *Defined in [fuchsia.ui.gfx/events.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/events.fidl;l=88)* |
| <p>Delivered to a View's Session when its peer ViewHolder is disconnected or |
| destroyed.</p> |
| <p>If the ViewHolder is destroyed before the connection is established, then |
| this event will be delivered immediately when the View attempts to connect.</p> |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="ViewHolderDisconnectedEvent.view_id"> |
| <td><code>view_id</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| </table> |
| |
| ### ViewProperties {#ViewProperties data-text="ViewProperties"} |
| *Defined in [fuchsia.ui.gfx/types.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/types.fidl;l=219)* |
| <p>Represents the properties for a View.</p> |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="ViewProperties.bounding_box"> |
| <td><code>bounding_box</code></td> |
| <td> |
| <code><a class='link' href='#BoundingBox'>BoundingBox</a></code> |
| </td> |
| <td><p>The View's bounding box extents can be defined as: |
| { bounding_box.min, bounding_box.max } |
| Content contained within the View is clipped to this bounding box.</p> |
| </td> |
| <td>No default</td> |
| </tr> |
| <tr id="ViewProperties.inset_from_min"> |
| <td><code>inset_from_min</code></td> |
| <td> |
| <code><a class='link' href='#vec3'>vec3</a></code> |
| </td> |
| <td><p><code>insets_from_min</code> and <code>insets_from_max</code> specify the distances between the |
| view's bounding box and that of its parent.</p> |
| <p>These properties are not strictly enforced by Scenic, but only used |
| as hints for clients and other components that receives ViewProperties:</p> |
| <p>View clients can assume that anything drawn outside of |
| { bounding_box.min + inset_from_min, bounding_box.max - inset_from_max } |
| may be obscured by an ancestor view. The reason for obscuring, and the rules |
| surrounding it, is specific to each product.</p> |
| </td> |
| <td>No default</td> |
| </tr> |
| <tr id="ViewProperties.inset_from_max"> |
| <td><code>inset_from_max</code></td> |
| <td> |
| <code><a class='link' href='#vec3'>vec3</a></code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| <tr id="ViewProperties.focus_change"> |
| <td><code>focus_change</code></td> |
| <td> |
| <code>bool</code> |
| </td> |
| <td><p>Whether the View can receive a focus event; default is true. When |
| false, and this View is eligible to receive a focus event, no |
| focus/unfocus event is actually sent to any View.</p> |
| </td> |
| <td>true</td> |
| </tr> |
| <tr id="ViewProperties.downward_input"> |
| <td><code>downward_input</code></td> |
| <td> |
| <code>bool</code> |
| </td> |
| <td><p>Whether the View allows geometrically underlying Views to receive input; |
| default is true. When false, Scenic does not send input events to |
| underlying Views.</p> |
| </td> |
| <td>true</td> |
| </tr> |
| </table> |
| |
| ### ViewPropertiesChangedEvent {#ViewPropertiesChangedEvent data-text="ViewPropertiesChangedEvent"} |
| *Defined in [fuchsia.ui.gfx/events.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/events.fidl;l=126)* |
| <p>Delivered when the parent ViewHolder for the given View makes a change to |
| the View's properties.</p> |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="ViewPropertiesChangedEvent.view_id"> |
| <td><code>view_id</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| <tr id="ViewPropertiesChangedEvent.properties"> |
| <td><code>properties</code></td> |
| <td> |
| <code><a class='link' href='#ViewProperties'>ViewProperties</a></code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| </table> |
| |
| ### ViewState {#ViewState data-text="ViewState"} |
| *Defined in [fuchsia.ui.gfx/types.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/types.fidl;l=256)* |
| <p>Represents the state of a View in Scenic.</p> |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="ViewState.is_rendering"> |
| <td><code>is_rendering</code></td> |
| <td> |
| <code>bool</code> |
| </td> |
| <td><p>Whether the View is rendering. Default is false. Delivered to the View's |
| corresponding ViewHolder after the View's first frame render request.</p> |
| </td> |
| <td>No default</td> |
| </tr> |
| </table> |
| |
| ### ViewStateChangedEvent {#ViewStateChangedEvent data-text="ViewStateChangedEvent"} |
| *Defined in [fuchsia.ui.gfx/events.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/events.fidl;l=132)* |
| <p>Delivered to a ViewHolder's Session when its peer View's state has changed.</p> |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="ViewStateChangedEvent.view_holder_id"> |
| <td><code>view_holder_id</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| <tr id="ViewStateChangedEvent.state"> |
| <td><code>state</code></td> |
| <td> |
| <code><a class='link' href='#ViewState'>ViewState</a></code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| </table> |
| |
| ### mat4 {#mat4 data-text="mat4"} |
| *Defined in [fuchsia.ui.gfx/types.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/types.fidl;l=24)* |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="mat4.matrix"> |
| <td><code>matrix</code></td> |
| <td> |
| <code>float32[16]</code> |
| </td> |
| <td><p>Column major order.</p> |
| </td> |
| <td>No default</td> |
| </tr> |
| </table> |
| |
| ### vec2 {#vec2 data-text="vec2"} |
| *Defined in [fuchsia.ui.gfx/types.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/types.fidl;l=6)* |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="vec2.x"> |
| <td><code>x</code></td> |
| <td> |
| <code>float32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| <tr id="vec2.y"> |
| <td><code>y</code></td> |
| <td> |
| <code>float32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| </table> |
| |
| ### vec3 {#vec3 data-text="vec3"} |
| *Defined in [fuchsia.ui.gfx/types.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/types.fidl;l=11)* |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="vec3.x"> |
| <td><code>x</code></td> |
| <td> |
| <code>float32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| <tr id="vec3.y"> |
| <td><code>y</code></td> |
| <td> |
| <code>float32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| <tr id="vec3.z"> |
| <td><code>z</code></td> |
| <td> |
| <code>float32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| </table> |
| |
| ### vec4 {#vec4 data-text="vec4"} |
| *Defined in [fuchsia.ui.gfx/types.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/types.fidl;l=17)* |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="vec4.x"> |
| <td><code>x</code></td> |
| <td> |
| <code>float32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| <tr id="vec4.y"> |
| <td><code>y</code></td> |
| <td> |
| <code>float32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| <tr id="vec4.z"> |
| <td><code>z</code></td> |
| <td> |
| <code>float32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| <tr id="vec4.w"> |
| <td><code>w</code></td> |
| <td> |
| <code>float32</code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| </table> |
| |
| |
| ## **ENUMS** |
| |
| ### HitTestBehavior [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#HitTestBehavior data-text="HitTestBehavior"} |
| Type: <code>uint32</code> |
| |
| *Defined in [fuchsia.ui.gfx/types.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/types.fidl;l=169)* |
| <p>Describes how nodes interact with hit testings.</p> |
| |
| <table> |
| <tr><th>Name</th><th>Value</th><th>Description</th></tr> |
| <tr id="HitTestBehavior.kDefault"> |
| <td><h3 id="HitTestBehavior.kDefault" class="add-link hide-from-toc">kDefault</h3></td> |
| <td><code>0</code></td> |
| <td><p>Apply hit testing to the node's content, its parts, and its children.</p> |
| </td> |
| </tr> |
| <tr id="HitTestBehavior.kSuppress"> |
| <td><h3 id="HitTestBehavior.kSuppress" class="add-link hide-from-toc">kSuppress</h3></td> |
| <td><code>1</code></td> |
| <td><p>Suppress hit testing of the node and everything it contains.</p> |
| </td> |
| </tr> |
| </table> |
| |
| ### ImportSpec [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#ImportSpec data-text="ImportSpec"} |
| Type: <code>uint32</code> |
| |
| *Defined in [fuchsia.ui.gfx/resources.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/resources.fidl;l=357)* |
| <p>Describes an exported resource that is to be imported by an |
| ImportResourceCmd.</p> |
| <p>NOTE: Currently just an enum of importable resource types, but may later be |
| expanded to express concepts like "meshes with a particular vertex format".</p> |
| |
| <table> |
| <tr><th>Name</th><th>Value</th><th>Description</th></tr> |
| <tr id="ImportSpec.NODE"> |
| <td><h3 id="ImportSpec.NODE" class="add-link hide-from-toc">NODE</h3></td> |
| <td><code>0</code></td> |
| <td></td> |
| </tr> |
| </table> |
| |
| ### MeshIndexFormat [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#MeshIndexFormat data-text="MeshIndexFormat"} |
| Type: <code>uint32</code> |
| |
| *Defined in [fuchsia.ui.gfx/commands.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/commands.fidl;l=644)* |
| <p>Set a mesh's indices and vertices.</p> |
| <p><code>mesh_id</code> refs the Mesh to be updated. |
| <code>index_buffer_id</code> refs a Buffer that contains the mesh indices. |
| <code>index_format</code> defines how the index buffer data is to be interpreted. |
| <code>index_offset</code> number of bytes from the start of the index Buffer. |
| <code>index_count</code> number of indices. |
| <code>vertex_buffer_id</code> refs a Buffer that contains the mesh vertices. |
| <code>vertex_format</code> defines how the vertex buffer data is to be interpreted. |
| <code>vertex_offset</code> number of bytes from the start of the vertex Buffer. |
| <code>vertex_count</code> number of vertices. |
| <code>bounding_box</code> must contain all vertices within the specified range.</p> |
| <p>The MeshVertexFormat defines which per-vertex attributes are provided by the |
| mesh, and the size of each attribute (and therefore the size of each vertex). |
| The attributes are ordered within the vertex in the same order that they |
| appear within the MeshVertexFormat struct. For example, if the values are |
| kVector3, kNone and kVector2, then:</p> |
| <ul> |
| <li>each vertex has a position and UV-coordinates, but no surface normal.</li> |
| <li>the 3D position occupies bytes 0-11 (3 dimensions * 4 bytes per float32).</li> |
| <li>the UV coords occupy bytes 12-19, since no surface normal is provided.</li> |
| </ul> |
| |
| <table> |
| <tr><th>Name</th><th>Value</th><th>Description</th></tr> |
| <tr id="MeshIndexFormat.kUint16"> |
| <td><h3 id="MeshIndexFormat.kUint16" class="add-link hide-from-toc">kUint16</h3></td> |
| <td><code>1</code></td> |
| <td></td> |
| </tr> |
| <tr id="MeshIndexFormat.kUint32"> |
| <td><h3 id="MeshIndexFormat.kUint32" class="add-link hide-from-toc">kUint32</h3></td> |
| <td><code>2</code></td> |
| <td></td> |
| </tr> |
| </table> |
| |
| ### RenderFrequency [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#RenderFrequency data-text="RenderFrequency"} |
| Type: <code>uint32</code> |
| |
| *Defined in [fuchsia.ui.gfx/renderer.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/renderer.fidl;l=32)* |
| <p><b>DEPRECATED </b></p> |
| <table> |
| <tr><th>Name</th><th>Value</th><th>Description</th></tr> |
| <tr id="RenderFrequency.WHEN_REQUESTED"> |
| <td><h3 id="RenderFrequency.WHEN_REQUESTED" class="add-link hide-from-toc">WHEN_REQUESTED</h3></td> |
| <td><code>0</code></td> |
| <td></td> |
| </tr> |
| <tr id="RenderFrequency.CONTINUOUSLY"> |
| <td><h3 id="RenderFrequency.CONTINUOUSLY" class="add-link hide-from-toc">CONTINUOUSLY</h3></td> |
| <td><code>1</code></td> |
| <td></td> |
| </tr> |
| </table> |
| |
| ### ShadowTechnique [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#ShadowTechnique data-text="ShadowTechnique"} |
| Type: <code>uint32</code> |
| |
| *Defined in [fuchsia.ui.gfx/renderer.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/renderer.fidl;l=18)* |
| <p>Represents the shadow algorithm that the <code>Renderer</code> should use when lighting |
| the scene.</p> |
| |
| <table> |
| <tr><th>Name</th><th>Value</th><th>Description</th></tr> |
| <tr id="ShadowTechnique.UNSHADOWED"> |
| <td><h3 id="ShadowTechnique.UNSHADOWED" class="add-link hide-from-toc">UNSHADOWED</h3></td> |
| <td><code>0</code></td> |
| <td><p>No shadows.</p> |
| </td> |
| </tr> |
| <tr id="ShadowTechnique.SCREEN_SPACE"> |
| <td><h3 id="ShadowTechnique.SCREEN_SPACE" class="add-link hide-from-toc">SCREEN_SPACE</h3></td> |
| <td><code>1</code></td> |
| <td><p>Default. Screen-space, depth-buffer based shadows; SSDO-ish.</p> |
| </td> |
| </tr> |
| <tr id="ShadowTechnique.SHADOW_MAP"> |
| <td><h3 id="ShadowTechnique.SHADOW_MAP" class="add-link hide-from-toc">SHADOW_MAP</h3></td> |
| <td><code>2</code></td> |
| <td><p>Basic shadow map.</p> |
| </td> |
| </tr> |
| <tr id="ShadowTechnique.MOMENT_SHADOW_MAP"> |
| <td><h3 id="ShadowTechnique.MOMENT_SHADOW_MAP" class="add-link hide-from-toc">MOMENT_SHADOW_MAP</h3></td> |
| <td><code>3</code></td> |
| <td><p>Moment shadow map (see http:///momentsingraphics.de).</p> |
| </td> |
| </tr> |
| <tr id="ShadowTechnique.STENCIL_SHADOW_VOLUME"> |
| <td><h3 id="ShadowTechnique.STENCIL_SHADOW_VOLUME" class="add-link hide-from-toc">STENCIL_SHADOW_VOLUME</h3></td> |
| <td><code>4</code></td> |
| <td><p>Stencil shadow volume.</p> |
| </td> |
| </tr> |
| </table> |
| |
| ### ValueType [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#ValueType data-text="ValueType"} |
| Type: <code>uint32</code> |
| |
| *Defined in [fuchsia.ui.gfx/types.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/types.fidl;l=155)* |
| |
| <table> |
| <tr><th>Name</th><th>Value</th><th>Description</th></tr> |
| <tr id="ValueType.kNone"> |
| <td><h3 id="ValueType.kNone" class="add-link hide-from-toc">kNone</h3></td> |
| <td><code>0</code></td> |
| <td></td> |
| </tr> |
| <tr id="ValueType.kVector1"> |
| <td><h3 id="ValueType.kVector1" class="add-link hide-from-toc">kVector1</h3></td> |
| <td><code>1</code></td> |
| <td></td> |
| </tr> |
| <tr id="ValueType.kVector2"> |
| <td><h3 id="ValueType.kVector2" class="add-link hide-from-toc">kVector2</h3></td> |
| <td><code>2</code></td> |
| <td></td> |
| </tr> |
| <tr id="ValueType.kVector3"> |
| <td><h3 id="ValueType.kVector3" class="add-link hide-from-toc">kVector3</h3></td> |
| <td><code>3</code></td> |
| <td></td> |
| </tr> |
| <tr id="ValueType.kVector4"> |
| <td><h3 id="ValueType.kVector4" class="add-link hide-from-toc">kVector4</h3></td> |
| <td><code>4</code></td> |
| <td></td> |
| </tr> |
| <tr id="ValueType.kMatrix4"> |
| <td><h3 id="ValueType.kMatrix4" class="add-link hide-from-toc">kMatrix4</h3></td> |
| <td><code>5</code></td> |
| <td></td> |
| </tr> |
| <tr id="ValueType.kColorRgb"> |
| <td><h3 id="ValueType.kColorRgb" class="add-link hide-from-toc">kColorRgb</h3></td> |
| <td><code>6</code></td> |
| <td></td> |
| </tr> |
| <tr id="ValueType.kColorRgba"> |
| <td><h3 id="ValueType.kColorRgba" class="add-link hide-from-toc">kColorRgba</h3></td> |
| <td><code>7</code></td> |
| <td></td> |
| </tr> |
| <tr id="ValueType.kQuaternion"> |
| <td><h3 id="ValueType.kQuaternion" class="add-link hide-from-toc">kQuaternion</h3></td> |
| <td><code>8</code></td> |
| <td></td> |
| </tr> |
| <tr id="ValueType.kFactoredTransform"> |
| <td><h3 id="ValueType.kFactoredTransform" class="add-link hide-from-toc">kFactoredTransform</h3></td> |
| <td><code>9</code></td> |
| <td></td> |
| </tr> |
| </table> |
| |
| |
| |
| ## **UNIONS** |
| |
| ### Command [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} [resource](/fuchsia-src/reference/fidl/language/language.md#value-vs-resource){:.fidl-attribute} {#Command data-text="Command"} |
| *Defined in [fuchsia.ui.gfx/commands.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/commands.fidl;l=10)* |
| <p>Commands that are used to modify the state of a <code>Session</code>.</p> |
| <table> |
| <tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr> |
| <tr id="Command.create_resource"> |
| <td><h3 id="Command.create_resource" class="add-link hide-from-toc">1</h3></td> |
| <td><code>create_resource</code></td> |
| <td> |
| <code><a class='link' href='#CreateResourceCmd'>CreateResourceCmd</a></code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="Command.release_resource"> |
| <td><h3 id="Command.release_resource" class="add-link hide-from-toc">2</h3></td> |
| <td><code>release_resource</code></td> |
| <td> |
| <code><a class='link' href='#ReleaseResourceCmd'>ReleaseResourceCmd</a></code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="Command.export_resource"> |
| <td><h3 id="Command.export_resource" class="add-link hide-from-toc">3</h3></td> |
| <td><code>export_resource</code></td> |
| <td> |
| <code><a class='link' href='#ExportResourceCmdDeprecated'>ExportResourceCmdDeprecated</a></code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="Command.import_resource"> |
| <td><h3 id="Command.import_resource" class="add-link hide-from-toc">4</h3></td> |
| <td><code>import_resource</code></td> |
| <td> |
| <code><a class='link' href='#ImportResourceCmdDeprecated'>ImportResourceCmdDeprecated</a></code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="Command.set_tag"> |
| <td><h3 id="Command.set_tag" class="add-link hide-from-toc">5</h3></td> |
| <td><code>set_tag</code></td> |
| <td> |
| <code><a class='link' href='#SetTagCmd'>SetTagCmd</a></code> |
| </td> |
| <td><p>Tagging commands.</p> |
| </td> |
| </tr> |
| <tr id="Command.detach"> |
| <td><h3 id="Command.detach" class="add-link hide-from-toc">6</h3></td> |
| <td><code>detach</code></td> |
| <td> |
| <code><a class='link' href='#DetachCmd'>DetachCmd</a></code> |
| </td> |
| <td><p>Grouping commands.</p> |
| </td> |
| </tr> |
| <tr id="Command.set_translation"> |
| <td><h3 id="Command.set_translation" class="add-link hide-from-toc">7</h3></td> |
| <td><code>set_translation</code></td> |
| <td> |
| <code><a class='link' href='#SetTranslationCmd'>SetTranslationCmd</a></code> |
| </td> |
| <td><p>Spatial commands.</p> |
| </td> |
| </tr> |
| <tr id="Command.set_scale"> |
| <td><h3 id="Command.set_scale" class="add-link hide-from-toc">8</h3></td> |
| <td><code>set_scale</code></td> |
| <td> |
| <code><a class='link' href='#SetScaleCmd'>SetScaleCmd</a></code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="Command.set_rotation"> |
| <td><h3 id="Command.set_rotation" class="add-link hide-from-toc">9</h3></td> |
| <td><code>set_rotation</code></td> |
| <td> |
| <code><a class='link' href='#SetRotationCmd'>SetRotationCmd</a></code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="Command.set_anchor"> |
| <td><h3 id="Command.set_anchor" class="add-link hide-from-toc">10</h3></td> |
| <td><code>set_anchor</code></td> |
| <td> |
| <code><a class='link' href='#SetAnchorCmd'>SetAnchorCmd</a></code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="Command.set_size"> |
| <td><h3 id="Command.set_size" class="add-link hide-from-toc">11</h3></td> |
| <td><code>set_size</code></td> |
| <td> |
| <code><a class='link' href='#SetSizeCmd'>SetSizeCmd</a></code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="Command.set_opacity"> |
| <td><h3 id="Command.set_opacity" class="add-link hide-from-toc">12</h3></td> |
| <td><code>set_opacity</code></td> |
| <td> |
| <code><a class='link' href='#SetOpacityCmd'>SetOpacityCmd</a></code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="Command.send_size_change_hint_hack"> |
| <td><h3 id="Command.send_size_change_hint_hack" class="add-link hide-from-toc">13</h3></td> |
| <td><code>send_size_change_hint_hack</code></td> |
| <td> |
| <code><a class='link' href='#SendSizeChangeHintCmdHACK'>SendSizeChangeHintCmdHACK</a></code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="Command.add_child"> |
| <td><h3 id="Command.add_child" class="add-link hide-from-toc">14</h3></td> |
| <td><code>add_child</code></td> |
| <td> |
| <code><a class='link' href='#AddChildCmd'>AddChildCmd</a></code> |
| </td> |
| <td><p>Node-specific commands.</p> |
| </td> |
| </tr> |
| <tr id="Command.add_part"> |
| <td><h3 id="Command.add_part" class="add-link hide-from-toc">15</h3></td> |
| <td><code>add_part</code></td> |
| <td> |
| <code><a class='link' href='#AddPartCmd'>AddPartCmd</a></code> |
| </td> |
| <td><p>re-parenting?</p> |
| </td> |
| </tr> |
| <tr id="Command.detach_children"> |
| <td><h3 id="Command.detach_children" class="add-link hide-from-toc">16</h3></td> |
| <td><code>detach_children</code></td> |
| <td> |
| <code><a class='link' href='#DetachChildrenCmd'>DetachChildrenCmd</a></code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="Command.set_shape"> |
| <td><h3 id="Command.set_shape" class="add-link hide-from-toc">17</h3></td> |
| <td><code>set_shape</code></td> |
| <td> |
| <code><a class='link' href='#SetShapeCmd'>SetShapeCmd</a></code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="Command.set_material"> |
| <td><h3 id="Command.set_material" class="add-link hide-from-toc">18</h3></td> |
| <td><code>set_material</code></td> |
| <td> |
| <code><a class='link' href='#SetMaterialCmd'>SetMaterialCmd</a></code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="Command.set_clip"> |
| <td><h3 id="Command.set_clip" class="add-link hide-from-toc">19</h3></td> |
| <td><code>set_clip</code></td> |
| <td> |
| <code><a class='link' href='#SetClipCmd'>SetClipCmd</a></code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="Command.set_hit_test_behavior"> |
| <td><h3 id="Command.set_hit_test_behavior" class="add-link hide-from-toc">20</h3></td> |
| <td><code>set_hit_test_behavior</code></td> |
| <td> |
| <code><a class='link' href='#SetHitTestBehaviorCmd'>SetHitTestBehaviorCmd</a></code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="Command.set_view_properties"> |
| <td><h3 id="Command.set_view_properties" class="add-link hide-from-toc">21</h3></td> |
| <td><code>set_view_properties</code></td> |
| <td> |
| <code><a class='link' href='#SetViewPropertiesCmd'>SetViewPropertiesCmd</a></code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="Command.take_snapshot_cmd"> |
| <td><h3 id="Command.take_snapshot_cmd" class="add-link hide-from-toc">22</h3></td> |
| <td><code>take_snapshot_cmd</code></td> |
| <td> |
| <code><a class='link' href='#TakeSnapshotCmdDEPRECATED'>TakeSnapshotCmdDEPRECATED</a></code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="Command.set_camera"> |
| <td><h3 id="Command.set_camera" class="add-link hide-from-toc">23</h3></td> |
| <td><code>set_camera</code></td> |
| <td> |
| <code><a class='link' href='#SetCameraCmd'>SetCameraCmd</a></code> |
| </td> |
| <td><p>Camera and lighting commands.</p> |
| </td> |
| </tr> |
| <tr id="Command.set_camera_transform"> |
| <td><h3 id="Command.set_camera_transform" class="add-link hide-from-toc">24</h3></td> |
| <td><code>set_camera_transform</code></td> |
| <td> |
| <code><a class='link' href='#SetCameraTransformCmd'>SetCameraTransformCmd</a></code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="Command.set_camera_projection"> |
| <td><h3 id="Command.set_camera_projection" class="add-link hide-from-toc">25</h3></td> |
| <td><code>set_camera_projection</code></td> |
| <td> |
| <code><a class='link' href='#SetCameraProjectionCmd'>SetCameraProjectionCmd</a></code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="Command.set_stereo_camera_projection"> |
| <td><h3 id="Command.set_stereo_camera_projection" class="add-link hide-from-toc">26</h3></td> |
| <td><code>set_stereo_camera_projection</code></td> |
| <td> |
| <code><a class='link' href='#SetStereoCameraProjectionCmd'>SetStereoCameraProjectionCmd</a></code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="Command.set_camera_pose_buffer"> |
| <td><h3 id="Command.set_camera_pose_buffer" class="add-link hide-from-toc">27</h3></td> |
| <td><code>set_camera_pose_buffer</code></td> |
| <td> |
| <code><a class='link' href='#SetCameraPoseBufferCmd'>SetCameraPoseBufferCmd</a></code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="Command.set_light_color"> |
| <td><h3 id="Command.set_light_color" class="add-link hide-from-toc">28</h3></td> |
| <td><code>set_light_color</code></td> |
| <td> |
| <code><a class='link' href='#SetLightColorCmd'>SetLightColorCmd</a></code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="Command.set_light_direction"> |
| <td><h3 id="Command.set_light_direction" class="add-link hide-from-toc">29</h3></td> |
| <td><code>set_light_direction</code></td> |
| <td> |
| <code><a class='link' href='#SetLightDirectionCmd'>SetLightDirectionCmd</a></code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="Command.add_light"> |
| <td><h3 id="Command.add_light" class="add-link hide-from-toc">30</h3></td> |
| <td><code>add_light</code></td> |
| <td> |
| <code><a class='link' href='#AddLightCmd'>AddLightCmd</a></code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="Command.detach_light"> |
| <td><h3 id="Command.detach_light" class="add-link hide-from-toc">31</h3></td> |
| <td><code>detach_light</code></td> |
| <td> |
| <code><a class='link' href='#DetachLightCmd'>DetachLightCmd</a></code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="Command.detach_lights"> |
| <td><h3 id="Command.detach_lights" class="add-link hide-from-toc">32</h3></td> |
| <td><code>detach_lights</code></td> |
| <td> |
| <code><a class='link' href='#DetachLightsCmd'>DetachLightsCmd</a></code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="Command.set_texture"> |
| <td><h3 id="Command.set_texture" class="add-link hide-from-toc">33</h3></td> |
| <td><code>set_texture</code></td> |
| <td> |
| <code><a class='link' href='#SetTextureCmd'>SetTextureCmd</a></code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="Command.set_color"> |
| <td><h3 id="Command.set_color" class="add-link hide-from-toc">34</h3></td> |
| <td><code>set_color</code></td> |
| <td> |
| <code><a class='link' href='#SetColorCmd'>SetColorCmd</a></code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="Command.bind_mesh_buffers"> |
| <td><h3 id="Command.bind_mesh_buffers" class="add-link hide-from-toc">35</h3></td> |
| <td><code>bind_mesh_buffers</code></td> |
| <td> |
| <code><a class='link' href='#BindMeshBuffersCmd'>BindMeshBuffersCmd</a></code> |
| </td> |
| <td><p>Mesh commands.</p> |
| </td> |
| </tr> |
| <tr id="Command.add_layer"> |
| <td><h3 id="Command.add_layer" class="add-link hide-from-toc">36</h3></td> |
| <td><code>add_layer</code></td> |
| <td> |
| <code><a class='link' href='#AddLayerCmd'>AddLayerCmd</a></code> |
| </td> |
| <td><p>Layer and renderer commands.</p> |
| </td> |
| </tr> |
| <tr id="Command.remove_layer"> |
| <td><h3 id="Command.remove_layer" class="add-link hide-from-toc">37</h3></td> |
| <td><code>remove_layer</code></td> |
| <td> |
| <code><a class='link' href='#RemoveLayerCmd'>RemoveLayerCmd</a></code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="Command.remove_all_layers"> |
| <td><h3 id="Command.remove_all_layers" class="add-link hide-from-toc">38</h3></td> |
| <td><code>remove_all_layers</code></td> |
| <td> |
| <code><a class='link' href='#RemoveAllLayersCmd'>RemoveAllLayersCmd</a></code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="Command.set_layer_stack"> |
| <td><h3 id="Command.set_layer_stack" class="add-link hide-from-toc">39</h3></td> |
| <td><code>set_layer_stack</code></td> |
| <td> |
| <code><a class='link' href='#SetLayerStackCmd'>SetLayerStackCmd</a></code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="Command.set_renderer"> |
| <td><h3 id="Command.set_renderer" class="add-link hide-from-toc">40</h3></td> |
| <td><code>set_renderer</code></td> |
| <td> |
| <code><a class='link' href='#SetRendererCmd'>SetRendererCmd</a></code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="Command.set_renderer_param"> |
| <td><h3 id="Command.set_renderer_param" class="add-link hide-from-toc">41</h3></td> |
| <td><code>set_renderer_param</code></td> |
| <td> |
| <code><a class='link' href='#SetRendererParamCmd'>SetRendererParamCmd</a></code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="Command.set_event_mask"> |
| <td><h3 id="Command.set_event_mask" class="add-link hide-from-toc">42</h3></td> |
| <td><code>set_event_mask</code></td> |
| <td> |
| <code><a class='link' href='#SetEventMaskCmd'>SetEventMaskCmd</a></code> |
| </td> |
| <td><p>Events.</p> |
| </td> |
| </tr> |
| <tr id="Command.set_label"> |
| <td><h3 id="Command.set_label" class="add-link hide-from-toc">43</h3></td> |
| <td><code>set_label</code></td> |
| <td> |
| <code><a class='link' href='#SetLabelCmd'>SetLabelCmd</a></code> |
| </td> |
| <td><p>Diagnostic commands.</p> |
| </td> |
| </tr> |
| <tr id="Command.set_disable_clipping"> |
| <td><h3 id="Command.set_disable_clipping" class="add-link hide-from-toc">44</h3></td> |
| <td><code>set_disable_clipping</code></td> |
| <td> |
| <code><a class='link' href='#SetDisableClippingCmd'>SetDisableClippingCmd</a></code> |
| </td> |
| <td><p>Debugging commands.</p> |
| </td> |
| </tr> |
| <tr id="Command.set_import_focus"> |
| <td><h3 id="Command.set_import_focus" class="add-link hide-from-toc">45</h3></td> |
| <td><code>set_import_focus</code></td> |
| <td> |
| <code><a class='link' href='#SetImportFocusCmdDEPRECATED'>SetImportFocusCmdDEPRECATED</a></code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="Command.set_clip_planes"> |
| <td><h3 id="Command.set_clip_planes" class="add-link hide-from-toc">46</h3></td> |
| <td><code>set_clip_planes</code></td> |
| <td> |
| <code><a class='link' href='#SetClipPlanesCmd'>SetClipPlanesCmd</a></code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="Command.set_point_light_position"> |
| <td><h3 id="Command.set_point_light_position" class="add-link hide-from-toc">47</h3></td> |
| <td><code>set_point_light_position</code></td> |
| <td> |
| <code><a class='link' href='#SetPointLightPositionCmd'>SetPointLightPositionCmd</a></code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="Command.set_point_light_falloff"> |
| <td><h3 id="Command.set_point_light_falloff" class="add-link hide-from-toc">48</h3></td> |
| <td><code>set_point_light_falloff</code></td> |
| <td> |
| <code><a class='link' href='#SetPointLightFalloffCmd'>SetPointLightFalloffCmd</a></code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="Command.scene__add_ambient_light"> |
| <td><h3 id="Command.scene__add_ambient_light" class="add-link hide-from-toc">49</h3></td> |
| <td><code>scene__add_ambient_light</code></td> |
| <td> |
| <code><a class='link' href='#SceneAddAmbientLightCmd'>SceneAddAmbientLightCmd</a></code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="Command.scene__add_directional_light"> |
| <td><h3 id="Command.scene__add_directional_light" class="add-link hide-from-toc">50</h3></td> |
| <td><code>scene__add_directional_light</code></td> |
| <td> |
| <code><a class='link' href='#SceneAddDirectionalLightCmd'>SceneAddDirectionalLightCmd</a></code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="Command.scene__add_point_light"> |
| <td><h3 id="Command.scene__add_point_light" class="add-link hide-from-toc">51</h3></td> |
| <td><code>scene__add_point_light</code></td> |
| <td> |
| <code><a class='link' href='#SceneAddPointLightCmd'>SceneAddPointLightCmd</a></code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="Command.set_display_color_conversion"> |
| <td><h3 id="Command.set_display_color_conversion" class="add-link hide-from-toc">52</h3></td> |
| <td><code>set_display_color_conversion</code></td> |
| <td> |
| <code><a class='link' href='#SetDisplayColorConversionCmdHACK'>SetDisplayColorConversionCmdHACK</a></code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="Command.set_display_rotation"> |
| <td><h3 id="Command.set_display_rotation" class="add-link hide-from-toc">53</h3></td> |
| <td><code>set_display_rotation</code></td> |
| <td> |
| <code><a class='link' href='#SetDisplayRotationCmdHACK'>SetDisplayRotationCmdHACK</a></code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="Command.set_enable_view_debug_bounds"> |
| <td><h3 id="Command.set_enable_view_debug_bounds" class="add-link hide-from-toc">54</h3></td> |
| <td><code>set_enable_view_debug_bounds</code></td> |
| <td> |
| <code><a class='link' href='#SetEnableDebugViewBoundsCmd'>SetEnableDebugViewBoundsCmd</a></code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="Command.set_view_holder_bounds_color"> |
| <td><h3 id="Command.set_view_holder_bounds_color" class="add-link hide-from-toc">55</h3></td> |
| <td><code>set_view_holder_bounds_color</code></td> |
| <td> |
| <code><a class='link' href='#SetViewHolderBoundsColorCmd'>SetViewHolderBoundsColorCmd</a></code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="Command.set_camera_clip_space_transform"> |
| <td><h3 id="Command.set_camera_clip_space_transform" class="add-link hide-from-toc">56</h3></td> |
| <td><code>set_camera_clip_space_transform</code></td> |
| <td> |
| <code><a class='link' href='#SetCameraClipSpaceTransformCmd'>SetCameraClipSpaceTransformCmd</a></code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="Command.set_display_minimum_rgb"> |
| <td><h3 id="Command.set_display_minimum_rgb" class="add-link hide-from-toc">57</h3></td> |
| <td><code>set_display_minimum_rgb</code></td> |
| <td> |
| <code><a class='link' href='#SetDisplayMinimumRgbCmdHACK'>SetDisplayMinimumRgbCmdHACK</a></code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="Command.set_semantic_visibility"> |
| <td><h3 id="Command.set_semantic_visibility" class="add-link hide-from-toc">58</h3></td> |
| <td><code>set_semantic_visibility</code></td> |
| <td> |
| <code><a class='link' href='#SetSemanticVisibilityCmd'>SetSemanticVisibilityCmd</a></code> |
| </td> |
| <td></td> |
| </tr> |
| </table> |
| |
| ### Event [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#Event data-text="Event"} |
| *Defined in [fuchsia.ui.gfx/events.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/events.fidl;l=13)* |
| <p>These are all of the types of events which can be reported by a <code>Session</code>. |
| Use <code>SetEventMaskCmd</code> to enable event delivery for a resource.</p> |
| <table> |
| <tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr> |
| <tr id="Event.metrics"> |
| <td><h3 id="Event.metrics" class="add-link hide-from-toc">1</h3></td> |
| <td><code>metrics</code></td> |
| <td> |
| <code><a class='link' href='#MetricsEvent'>MetricsEvent</a></code> |
| </td> |
| <td><p>Events which are controlled by a mask.</p> |
| </td> |
| </tr> |
| <tr id="Event.size_change_hint"> |
| <td><h3 id="Event.size_change_hint" class="add-link hide-from-toc">2</h3></td> |
| <td><code>size_change_hint</code></td> |
| <td> |
| <code><a class='link' href='#SizeChangeHintEvent'>SizeChangeHintEvent</a></code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="Event.import_unbound"> |
| <td><h3 id="Event.import_unbound" class="add-link hide-from-toc">3</h3></td> |
| <td><code>import_unbound</code></td> |
| <td> |
| <code><a class='link' href='#ImportUnboundEvent'>ImportUnboundEvent</a></code> |
| </td> |
| <td><p>Events which are always delivered, regardless of mask.</p> |
| </td> |
| </tr> |
| <tr id="Event.view_connected"> |
| <td><h3 id="Event.view_connected" class="add-link hide-from-toc">4</h3></td> |
| <td><code>view_connected</code></td> |
| <td> |
| <code><a class='link' href='#ViewConnectedEvent'>ViewConnectedEvent</a></code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="Event.view_disconnected"> |
| <td><h3 id="Event.view_disconnected" class="add-link hide-from-toc">5</h3></td> |
| <td><code>view_disconnected</code></td> |
| <td> |
| <code><a class='link' href='#ViewDisconnectedEvent'>ViewDisconnectedEvent</a></code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="Event.view_holder_disconnected"> |
| <td><h3 id="Event.view_holder_disconnected" class="add-link hide-from-toc">6</h3></td> |
| <td><code>view_holder_disconnected</code></td> |
| <td> |
| <code><a class='link' href='#ViewHolderDisconnectedEvent'>ViewHolderDisconnectedEvent</a></code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="Event.view_attached_to_scene"> |
| <td><h3 id="Event.view_attached_to_scene" class="add-link hide-from-toc">7</h3></td> |
| <td><code>view_attached_to_scene</code></td> |
| <td> |
| <code><a class='link' href='#ViewAttachedToSceneEvent'>ViewAttachedToSceneEvent</a></code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="Event.view_detached_from_scene"> |
| <td><h3 id="Event.view_detached_from_scene" class="add-link hide-from-toc">8</h3></td> |
| <td><code>view_detached_from_scene</code></td> |
| <td> |
| <code><a class='link' href='#ViewDetachedFromSceneEvent'>ViewDetachedFromSceneEvent</a></code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="Event.view_properties_changed"> |
| <td><h3 id="Event.view_properties_changed" class="add-link hide-from-toc">9</h3></td> |
| <td><code>view_properties_changed</code></td> |
| <td> |
| <code><a class='link' href='#ViewPropertiesChangedEvent'>ViewPropertiesChangedEvent</a></code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="Event.view_state_changed"> |
| <td><h3 id="Event.view_state_changed" class="add-link hide-from-toc">10</h3></td> |
| <td><code>view_state_changed</code></td> |
| <td> |
| <code><a class='link' href='#ViewStateChangedEvent'>ViewStateChangedEvent</a></code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="Event.view_holder_connected"> |
| <td><h3 id="Event.view_holder_connected" class="add-link hide-from-toc">11</h3></td> |
| <td><code>view_holder_connected</code></td> |
| <td> |
| <code><a class='link' href='#ViewHolderConnectedEvent'>ViewHolderConnectedEvent</a></code> |
| </td> |
| <td></td> |
| </tr> |
| </table> |
| |
| ### RendererParam [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#RendererParam data-text="RendererParam"} |
| *Defined in [fuchsia.ui.gfx/renderer.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/renderer.fidl;l=8)* |
| <p>These are all of the types of parameters that can be set to configure a |
| <code>Renderer</code>.</p> |
| <table> |
| <tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr> |
| <tr id="RendererParam.shadow_technique"> |
| <td><h3 id="RendererParam.shadow_technique" class="add-link hide-from-toc">1</h3></td> |
| <td><code>shadow_technique</code></td> |
| <td> |
| <code><a class='link' href='#ShadowTechnique'>ShadowTechnique</a></code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="RendererParam.reserved"> |
| <td><h3 id="RendererParam.reserved" class="add-link hide-from-toc">2</h3></td> |
| <td><code>reserved</code></td> |
| <td> |
| <code><a class='link' href='#RenderFrequency'>RenderFrequency</a></code> |
| </td> |
| <td><p><b>DEPRECATED </b></p></td> |
| </tr> |
| <tr id="RendererParam.enable_debugging"> |
| <td><h3 id="RendererParam.enable_debugging" class="add-link hide-from-toc">3</h3></td> |
| <td><code>enable_debugging</code></td> |
| <td> |
| <code>bool</code> |
| </td> |
| <td></td> |
| </tr> |
| </table> |
| |
| ### ResourceArgs [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} [resource](/fuchsia-src/reference/fidl/language/language.md#value-vs-resource){:.fidl-attribute} {#ResourceArgs data-text="ResourceArgs"} |
| *Defined in [fuchsia.ui.gfx/resources.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/resources.fidl;l=13)* |
| <p>These are all of the types of resources that can be created within a |
| <code>Session</code>. Add new fields only to the bottom of the list.</p> |
| <table> |
| <tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr> |
| <tr id="ResourceArgs.memory"> |
| <td><h3 id="ResourceArgs.memory" class="add-link hide-from-toc">1</h3></td> |
| <td><code>memory</code></td> |
| <td> |
| <code><a class='link' href='#MemoryArgs'>MemoryArgs</a></code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="ResourceArgs.image"> |
| <td><h3 id="ResourceArgs.image" class="add-link hide-from-toc">2</h3></td> |
| <td><code>image</code></td> |
| <td> |
| <code><a class='link' href='#ImageArgs'>ImageArgs</a></code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="ResourceArgs."> |
| <td><h3 id="ResourceArgs." class="add-link hide-from-toc">3</h3></td> |
| <td><code></code></td> |
| <td> |
| <code></code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="ResourceArgs.buffer"> |
| <td><h3 id="ResourceArgs.buffer" class="add-link hide-from-toc">4</h3></td> |
| <td><code>buffer</code></td> |
| <td> |
| <code><a class='link' href='#BufferArgs'>BufferArgs</a></code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="ResourceArgs.view"> |
| <td><h3 id="ResourceArgs.view" class="add-link hide-from-toc">5</h3></td> |
| <td><code>view</code></td> |
| <td> |
| <code><a class='link' href='#ViewArgs'>ViewArgs</a></code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="ResourceArgs.view_holder"> |
| <td><h3 id="ResourceArgs.view_holder" class="add-link hide-from-toc">6</h3></td> |
| <td><code>view_holder</code></td> |
| <td> |
| <code><a class='link' href='#ViewHolderArgs'>ViewHolderArgs</a></code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="ResourceArgs.rectangle"> |
| <td><h3 id="ResourceArgs.rectangle" class="add-link hide-from-toc">7</h3></td> |
| <td><code>rectangle</code></td> |
| <td> |
| <code><a class='link' href='#RectangleArgs'>RectangleArgs</a></code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="ResourceArgs.rounded_rectangle"> |
| <td><h3 id="ResourceArgs.rounded_rectangle" class="add-link hide-from-toc">8</h3></td> |
| <td><code>rounded_rectangle</code></td> |
| <td> |
| <code><a class='link' href='#RoundedRectangleArgs'>RoundedRectangleArgs</a></code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="ResourceArgs.circle"> |
| <td><h3 id="ResourceArgs.circle" class="add-link hide-from-toc">9</h3></td> |
| <td><code>circle</code></td> |
| <td> |
| <code><a class='link' href='#CircleArgs'>CircleArgs</a></code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="ResourceArgs.mesh"> |
| <td><h3 id="ResourceArgs.mesh" class="add-link hide-from-toc">10</h3></td> |
| <td><code>mesh</code></td> |
| <td> |
| <code><a class='link' href='#MeshArgs'>MeshArgs</a></code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="ResourceArgs.shape_node"> |
| <td><h3 id="ResourceArgs.shape_node" class="add-link hide-from-toc">11</h3></td> |
| <td><code>shape_node</code></td> |
| <td> |
| <code><a class='link' href='#ShapeNodeArgs'>ShapeNodeArgs</a></code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="ResourceArgs.clip_node"> |
| <td><h3 id="ResourceArgs.clip_node" class="add-link hide-from-toc">12</h3></td> |
| <td><code>clip_node</code></td> |
| <td> |
| <code><a class='link' href='#ClipNodeArgs'>ClipNodeArgs</a></code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="ResourceArgs.entity_node"> |
| <td><h3 id="ResourceArgs.entity_node" class="add-link hide-from-toc">13</h3></td> |
| <td><code>entity_node</code></td> |
| <td> |
| <code><a class='link' href='#EntityNodeArgs'>EntityNodeArgs</a></code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="ResourceArgs.opacity_node"> |
| <td><h3 id="ResourceArgs.opacity_node" class="add-link hide-from-toc">14</h3></td> |
| <td><code>opacity_node</code></td> |
| <td> |
| <code><a class='link' href='#OpacityNodeArgsHACK'>OpacityNodeArgsHACK</a></code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="ResourceArgs.material"> |
| <td><h3 id="ResourceArgs.material" class="add-link hide-from-toc">15</h3></td> |
| <td><code>material</code></td> |
| <td> |
| <code><a class='link' href='#MaterialArgs'>MaterialArgs</a></code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="ResourceArgs.compositor"> |
| <td><h3 id="ResourceArgs.compositor" class="add-link hide-from-toc">16</h3></td> |
| <td><code>compositor</code></td> |
| <td> |
| <code><a class='link' href='#CompositorArgs'>CompositorArgs</a></code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="ResourceArgs.display_compositor"> |
| <td><h3 id="ResourceArgs.display_compositor" class="add-link hide-from-toc">17</h3></td> |
| <td><code>display_compositor</code></td> |
| <td> |
| <code><a class='link' href='#DisplayCompositorArgs'>DisplayCompositorArgs</a></code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="ResourceArgs."> |
| <td><h3 id="ResourceArgs." class="add-link hide-from-toc">18</h3></td> |
| <td><code></code></td> |
| <td> |
| <code></code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="ResourceArgs.layer_stack"> |
| <td><h3 id="ResourceArgs.layer_stack" class="add-link hide-from-toc">19</h3></td> |
| <td><code>layer_stack</code></td> |
| <td> |
| <code><a class='link' href='#LayerStackArgs'>LayerStackArgs</a></code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="ResourceArgs.layer"> |
| <td><h3 id="ResourceArgs.layer" class="add-link hide-from-toc">20</h3></td> |
| <td><code>layer</code></td> |
| <td> |
| <code><a class='link' href='#LayerArgs'>LayerArgs</a></code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="ResourceArgs.scene"> |
| <td><h3 id="ResourceArgs.scene" class="add-link hide-from-toc">21</h3></td> |
| <td><code>scene</code></td> |
| <td> |
| <code><a class='link' href='#SceneArgs'>SceneArgs</a></code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="ResourceArgs.camera"> |
| <td><h3 id="ResourceArgs.camera" class="add-link hide-from-toc">22</h3></td> |
| <td><code>camera</code></td> |
| <td> |
| <code><a class='link' href='#CameraArgs'>CameraArgs</a></code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="ResourceArgs.stereo_camera"> |
| <td><h3 id="ResourceArgs.stereo_camera" class="add-link hide-from-toc">23</h3></td> |
| <td><code>stereo_camera</code></td> |
| <td> |
| <code><a class='link' href='#StereoCameraArgs'>StereoCameraArgs</a></code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="ResourceArgs.renderer"> |
| <td><h3 id="ResourceArgs.renderer" class="add-link hide-from-toc">24</h3></td> |
| <td><code>renderer</code></td> |
| <td> |
| <code><a class='link' href='#RendererArgs'>RendererArgs</a></code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="ResourceArgs.ambient_light"> |
| <td><h3 id="ResourceArgs.ambient_light" class="add-link hide-from-toc">25</h3></td> |
| <td><code>ambient_light</code></td> |
| <td> |
| <code><a class='link' href='#AmbientLightArgs'>AmbientLightArgs</a></code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="ResourceArgs.directional_light"> |
| <td><h3 id="ResourceArgs.directional_light" class="add-link hide-from-toc">26</h3></td> |
| <td><code>directional_light</code></td> |
| <td> |
| <code><a class='link' href='#DirectionalLightArgs'>DirectionalLightArgs</a></code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="ResourceArgs.variable"> |
| <td><h3 id="ResourceArgs.variable" class="add-link hide-from-toc">27</h3></td> |
| <td><code>variable</code></td> |
| <td> |
| <code><a class='link' href='#VariableArgs'>VariableArgs</a></code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="ResourceArgs.point_light"> |
| <td><h3 id="ResourceArgs.point_light" class="add-link hide-from-toc">28</h3></td> |
| <td><code>point_light</code></td> |
| <td> |
| <code><a class='link' href='#PointLightArgs'>PointLightArgs</a></code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="ResourceArgs."> |
| <td><h3 id="ResourceArgs." class="add-link hide-from-toc">29</h3></td> |
| <td><code></code></td> |
| <td> |
| <code></code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="ResourceArgs."> |
| <td><h3 id="ResourceArgs." class="add-link hide-from-toc">30</h3></td> |
| <td><code></code></td> |
| <td> |
| <code></code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="ResourceArgs.view3"> |
| <td><h3 id="ResourceArgs.view3" class="add-link hide-from-toc">31</h3></td> |
| <td><code>view3</code></td> |
| <td> |
| <code><a class='link' href='#ViewArgs3'>ViewArgs3</a></code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="ResourceArgs.image_pipe2"> |
| <td><h3 id="ResourceArgs.image_pipe2" class="add-link hide-from-toc">32</h3></td> |
| <td><code>image_pipe2</code></td> |
| <td> |
| <code><a class='link' href='#ImagePipe2Args'>ImagePipe2Args</a></code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="ResourceArgs.image2"> |
| <td><h3 id="ResourceArgs.image2" class="add-link hide-from-toc">33</h3></td> |
| <td><code>image2</code></td> |
| <td> |
| <code><a class='link' href='#ImageArgs2'>ImageArgs2</a></code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="ResourceArgs.image3"> |
| <td><h3 id="ResourceArgs.image3" class="add-link hide-from-toc">34</h3></td> |
| <td><code>image3</code></td> |
| <td> |
| <code><a class='link' href='#ImageArgs3'>ImageArgs3</a></code> |
| </td> |
| <td></td> |
| </tr> |
| </table> |
| |
| ### Value [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#Value data-text="Value"} |
| *Defined in [fuchsia.ui.gfx/types.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/types.fidl;l=66)* |
| <table> |
| <tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr> |
| <tr id="Value.vector1"> |
| <td><h3 id="Value.vector1" class="add-link hide-from-toc">1</h3></td> |
| <td><code>vector1</code></td> |
| <td> |
| <code>float32</code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="Value.vector2"> |
| <td><h3 id="Value.vector2" class="add-link hide-from-toc">2</h3></td> |
| <td><code>vector2</code></td> |
| <td> |
| <code><a class='link' href='#vec2'>vec2</a></code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="Value.vector3"> |
| <td><h3 id="Value.vector3" class="add-link hide-from-toc">3</h3></td> |
| <td><code>vector3</code></td> |
| <td> |
| <code><a class='link' href='#vec3'>vec3</a></code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="Value.vector4"> |
| <td><h3 id="Value.vector4" class="add-link hide-from-toc">4</h3></td> |
| <td><code>vector4</code></td> |
| <td> |
| <code><a class='link' href='#vec4'>vec4</a></code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="Value.matrix4x4"> |
| <td><h3 id="Value.matrix4x4" class="add-link hide-from-toc">5</h3></td> |
| <td><code>matrix4x4</code></td> |
| <td> |
| <code><a class='link' href='#mat4'>mat4</a></code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="Value.color_rgba"> |
| <td><h3 id="Value.color_rgba" class="add-link hide-from-toc">6</h3></td> |
| <td><code>color_rgba</code></td> |
| <td> |
| <code><a class='link' href='#ColorRgba'>ColorRgba</a></code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="Value.color_rgb"> |
| <td><h3 id="Value.color_rgb" class="add-link hide-from-toc">7</h3></td> |
| <td><code>color_rgb</code></td> |
| <td> |
| <code><a class='link' href='#ColorRgb'>ColorRgb</a></code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="Value.degrees"> |
| <td><h3 id="Value.degrees" class="add-link hide-from-toc">8</h3></td> |
| <td><code>degrees</code></td> |
| <td> |
| <code>float32</code> |
| </td> |
| <td><p>Degrees of counter-clockwise rotation in the XY plane.</p> |
| </td> |
| </tr> |
| <tr id="Value.quaternion"> |
| <td><h3 id="Value.quaternion" class="add-link hide-from-toc">9</h3></td> |
| <td><code>quaternion</code></td> |
| <td> |
| <code><a class='link' href='#Quaternion'>Quaternion</a></code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="Value.transform"> |
| <td><h3 id="Value.transform" class="add-link hide-from-toc">10</h3></td> |
| <td><code>transform</code></td> |
| <td> |
| <code><a class='link' href='#FactoredTransform'>FactoredTransform</a></code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="Value.variable_id"> |
| <td><h3 id="Value.variable_id" class="add-link hide-from-toc">11</h3></td> |
| <td><code>variable_id</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td><p>ID of a value-producing resource (an animation or an expression). |
| The type of this value matches the type produced by the named resource.</p> |
| </td> |
| </tr> |
| </table> |
| |
| |
| |
| ## **CONSTANTS** |
| |
| <table> |
| <tr><th>Name</th><th>Value</th><th>Type</th><th>Description</th></tr> |
| <tr id="kLabelMaxLength"> |
| <td><a href="https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/commands.fidl;l=742">kLabelMaxLength</a></td> |
| <td> |
| <code>32</code> |
| </td> |
| <td><code>uint32</code></td> |
| <td><p>Maximum length for a resource label.</p> |
| </td> |
| </tr> |
| <tr id="kMetricsEventMask"> |
| <td><a href="https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/events.fidl;l=8">kMetricsEventMask</a></td> |
| <td> |
| <code>1</code> |
| </td> |
| <td><code>uint32</code></td> |
| <td><p>Reports metrics information. |
| This event type is only reported for node resources.</p> |
| </td> |
| </tr> |
| <tr id="kSizeChangeHintEventMask"> |
| <td><a href="https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx/events.fidl;l=9">kSizeChangeHintEventMask</a></td> |
| <td> |
| <code>2</code> |
| </td> |
| <td><code>uint32</code></td> |
| <td></td> |
| </tr> |
| </table> |