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: 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.