1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
use crate::*; pub trait PlatformSystemExt { /// Create a new platform system and its main thread state pair. /// /// **Do not** call if using the `riddle` crate as recommended, as ` RiddleLib` manages /// the creation and platform lifetime automatically. /// /// # Example /// /// This example is only relevant if you're not using `riddle` /// /// ```no_run /// # use riddle_platform_winit::{ext::*, *}; /// # fn main() -> Result<(), PlatformError> { /// let (platform_system, main_thread_state) = PlatformSystem::new_shared(); /// let window = WindowBuilder::new().build(main_thread_state.borrow_context())?; /// /// main_thread_state.run::<PlatformError, _>(move |ctx| { /// match ctx.event() { /// PlatformEvent::WindowClose(_) => { ctx.quit(); } /// _ => () /// }; /// Ok(()) /// }) /// # } /// ``` fn new_shared() -> (PlatformSystemHandle, PlatformMainThreadState); }