Implement WindowContext::remove_window

This commit is contained in:
Antonio Scandurra 2023-11-02 13:37:55 +01:00
parent 089bf58934
commit c1ca7ad41d
3 changed files with 15 additions and 6 deletions

View file

@ -159,6 +159,7 @@ impl Drop for FocusHandle {
// Holds the state for a specific window.
pub struct Window {
pub(crate) handle: AnyWindowHandle,
pub(crate) removed: bool,
platform_window: Box<dyn PlatformWindow>,
display_id: DisplayId,
sprite_atlas: Arc<dyn PlatformAtlas>,
@ -229,6 +230,7 @@ impl Window {
Window {
handle,
removed: false,
platform_window,
display_id,
sprite_atlas,
@ -320,6 +322,11 @@ impl<'a> WindowContext<'a> {
self.window.dirty = true;
}
/// Close this window.
pub fn remove_window(&mut self) {
self.window.removed = true;
}
/// Obtain a new `FocusHandle`, which allows you to track and manipulate the keyboard focus
/// for elements rendered within this window.
pub fn focus_handle(&mut self) -> FocusHandle {