class ViewTreeWatcher
Defined at line 44 of file fidling/gen/sdk/fidl/fuchsia.ui.observation.geometry/fuchsia.ui.observation.geometry/cpp/fidl/fuchsia.ui.observation.geometry/cpp/markers.h
A method of obtaining view tree snapshots for a particular view, the "context
view", and its child views, if any. The returned data is a sequence of
snapshots during the period of observation, which starts at the client's
prior Watch() call's [`epoch_end`] (or zx.Time 0), and ending at the
current [`epoch_end`]. The timebase is ZX_CLOCK_MONOTONIC.
Clients typically obtain a `ViewTreeWatcher` capability from within a test,
and it is not generally possible to obtain outside of a test environment.
For more information see `fuchsia.ui.observation.test.Registry` and
`fuchsia.ui.test.scene.Controller`.
Usage note. With this protocol, a client can watch for changes to the view
tree over which it has authority. For example, if a client owns view A, then
A serves as the context view for A's subtree (i.e., a "root view"), where A
is a parent of view B, and B is a parent of view C. The client can then
observe key lifecycle events in all of A, B, and C, such as newly connected
views, changes to view position and size, etc. In doing so, a client can
gate its actions on changes to the view tree, in a reliable and ergonomic
manner. For example, a client can wait for a descendant view C to become
connected before requesting a focus transfer to C.
Configuration: The context view is determined outside of this protocol.
Frequency: A client can receive one or more snapshots per frame. Clients
should not "count snapshots", as the per-frame snapshot count can be
non-deterministic. Instead, clients should look for specific conditions on
the snapshot state.
Issuance: If the context view is disconnected from a display, no
frames are issued on behalf of the context view, and a Watch() call will
sit quietly.
Lifecycle: The server endpoint is closed when the context view dies.
Public Members
static Openness kOpenness