pub trait Connection: Sized {
type Adapter;
type Device;
type NativeWidget;
// Required methods
fn new() -> Result<Self, Error>;
fn gl_api(&self) -> GLApi;
fn create_adapter(&self) -> Result<Self::Adapter, Error>;
fn create_hardware_adapter(&self) -> Result<Self::Adapter, Error>;
fn create_low_power_adapter(&self) -> Result<Self::Adapter, Error>;
fn create_software_adapter(&self) -> Result<Self::Adapter, Error>;
fn create_device(
&self,
adapter: &Self::Adapter,
) -> Result<Self::Device, Error>;
fn from_display_handle(handle: DisplayHandle<'_>) -> Result<Self, Error>;
unsafe fn create_native_widget_from_ptr(
&self,
raw: *mut c_void,
size: Size2D<i32>,
) -> Self::NativeWidget;
fn create_native_widget_from_window_handle(
&self,
window: WindowHandle<'_>,
size: Size2D<i32>,
) -> Result<Self::NativeWidget, Error>;
}Expand description
Methods relating to display server connections.
Required Associated Types§
Sourcetype NativeWidget
type NativeWidget
The native widget type associated with this connection.
Required Methods§
Sourcefn gl_api(&self) -> GLApi
fn gl_api(&self) -> GLApi
Returns the OpenGL API flavor that this connection supports (OpenGL or OpenGL ES).
Sourcefn create_adapter(&self) -> Result<Self::Adapter, Error>
fn create_adapter(&self) -> Result<Self::Adapter, Error>
Returns the “best” adapter on this system, preferring high-performance hardware adapters.
This is an alias for Connection::create_hardware_adapter().
Sourcefn create_hardware_adapter(&self) -> Result<Self::Adapter, Error>
fn create_hardware_adapter(&self) -> Result<Self::Adapter, Error>
Returns the “best” adapter on this system, preferring high-performance hardware adapters.
Sourcefn create_low_power_adapter(&self) -> Result<Self::Adapter, Error>
fn create_low_power_adapter(&self) -> Result<Self::Adapter, Error>
Returns the “best” adapter on this system, preferring low-power hardware adapters.
Sourcefn create_software_adapter(&self) -> Result<Self::Adapter, Error>
fn create_software_adapter(&self) -> Result<Self::Adapter, Error>
Returns the “best” adapter on this system, preferring software adapters.
Sourcefn create_device(&self, adapter: &Self::Adapter) -> Result<Self::Device, Error>
fn create_device(&self, adapter: &Self::Adapter) -> Result<Self::Device, Error>
Opens a device.
Sourcefn from_display_handle(handle: DisplayHandle<'_>) -> Result<Self, Error>
fn from_display_handle(handle: DisplayHandle<'_>) -> Result<Self, Error>
Opens the display connection corresponding to the given DisplayHandle.
Sourceunsafe fn create_native_widget_from_ptr(
&self,
raw: *mut c_void,
size: Size2D<i32>,
) -> Self::NativeWidget
unsafe fn create_native_widget_from_ptr( &self, raw: *mut c_void, size: Size2D<i32>, ) -> Self::NativeWidget
Creates a native widget from a raw pointer
Sourcefn create_native_widget_from_window_handle(
&self,
window: WindowHandle<'_>,
size: Size2D<i32>,
) -> Result<Self::NativeWidget, Error>
fn create_native_widget_from_window_handle( &self, window: WindowHandle<'_>, size: Size2D<i32>, ) -> Result<Self::NativeWidget, Error>
Create a native widget type from the given WindowHandle.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".