pub trait IWindow {
type EventType;
type SignalRequestType;
// Required methods
fn new(dimx: u64, dimy: u64) -> Self;
fn make_current(&self) -> Result<(), &'static str>;
fn handle_events<F>(&mut self, cb: F)
where F: FnMut(Self::EventType);
fn handle_events_pass_thru(&mut self) -> Option<Self::EventType>;
fn swap_buf(&self);
fn handle_signal_request(
&mut self,
_: &[Self::SignalRequestType],
) -> Result<(), &'static str>;
fn per_frame_setup(&mut self) -> Result<(), &'static str>;
fn get_offset(&self) -> Option<(i32, i32)>;
fn get_size(&self) -> Option<(u32, u32)>;
}Required Associated Types§
type EventType
type SignalRequestType
Required Methods§
fn new(dimx: u64, dimy: u64) -> Self
fn make_current(&self) -> Result<(), &'static str>
fn handle_events<F>(&mut self, cb: F)
fn handle_events_pass_thru(&mut self) -> Option<Self::EventType>
fn swap_buf(&self)
fn handle_signal_request( &mut self, _: &[Self::SignalRequestType], ) -> Result<(), &'static str>
fn per_frame_setup(&mut self) -> Result<(), &'static str>
fn get_offset(&self) -> Option<(i32, i32)>
fn get_size(&self) -> Option<(u32, u32)>
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.