pub struct WindowManager {
pub windows: HashMap<WindowId, WindowData>,
pub window_stack: Vec<WindowId>,
pub winit_to_core: HashMap<WindowId, WindowId>,
pub core_to_winit: HashMap<WindowId, WindowId>,
pub next_core_id: u64,
}Expand description
Dynamic manager for all active native windows and their rendering contexts.
Fields§
§windows: HashMap<WindowId, WindowData>Mapping from native winit WindowId to internal WindowData.
window_stack: Vec<WindowId>Stack of windows ordered from back to front (end of vector is top-most).
winit_to_core: HashMap<WindowId, WindowId>Mapping of winit window IDs to core IDs.
core_to_winit: HashMap<WindowId, WindowId>Mapping of core window IDs to winit IDs.
next_core_id: u64Monotonic counter to allocate unique core window IDs.
Implementations§
Source§impl WindowManager
impl WindowManager
Sourcepub fn create_window(
&mut self,
event_loop: &ActiveEventLoop,
gpu: &Option<Arc<Mutex<SurtrRenderer>>>,
proxy: EventLoopProxy<AppEvent>,
config: WindowConfig,
is_main: bool,
view: &impl View,
) -> WindowHandle
pub fn create_window( &mut self, event_loop: &ActiveEventLoop, gpu: &Option<Arc<Mutex<SurtrRenderer>>>, proxy: EventLoopProxy<AppEvent>, config: WindowConfig, is_main: bool, view: &impl View, ) -> WindowHandle
Create and register a new native window.
Sourcepub fn close_window(&mut self, winit_id: WindowId)
pub fn close_window(&mut self, winit_id: WindowId)
Close and unregister a native window.
Sourcepub fn bring_to_front(&mut self, winit_id: WindowId)
pub fn bring_to_front(&mut self, winit_id: WindowId)
Bring a native window to the foreground and focus it.
Sourcepub fn window(&self, winit_id: WindowId) -> Option<&WindowData>
pub fn window(&self, winit_id: WindowId) -> Option<&WindowData>
Get a reference to a window’s data.
Sourcepub fn window_mut(&mut self, winit_id: WindowId) -> Option<&mut WindowData>
pub fn window_mut(&mut self, winit_id: WindowId) -> Option<&mut WindowData>
Get a mutable reference to a window’s data.
Sourcepub fn window_order(&self) -> &[WindowId]
pub fn window_order(&self) -> &[WindowId]
Return the list of window IDs in current Z-order stack.
Trait Implementations§
Auto Trait Implementations§
impl !RefUnwindSafe for WindowManager
impl !UnwindSafe for WindowManager
impl Freeze for WindowManager
impl Send for WindowManager
impl Sync for WindowManager
impl Unpin for WindowManager
impl UnsafeUnpin for WindowManager
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
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
impl<S, T> Duplex<S> for Twhere
T: FromSample<S> + ToSample<S>,
Source§impl<S> FromSample<S> for S
impl<S> FromSample<S> for S
fn from_sample_(s: S) -> S
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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>
Converts
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>
Converts
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 moreSource§impl<F, T> IntoSample<T> for Fwhere
T: FromSample<F>,
impl<F, T> IntoSample<T> for Fwhere
T: FromSample<F>,
fn into_sample(self) -> T
Source§impl<T> Pointable for T
impl<T> Pointable for T
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
Source§impl<R, P> ReadPrimitive<R> for P
impl<R, P> ReadPrimitive<R> for P
Source§fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
Read this value from the supplied reader. Same as
ReadEndian::read_from_little_endian().