pub struct ChildViewWatcherSynchronousProxy { /* private fields */ }
Implementations§
Source§impl ChildViewWatcherSynchronousProxy
impl ChildViewWatcherSynchronousProxy
pub fn new(channel: Channel) -> Self
pub fn into_channel(self) -> Channel
Sourcepub fn wait_for_event(
&self,
deadline: MonotonicInstant,
) -> Result<ChildViewWatcherEvent, Error>
pub fn wait_for_event( &self, deadline: MonotonicInstant, ) -> Result<ChildViewWatcherEvent, Error>
Waits until an event arrives and returns it. It is safe for other threads to make concurrent requests while waiting for an event.
Sourcepub fn get_status(
&self,
___deadline: MonotonicInstant,
) -> Result<ChildViewStatus, Error>
pub fn get_status( &self, ___deadline: MonotonicInstant, ) -> Result<ChildViewStatus, Error>
A hanging get for receiving the status of a View. This provides information to the parent, such as whether or not the child has successfully presented content through this View.
This hanging get will only fire when the ChildViewStatus is different than the previously returned ChildViewStatus. This can happen immediately, and even if the creator of the Viewport hasn’t yet called Present() after calling CreateViewport(). This allows the parent to know that the child has content ready to display before the parent modifies their own local scene graph to incorporate the child content.
It is invalid to call GetStatus
while a previous call is still pending. Doing so will
cause both this channel and the Flatland channel that handed out ChildViewWatcher to be
closed.
Sourcepub fn get_view_ref(
&self,
___deadline: MonotonicInstant,
) -> Result<ViewRef, Error>
pub fn get_view_ref( &self, ___deadline: MonotonicInstant, ) -> Result<ViewRef, Error>
Hanging get to receive the ViewRef of the child View. This will only fire when the View ref is different from the previously-returned View ref. Note: currently the View ref will not change after it is first received, but this will change if/when the API changes to allow relinking of views.
The ViewRef is not returned until the View is included in the View tree, in other words when there is a chain of ancestor transforms all the way back up to the root of the scene graph, i.e. the display.
It is invalid to call GetViewRef
while a previous call is still pending. Doing so will
cause both this channel and the Flatland channel that handed out ChildViewWatcher to be
closed.
A GetViewRef
call will hang if the View was created using CreateView
, but returns the
View if the View was created using CreateView2. This is because CreateView
does not mint
a ViewRef for that View.
Trait Implementations§
Source§impl SynchronousProxy for ChildViewWatcherSynchronousProxy
impl SynchronousProxy for ChildViewWatcherSynchronousProxy
Source§type Proxy = ChildViewWatcherProxy
type Proxy = ChildViewWatcherProxy
Source§type Protocol = ChildViewWatcherMarker
type Protocol = ChildViewWatcherMarker
Proxy
controls.