Rename run_ondemand to run_on_demand

This commit is contained in:
epimeletes 2023-10-03 23:24:42 +02:00 committed by GitHub
parent c7cf0cfd83
commit ee0db52ac4
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
12 changed files with 25 additions and 24 deletions

View file

@ -8,6 +8,7 @@ And please only add new entries to the top of this list, right below the `# Unre
# Unreleased # Unreleased
- Renamed `EventLoopExtRunOnDemand` / `run_ondemand` to `EventLoopExtRunOnDemand` / `run_on_demand`.
- Make iOS `MonitorHandle` and `VideoMode` usable from other threads. - Make iOS `MonitorHandle` and `VideoMode` usable from other threads.
- On Web, `ControlFlow::WaitUntil` now uses the Prioritized Task Scheduling API. `setTimeout()`, with a trick to circumvent throttling to 4ms, is used as a fallback. - On Web, `ControlFlow::WaitUntil` now uses the Prioritized Task Scheduling API. `setTimeout()`, with a trick to circumvent throttling to 4ms, is used as a fallback.
- On Web, never return a `MonitorHandle`. - On Web, never return a `MonitorHandle`.

View file

@ -11,7 +11,7 @@ fn main() -> Result<(), impl std::error::Error> {
error::EventLoopError, error::EventLoopError,
event::{Event, WindowEvent}, event::{Event, WindowEvent},
event_loop::EventLoop, event_loop::EventLoop,
platform::run_ondemand::EventLoopExtRunOnDemand, platform::run_on_demand::EventLoopExtRunOnDemand,
window::{Window, WindowBuilder, WindowId}, window::{Window, WindowBuilder, WindowId},
}; };
@ -30,7 +30,7 @@ fn main() -> Result<(), impl std::error::Error> {
fn run_app(event_loop: &mut EventLoop<()>, idx: usize) -> Result<(), EventLoopError> { fn run_app(event_loop: &mut EventLoop<()>, idx: usize) -> Result<(), EventLoopError> {
let mut app = App::default(); let mut app = App::default();
event_loop.run_ondemand(move |event, elwt| { event_loop.run_on_demand(move |event, elwt| {
println!("Run {idx}: {:?}", event); println!("Run {idx}: {:?}", event);
if let Some(window) = &app.window { if let Some(window) = &app.window {

View file

@ -11,7 +11,7 @@
//! //!
//! And the following platform-specific modules: //! And the following platform-specific modules:
//! //!
//! - `run_ondemand` (available on `windows`, `unix`, `macos`, `android`) //! - `run_on_demand` (available on `windows`, `unix`, `macos`, `android`)
//! - `pump_events` (available on `windows`, `unix`, `macos`, `android`) //! - `pump_events` (available on `windows`, `unix`, `macos`, `android`)
//! //!
//! However only the module corresponding to the platform you're compiling to will be available. //! However only the module corresponding to the platform you're compiling to will be available.
@ -42,7 +42,7 @@ pub mod x11;
x11_platform, x11_platform,
wayland_platform wayland_platform
))] ))]
pub mod run_ondemand; pub mod run_on_demand;
#[cfg(any( #[cfg(any(
windows_platform, windows_platform,

View file

@ -28,7 +28,7 @@ pub trait EventLoopExtRunOnDemand {
/// to while maintaining the full state of your application. (If you need something like this /// to while maintaining the full state of your application. (If you need something like this
/// you can look at the [`EventLoopExtPumpEvents::pump_events()`] API) /// you can look at the [`EventLoopExtPumpEvents::pump_events()`] API)
/// ///
/// Each time `run_ondemand` is called the `event_handler` can expect to receive a /// Each time `run_on_demand` is called the `event_handler` can expect to receive a
/// `NewEvents(Init)` and `Resumed` event (even on platforms that have no suspend/resume /// `NewEvents(Init)` and `Resumed` event (even on platforms that have no suspend/resume
/// lifecycle) - which can be used to consistently initialize application state. /// lifecycle) - which can be used to consistently initialize application state.
/// ///
@ -59,7 +59,7 @@ pub trait EventLoopExtRunOnDemand {
/// ///
/// [`exit()`]: EventLoopWindowTarget::exit /// [`exit()`]: EventLoopWindowTarget::exit
/// [`set_control_flow()`]: EventLoopWindowTarget::set_control_flow /// [`set_control_flow()`]: EventLoopWindowTarget::set_control_flow
fn run_ondemand<F>(&mut self, event_handler: F) -> Result<(), EventLoopError> fn run_on_demand<F>(&mut self, event_handler: F) -> Result<(), EventLoopError>
where where
F: FnMut(Event<Self::UserEvent>, &EventLoopWindowTarget<Self::UserEvent>); F: FnMut(Event<Self::UserEvent>, &EventLoopWindowTarget<Self::UserEvent>);
} }
@ -67,10 +67,10 @@ pub trait EventLoopExtRunOnDemand {
impl<T> EventLoopExtRunOnDemand for EventLoop<T> { impl<T> EventLoopExtRunOnDemand for EventLoop<T> {
type UserEvent = T; type UserEvent = T;
fn run_ondemand<F>(&mut self, event_handler: F) -> Result<(), EventLoopError> fn run_on_demand<F>(&mut self, event_handler: F) -> Result<(), EventLoopError>
where where
F: FnMut(Event<Self::UserEvent>, &EventLoopWindowTarget<Self::UserEvent>), F: FnMut(Event<Self::UserEvent>, &EventLoopWindowTarget<Self::UserEvent>),
{ {
self.event_loop.run_ondemand(event_handler) self.event_loop.run_on_demand(event_handler)
} }
} }

View file

@ -488,10 +488,10 @@ impl<T: 'static> EventLoop<T> {
where where
F: FnMut(event::Event<T>, &event_loop::EventLoopWindowTarget<T>), F: FnMut(event::Event<T>, &event_loop::EventLoopWindowTarget<T>),
{ {
self.run_ondemand(event_handler) self.run_on_demand(event_handler)
} }
pub fn run_ondemand<F>(&mut self, mut event_handler: F) -> Result<(), EventLoopError> pub fn run_on_demand<F>(&mut self, mut event_handler: F) -> Result<(), EventLoopError>
where where
F: FnMut(event::Event<T>, &event_loop::EventLoopWindowTarget<T>), F: FnMut(event::Event<T>, &event_loop::EventLoopWindowTarget<T>),
{ {

View file

@ -774,14 +774,14 @@ impl<T: 'static> EventLoop<T> {
where where
F: FnMut(crate::event::Event<T>, &RootELW<T>), F: FnMut(crate::event::Event<T>, &RootELW<T>),
{ {
self.run_ondemand(callback) self.run_on_demand(callback)
} }
pub fn run_ondemand<F>(&mut self, callback: F) -> Result<(), EventLoopError> pub fn run_on_demand<F>(&mut self, callback: F) -> Result<(), EventLoopError>
where where
F: FnMut(crate::event::Event<T>, &RootELW<T>), F: FnMut(crate::event::Event<T>, &RootELW<T>),
{ {
x11_or_wayland!(match self; EventLoop(evlp) => evlp.run_ondemand(callback)) x11_or_wayland!(match self; EventLoop(evlp) => evlp.run_on_demand(callback))
} }
pub fn pump_events<F>(&mut self, timeout: Option<Duration>, callback: F) -> PumpStatus pub fn pump_events<F>(&mut self, timeout: Option<Duration>, callback: F) -> PumpStatus

View file

@ -40,7 +40,7 @@ type WaylandDispatcher = calloop::Dispatcher<'static, WaylandSource<WinitState>,
/// The Wayland event loop. /// The Wayland event loop.
pub struct EventLoop<T: 'static> { pub struct EventLoop<T: 'static> {
/// Has `run` or `run_ondemand` been called or a call to `pump_events` that starts the loop /// Has `run` or `run_on_demand` been called or a call to `pump_events` that starts the loop
loop_running: bool, loop_running: bool,
buffer_sink: EventSink, buffer_sink: EventSink,
@ -189,7 +189,7 @@ impl<T: 'static> EventLoop<T> {
Ok(event_loop) Ok(event_loop)
} }
pub fn run_ondemand<F>(&mut self, mut event_handler: F) -> Result<(), EventLoopError> pub fn run_on_demand<F>(&mut self, mut event_handler: F) -> Result<(), EventLoopError>
where where
F: FnMut(Event<T>, &RootEventLoopWindowTarget<T>), F: FnMut(Event<T>, &RootEventLoopWindowTarget<T>),
{ {
@ -212,7 +212,7 @@ impl<T: 'static> EventLoop<T> {
}; };
// Applications aren't allowed to carry windows between separate // Applications aren't allowed to carry windows between separate
// `run_ondemand` calls but if they have only just dropped their // `run_on_demand` calls but if they have only just dropped their
// windows we need to make sure those last requests are sent to the // windows we need to make sure those last requests are sent to the
// compositor. // compositor.
let _ = self.roundtrip().map_err(EventLoopError::Os); let _ = self.roundtrip().map_err(EventLoopError::Os);

View file

@ -398,7 +398,7 @@ impl<T: 'static> EventLoop<T> {
&self.target &self.target
} }
pub fn run_ondemand<F>(&mut self, mut event_handler: F) -> Result<(), EventLoopError> pub fn run_on_demand<F>(&mut self, mut event_handler: F) -> Result<(), EventLoopError>
where where
F: FnMut(Event<T>, &RootELW<T>), F: FnMut(Event<T>, &RootELW<T>),
{ {
@ -421,7 +421,7 @@ impl<T: 'static> EventLoop<T> {
}; };
// Applications aren't allowed to carry windows between separate // Applications aren't allowed to carry windows between separate
// `run_ondemand` calls but if they have only just dropped their // `run_on_demand` calls but if they have only just dropped their
// windows we need to make sure those last requests are sent to the // windows we need to make sure those last requests are sent to the
// X Server. // X Server.
let wt = get_xtarget(&self.target); let wt = get_xtarget(&self.target);

View file

@ -359,7 +359,7 @@ impl AppState {
/// and can lead to undefined behaviour if the callback is not cleared before the end of /// and can lead to undefined behaviour if the callback is not cleared before the end of
/// its real lifetime. /// its real lifetime.
/// ///
/// All public APIs that take an event callback (`run`, `run_ondemand`, /// All public APIs that take an event callback (`run`, `run_on_demand`,
/// `pump_events`) _must_ pair a call to `set_callback` with /// `pump_events`) _must_ pair a call to `set_callback` with
/// a call to `clear_callback` before returning to avoid undefined behaviour. /// a call to `clear_callback` before returning to avoid undefined behaviour.
pub unsafe fn set_callback<T>( pub unsafe fn set_callback<T>(

View file

@ -231,14 +231,14 @@ impl<T> EventLoop<T> {
where where
F: FnMut(Event<T>, &RootWindowTarget<T>), F: FnMut(Event<T>, &RootWindowTarget<T>),
{ {
self.run_ondemand(callback) self.run_on_demand(callback)
} }
// NB: we don't base this on `pump_events` because for `MacOs` we can't support // NB: we don't base this on `pump_events` because for `MacOs` we can't support
// `pump_events` elegantly (we just ask to run the loop for a "short" amount of // `pump_events` elegantly (we just ask to run the loop for a "short" amount of
// time and so a layered implementation would end up using a lot of CPU due to // time and so a layered implementation would end up using a lot of CPU due to
// redundant wake ups. // redundant wake ups.
pub fn run_ondemand<F>(&mut self, callback: F) -> Result<(), EventLoopError> pub fn run_on_demand<F>(&mut self, callback: F) -> Result<(), EventLoopError>
where where
F: FnMut(Event<T>, &RootWindowTarget<T>), F: FnMut(Event<T>, &RootWindowTarget<T>),
{ {

View file

@ -252,10 +252,10 @@ impl<T: 'static> EventLoop<T> {
where where
F: FnMut(Event<T>, &RootELW<T>), F: FnMut(Event<T>, &RootELW<T>),
{ {
self.run_ondemand(event_handler) self.run_on_demand(event_handler)
} }
pub fn run_ondemand<F>(&mut self, mut event_handler: F) -> Result<(), EventLoopError> pub fn run_on_demand<F>(&mut self, mut event_handler: F) -> Result<(), EventLoopError>
where where
F: FnMut(Event<T>, &RootELW<T>), F: FnMut(Event<T>, &RootELW<T>),
{ {

View file

@ -88,7 +88,7 @@ impl<T> EventLoopRunner<T> {
/// outlive the EventLoopRunner) and can lead to undefined behaviour if /// outlive the EventLoopRunner) and can lead to undefined behaviour if
/// the handler is not cleared before the end of real lifetime. /// the handler is not cleared before the end of real lifetime.
/// ///
/// All public APIs that take an event handler (`run`, `run_ondemand`, /// All public APIs that take an event handler (`run`, `run_on_demand`,
/// `pump_events`) _must_ pair a call to `set_event_handler` with /// `pump_events`) _must_ pair a call to `set_event_handler` with
/// a call to `clear_event_handler` before returning to avoid /// a call to `clear_event_handler` before returning to avoid
/// undefined behaviour. /// undefined behaviour.