class SetLayerImage

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

Associates an Image with the Layer.

The binding is legal in any composition mode, and is sticky: it survives composition

mode changes, and is replaced only by a later [`SetLayerImage`] call (or cleared by

[`ResetLayer`]). The image is displayed only while the layer's composition mode is

`IMAGE`.

The bound image must be large enough for the layer's stored `sample_rect`; this is

checked at [`fuchsia.ui.composition/Flatland.Present`], not here. See

[`LayerProperties.sample_rect`].

`layer_id` must refer to a valid, unreleased Layer.

`image_id` must refer to a valid, unreleased Image.

`acquire_fence` is an optional fence that must be signaled before the image is displayed.

`release_fence` is an optional fence, signaled by Scenic when *this binding* no

longer references the image. It is per-binding, not per-image: an image bound to

several layers has one such fence per binding, and the image is safe to write only

once every one of them has signaled.

A binding is ended by:

- being superseded by a later [`SetLayerImage`] on the same layer

- [`ResetLayer`]

- the layer ref-count reaching zero, either via [`ReleaseLayer`] or by being released

by a layer stack

- destruction of the session, which ends every binding it holds

For a binding ended while the session is alive, Scenic signals at the first frame

retire after that point. Bindings that never reached the screen (e.g. one superseded

within a single batch, or one lost when several

[`fuchsia.ui.composition/Flatland.Present`] calls are squashed into a single

frame) signal at that same retire rather than immediately. The signal is

therefore conservative by at most one frame; it is never early.

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