Defined in fuchsia.ui.annotation/annotation.fidl
Annotation allows a privileged client service to create an "annotation"
ViewHolder, linked with an annotation
View drawn within the View-space
of the existing client
Creates a new annotation
ViewHolder. The created ViewHolder holds an
View which renders within the existing client's View-space
without that client's knowledge.
The client should create a
ViewHolderToken pair, pass
ViewHolderToken as an argument to this function to create the
ViewHolder, and create an annotation
View in its own
Session using the corresponding
View has the following properties:
+ It is a descendent of
client_view's ViewNode in the scene graph
but it's not visible by the Session of
+ It does not receive or intercept any hit event.
+ It always has the same rendering state as
client_view and always
match the size and metrics.
client_view's Session receives the following Events, all its
Views' Sessions will receive the corresponding Events of
Since creating a ViewHolder modifies the SceneGraph, this function won't take effect until we schedule a new frame by calling Present() on any Session.
There are a few erroneous conditions where the annotation
will not be created and the the FIDL binding will be disconnected.
Clients should remove the annotation
Session they create.
It may return the following epitaphs:
- ZX_ERR_INVALID_ARGS, if the provided
- ZX_ERR_PEER_CLOSED, if Scenic fails creating the annotation