pub enum ManagerRequest {
    SetRootView {
        view_provider: ClientEnd<ViewProviderMarker>,
        responder: ManagerSetRootViewResponder,
    },
    PresentRootViewLegacy {
        view_holder_token: ViewHolderToken,
        view_ref: ViewRef,
        responder: ManagerPresentRootViewLegacyResponder,
    },
    PresentRootView {
        viewport_creation_token: ViewportCreationToken,
        responder: ManagerPresentRootViewResponder,
    },
}
Expand description

A protocol used to manage the scene graph of the session.

This protocol is exposed by the scene_manager component. The scene_manager component configures and constructs a scene graph in Scenic. A product may use the scene_manager to reduce Scenic-related configuration code in their session.

Variants§

§

SetRootView

Fields

§view_provider: ClientEnd<ViewProviderMarker>

Sets the root view of the scene graph to the view provided by view_provider.

Subsequent calls will replace the view tree with the one starting at the new root view. The root view is shared between all clients of Manager.

Returns a fuchsia.ui.views.ViewRef referencing the view provided by view_provider. If this ViewRef cannot be returned (e.g. in Flatland case, if the ViewCreationToken is dropped before it is given to Scenic), then the connection to the Manager will be closed.

The client can expect that:

(1) Its root view will be focused once it’s connected to the scene. (2) The logical size and position of its root view match the display.

TODO(https://fxbug.dev/42055565): Fix this situation. NOTE: the ViewRef is only returned after the child view is connected to the scene graph. Therefore, the caller must guarantee that the child view will eventually be connected before waiting for the ViewRef; if the child view doesn’t connect, it is possible to deadlock.

§

PresentRootViewLegacy

Fields

§view_holder_token: ViewHolderToken
§view_ref: ViewRef

Presents a view tree to the display, via the provided view holder token.

This call will present the view using the legacy GFX API.

Subsequent calls will replace the view tree with the one starting at the new root viewport. The root view is shared between all clients of Manager.

The client can expect that:

(1) Its root view will be focused once it’s connected to the scene. (2) The logical size and position of its root view match the display.

TODO(https://fxbug.dev/42055565): Fix this situation. NOTE: this method returns only after the child view is connected to the scene graph. Therefore, the caller must guarantee that the child view will eventually be connected before waiting for the return; if the child view doesn’t connect, it is possible to deadlock.

§

PresentRootView

Fields

§viewport_creation_token: ViewportCreationToken

Presents a view tree to the display, via the provided viewport token.

Subsequent calls will replace the view tree with the one starting at the new root viewport. The root view is shared between all clients of Manager.

The client can expect that:

(1) Its root view will be focused once it’s connected to the scene. (2) The logical size and position of its root view match the display.

TODO(https://fxbug.dev/42055565): Fix this situation. NOTE: this method returns only after the child view is connected to the scene graph. Therefore, the caller must guarantee that the child view will eventually be connected before waiting for the return; if the child view doesn’t connect, it is possible to deadlock.

Implementations§

source§

impl ManagerRequest

source

pub fn into_set_root_view( self ) -> Option<(ClientEnd<ViewProviderMarker>, ManagerSetRootViewResponder)>

source

pub fn into_present_root_view_legacy( self ) -> Option<(ViewHolderToken, ViewRef, ManagerPresentRootViewLegacyResponder)>

source

pub fn into_present_root_view( self ) -> Option<(ViewportCreationToken, ManagerPresentRootViewResponder)>

source

pub fn method_name(&self) -> &'static str

Name of the method defined in FIDL

Trait Implementations§

source§

impl Debug for ManagerRequest

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T> Encode<Ambiguous1> for T

§

unsafe fn encode( self, _encoder: &mut Encoder<'_>, _offset: usize, _depth: Depth ) -> Result<(), Error>

Encodes the object into the encoder’s buffers. Any handles stored in the object are swapped for Handle::INVALID. Read more
§

impl<T> Encode<Ambiguous2> for T

§

unsafe fn encode( self, _encoder: &mut Encoder<'_>, _offset: usize, _depth: Depth ) -> Result<(), Error>

Encodes the object into the encoder’s buffers. Any handles stored in the object are swapped for Handle::INVALID. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more