pub use aeth_window_macros::forward_winit_window_method;
use winit::window::Window as WinitWindow;
pub trait AccessWinitWindow {
fn map_winit_window<F, T>(&self, f: F) -> T
where
F: FnOnce(&Box<dyn WinitWindow>) -> T;
fn map_winit_window_mut<F, T>(&mut self, f: F) -> T
where
F: FnOnce(&mut Box<dyn WinitWindow>) -> T;
}
pub trait AccessWinitWindowExt: AccessWinitWindow {
#[forward_winit_window_method]
fn id(&self) -> winit::window::WindowId {
todo!()
}
#[forward_winit_window_method]
fn scale_factor(&self) -> f64 {
todo!()
}
#[forward_winit_window_method]
fn pre_present_notify(&self) {
todo!()
}
#[forward_winit_window_method]
fn surface_position(&self) -> winit::dpi::PhysicalPosition<i32> {
todo!()
}
#[forward_winit_window_method]
fn outer_position(
&self,
) -> Result<winit::dpi::PhysicalPosition<i32>, winit::error::RequestError> {
todo!()
}
#[forward_winit_window_method]
fn set_outer_position(&self, position: winit::dpi::Position) {
todo!()
}
#[forward_winit_window_method]
fn surface_size(&self) -> winit::dpi::PhysicalSize<u32> {
todo!()
}
#[forward_winit_window_method]
fn request_surface_size(
&self,
size: winit::dpi::Size,
) -> Option<winit::dpi::PhysicalSize<u32>> {
todo!()
}
#[forward_winit_window_method]
fn outer_size(&self) -> winit::dpi::PhysicalSize<u32> {
todo!()
}
#[forward_winit_window_method]
fn safe_area(&self) -> winit::dpi::PhysicalInsets<u32> {
todo!()
}
#[forward_winit_window_method]
fn set_min_surface_size(&self, min_size: Option<winit::dpi::Size>) {
todo!()
}
#[forward_winit_window_method]
fn set_max_surface_size(&self, min_size: Option<winit::dpi::Size>) {
todo!()
}
#[forward_winit_window_method]
fn surface_resize_increments(&self) -> Option<winit::dpi::PhysicalSize<u32>> {
todo!()
}
#[forward_winit_window_method]
fn set_surface_resize_increments(&self, increments: Option<winit::dpi::Size>) {
todo!()
}
#[forward_winit_window_method]
fn title(&self) -> String {
todo!()
}
#[forward_winit_window_method]
fn set_title(&self, title: &str) {
todo!()
}
#[forward_winit_window_method]
fn set_transparent(&self, transparent: bool) {
todo!()
}
}
impl<T> AccessWinitWindowExt for T where T: AccessWinitWindow {}