pub struct SceneManager { /* private fields */ }
Expand description
SceneManager manages the platform/framework-controlled part of the global Scenic scene graph, with the fundamental goal of connecting the physical display to the product-defined user shell. The part of the scene graph managed by the scene manager is split between three Flatland instances, which are linked by view/viewport pairs.
Implementations§
Source§impl SceneManager
impl SceneManager
pub async fn new( display: FlatlandDisplayProxy, singleton_display_info: InfoProxy, root_flatland: FlatlandProxy, pointerinjector_flatland: FlatlandProxy, scene_flatland: FlatlandProxy, a11y_view_provider: Option<ProviderProxy>, display_rotation: u64, display_pixel_density: Option<f32>, viewing_distance: Option<ViewingDistance>, ) -> Result<Self, Error>
Trait Implementations§
Source§impl SceneManagerTrait for SceneManager
impl SceneManagerTrait for SceneManager
Source§fn set_root_view<'life0, 'async_trait>(
&'life0 mut self,
viewport_creation_token: ViewportCreationToken,
_view_ref: Option<ViewRef>,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn set_root_view<'life0, 'async_trait>(
&'life0 mut self,
viewport_creation_token: ViewportCreationToken,
_view_ref: Option<ViewRef>,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Sets the root view for the scene.
ViewRef will be unset for Flatland views.
Removes any previous root view, as well as all of its descendants.
Source§fn set_root_view_deprecated<'life0, 'async_trait>(
&'life0 mut self,
view_provider: ViewProviderProxy,
) -> Pin<Box<dyn Future<Output = Result<ViewRef, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn set_root_view_deprecated<'life0, 'async_trait>(
&'life0 mut self,
view_provider: ViewProviderProxy,
) -> Pin<Box<dyn Future<Output = Result<ViewRef, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
DEPRECATED: Use ViewportToken version above. Sets the root view for the scene.
Removes any previous root view, as well as all of its descendants.
Source§fn present_root_view(&self)
fn present_root_view(&self)
Requests a new frame be presented in the scene.
Source§fn set_cursor_position(&mut self, position_physical_px: Position)
fn set_cursor_position(&mut self, position_physical_px: Position)
Sets the position of the cursor in the current scene. If no cursor has been created it will create one using default settings.
§Parameters
position_physical_px
: A [Position
] struct representing the cursor position, in physical pixels.
§Notes
If a custom cursor has not been set using set_cursor_image
or set_cursor_shape
a default
cursor will be created and added to the scene. The implementation of the SceneManager
trait
is responsible for translating the raw input position into “pips”.
Source§fn set_cursor_visibility(&mut self, visible: bool)
fn set_cursor_visibility(&mut self, visible: bool)
Sets the visibility of the cursor in the current scene. The cursor is visible by default.
§Parameters
visible
: Boolean value indicating if the cursor should be visible.
Source§fn get_pointerinjection_display_size(&self) -> Size
fn get_pointerinjection_display_size(&self) -> Size
Input pipeline handlers such as TouchInjectorHandler require the display size in order to be instantiated. This method exposes that information.
fn get_pointerinjection_view_refs(&self) -> (ViewRef, ViewRef)
fn get_pointerinjector_viewport_watcher_subscription( &self, ) -> InjectorViewportSubscriber
fn get_display_metrics(&self) -> &DisplayMetrics
Auto Trait Implementations§
impl Freeze for SceneManager
impl !RefUnwindSafe for SceneManager
impl Send for SceneManager
impl Sync for SceneManager
impl Unpin for SceneManager
impl !UnwindSafe for SceneManager
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T, D> Encode<Ambiguous1, D> for Twhere
D: ResourceDialect,
impl<T, D> Encode<Ambiguous1, D> for Twhere
D: ResourceDialect,
Source§impl<T, D> Encode<Ambiguous2, D> for Twhere
D: ResourceDialect,
impl<T, D> Encode<Ambiguous2, D> for Twhere
D: ResourceDialect,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more