api: add ApplicationHandler and matching run APIs
Add a simple `ApplicationHandler` trait since winit is moving towards trait based API. Add `run_app` group of APIs to accept `&mut impl ApplicationHandler` deprecating the old `run` APIs. Part-of: https://github.com/rust-windowing/winit/issues/3432
This commit is contained in:
parent
fc8a008b25
commit
d123cd2f8e
18 changed files with 821 additions and 651 deletions
|
|
@ -20,7 +20,7 @@ use serde::{Deserialize, Serialize};
|
|||
///
|
||||
/// The window is closed when dropped.
|
||||
///
|
||||
/// # Threading
|
||||
/// ## Threading
|
||||
///
|
||||
/// This is `Send + Sync`, meaning that it can be freely used from other
|
||||
/// threads.
|
||||
|
|
@ -30,37 +30,6 @@ use serde::{Deserialize, Serialize};
|
|||
/// window from a thread other than the main, the code is scheduled to run on
|
||||
/// the main thread, and your thread may be blocked until that completes.
|
||||
///
|
||||
/// # Example
|
||||
///
|
||||
/// ```no_run
|
||||
/// use winit::{
|
||||
/// event::{Event, WindowEvent},
|
||||
/// event_loop::{ControlFlow, EventLoop},
|
||||
/// window::Window,
|
||||
/// };
|
||||
///
|
||||
/// let mut event_loop = EventLoop::new().unwrap();
|
||||
/// event_loop.set_control_flow(ControlFlow::Wait);
|
||||
/// let mut windows = Vec::new();
|
||||
///
|
||||
/// event_loop.run(move |event, event_loop| {
|
||||
/// match event {
|
||||
/// Event::Resumed => {
|
||||
/// let window = event_loop.create_window(Window::default_attributes()).unwrap();
|
||||
/// windows.push(window);
|
||||
/// }
|
||||
/// Event::WindowEvent {
|
||||
/// event: WindowEvent::CloseRequested,
|
||||
/// ..
|
||||
/// } => {
|
||||
/// windows.clear();
|
||||
/// event_loop.exit();
|
||||
/// }
|
||||
/// _ => (),
|
||||
/// }
|
||||
/// });
|
||||
/// ```
|
||||
///
|
||||
/// ## Platform-specific
|
||||
///
|
||||
/// **Web:** The [`Window`], which is represented by a `HTMLElementCanvas`, can
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue