pub trait HalApi: Api {
const VARIANT: Backend;
// Required methods
fn create_instance_from_hal(
name: &str,
hal_instance: Self::Instance,
) -> Instance;
fn instance_as_hal(instance: &Instance) -> Option<&Self::Instance>;
fn hub<G: GlobalIdentityHandlerFactory>(global: &Global<G>) -> &Hub<Self, G>;
fn get_surface(surface: &Surface) -> Option<&HalSurface<Self>>;
fn get_surface_mut(surface: &mut Surface) -> Option<&mut HalSurface<Self>>;
}
Required Associated Constants§
Required Methods§
fn create_instance_from_hal( name: &str, hal_instance: Self::Instance, ) -> Instance
fn instance_as_hal(instance: &Instance) -> Option<&Self::Instance>
fn hub<G: GlobalIdentityHandlerFactory>(global: &Global<G>) -> &Hub<Self, G>
fn get_surface(surface: &Surface) -> Option<&HalSurface<Self>>
fn get_surface_mut(surface: &mut Surface) -> Option<&mut HalSurface<Self>>
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.