pub trait App: 'static + Sized {
// Required methods
fn init(
config: &SurfaceConfiguration,
adapter: &Adapter,
device: &Device,
queue: &Queue,
) -> Self;
fn resize(
&mut self,
config: &SurfaceConfiguration,
device: &Device,
queue: &Queue,
);
fn update(
&mut self,
event: WindowEvent<'_>,
config: &SurfaceConfiguration,
device: &Device,
queue: &Queue,
);
fn render(
&mut self,
view: &TextureView,
device: &Device,
queue: &Queue,
spawner: &Spawner<'_>,
);
// Provided methods
fn optional_features() -> Features { ... }
fn required_features() -> Features { ... }
fn required_downlevel_capabilities() -> DownlevelCapabilities { ... }
fn required_limits() -> Limits { ... }
}
Required Methods§
fn init( config: &SurfaceConfiguration, adapter: &Adapter, device: &Device, queue: &Queue, ) -> Self
fn resize( &mut self, config: &SurfaceConfiguration, device: &Device, queue: &Queue, )
fn update( &mut self, event: WindowEvent<'_>, config: &SurfaceConfiguration, device: &Device, queue: &Queue, )
fn render( &mut self, view: &TextureView, device: &Device, queue: &Queue, spawner: &Spawner<'_>, )
Provided Methods§
fn optional_features() -> Features
fn required_features() -> Features
fn required_downlevel_capabilities() -> DownlevelCapabilities
fn required_limits() -> Limits
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.