class SetRootTransform

Defined at line 654 of file fidling/gen/sdk/fidl/fuchsia.ui.composition/fuchsia.ui.composition/cpp/fidl/fuchsia.ui.composition/cpp/markers.h

Sets the Root Transform for the graph.

The sub-graph defined by the Root Transform and its children will be rendered as View

in the connected parent's Viewport (see [`CreateView`]). Any parents of the Root Transform

in this Graph will be ignored.

The Root Transform, and all children of the Root Transform, are kept alive if they are

released (see [`ReleaseTransform`] for more details).

There is only ever one Root. Since 0 is not a valid transform id (see [`CreateTransform`]),

calling SetRootTransform(0) clears the current Root, destroying any previously released

objects that are not referenced by the new root.

Note that every View has a clip boundary equivalent to its logical size. Anything outside

that clip boundary will not be rendered. Hence, the Root Transform has a useful coordinate

space of (0, 0) to (logical_size.width, logical_size.height), where (0, 0) is the upper left

corner.

Setting the root transform installs a full screen hit region on the root transform. Clients

may remove this hit region if they don't want users to be able to interact with the root

transform's content. For additional details on hit regions, see the [`SetHitRegions`]

documentation.

Default hit region rules

A default hit region follows these rules:

- When [`SetRootTransform`](T) is called, T receives a maximal hit region, covering the

entire view.

- If [`SetHitRegions`] is called on T, either before or after [`SetRootTransform`](T),

then no default hit region is active and the client specified hit regions are used.

- If a transform is no longer the root transform, i.e., [`SetRootTransform`](U) is

called, then the original transform no longer has its default hit region.

- Clients can remove or modify the root transform's hit regions the same way they would

reset any other transform's hit regions, by calling [`SetHitRegions`] with the appropriate

vector.

Public Members

static const bool kHasClientToServer
static const bool kHasClientToServerBody
static const bool kHasServerToClient
static const bool kHasServerToClientBody
static const bool kHasNonEmptyUserFacingResponse
static const bool kHasDomainError
static const bool kHasFrameworkError
static const uint64_t kOrdinal