pub struct Display { /* private fields */ }Expand description
Implementations§
Source§impl Display
impl Display
Sourcepub fn from_display_id(display_id: EGLNativeDisplayType) -> Result<Display>
pub fn from_display_id(display_id: EGLNativeDisplayType) -> Result<Display>
[EGL 1.0] Create a Display from an EGL display connection.
On success, returns a Display value that will clean up resources when terminated.
If no display connection matching display_id is available, EGL_NO_DISPLAY is
returned. No error is generated.
§display_id
Specifies the display to connect to. egl::EGL_DEFAULT_DISPLAY indicates the
default display.
Sourcepub fn from_default_display() -> Result<Display>
pub fn from_default_display() -> Result<Display>
[EGL 1.0] Creates a Display from the default display.
This is a convenience wrapper that calls Display::from_display_id with
egl::EGL_DEFAULT_DISPLAY option.
Sourcepub fn initialize_and_get_version(&self) -> Result<Version>
pub fn initialize_and_get_version(&self) -> Result<Version>
[EGL 1.0] Initialize this EGL display connection and return EGL version.
eglInitialize initializes the EGL display connection obtained with eglGetDisplay.
Initializing an already initialized EGL display connection has no effect besides
returning the version numbers.
Sourcepub fn initialize(&self) -> Result<()>
pub fn initialize(&self) -> Result<()>
[EGL 1.0] Initialize this EGL display connection.
eglInitialize initializes the EGL display connection obtained with eglGetDisplay.
Initializing an already initialized EGL display connection has no effect.
Sourcepub fn query_client_apis(&self) -> Result<&'static str>
pub fn query_client_apis(&self) -> Result<&'static str>
[EGL 1.2] Query EGL_CLIENT_APIS.
Returns a string describing which client rendering APIs are supported. The string contains a space-separate list of API names. The list must include at least one of OpenGL, OpenGL_ES, or OpenVG. These strings correspond respectively to values EGL_OPENGL_API, EGL_OPENGL_ES_API, and EGL_OPENVG_API of the eglBindAPI, api argument.
Sourcepub fn query_vendor(&self) -> Result<&'static str>
pub fn query_vendor(&self) -> Result<&'static str>
[EGL 1.0] Query EGL_VENDOR.
The vendor-specific information is optional; if present, its format and contents are implementation specific.
Sourcepub fn query_version(&self) -> Result<&'static str>
pub fn query_version(&self) -> Result<&'static str>
[EGL 1.0] Get supported EGL version for this display.
Returns a version or release number. The EGL_VERSION string is laid out as follows:
major_version.minor_version space vendor_specific_info
Both the major and minor portions of the version number are numeric. Their values must match the major and minor values returned by initialize.
Sourcepub fn query_extensions(&self) -> Result<&'static str>
pub fn query_extensions(&self) -> Result<&'static str>
[EGL 1.0] Get the set of display extensions supported by this display.
Returns a space separated list of supported extensions.
Sourcepub fn get_configs(&self) -> Result<Vec<FrameBufferConfigRef>>
pub fn get_configs(&self) -> Result<Vec<FrameBufferConfigRef>>
[EGL 1.0] Get all possible display configurations.
Internally, this calls eglGetConfigs twice: to get total config count,
and to fill allocated memory with config handles.
These handles are then wrapped into a new Vec<FrameBufferConfigRef>.
Sourcepub fn config_filter(&self) -> ConfigFilterRef
pub fn config_filter(&self) -> ConfigFilterRef
[EGL 1.0] Creates a new config filter for this display for safe
invocation of eglChooseConfig.
See documentation of ConfigFilterRef for the list of all available filter
methods.
§Example
use egli::Display;
let display = Display::from_default_display()
.expect("failed to get default display");
let configs = display.config_filter()
.with_red_size(8)
.choose_configs();Sourcepub fn create_window_surface(
&self,
config: FrameBufferConfigRef,
window: EGLNativeWindowType,
) -> Result<Surface>
pub fn create_window_surface( &self, config: FrameBufferConfigRef, window: EGLNativeWindowType, ) -> Result<Surface>
[EGL 1.0] Create a new EGL window surface.
Sourcepub fn create_context(&self, config: FrameBufferConfigRef) -> Result<Context>
pub fn create_context(&self, config: FrameBufferConfigRef) -> Result<Context>
[EGL 1.0] Create a new EGL rendering context.
Sourcepub fn create_context_with_client_version(
&self,
config: FrameBufferConfigRef,
client_version: ContextClientVersion,
) -> Result<Context>
pub fn create_context_with_client_version( &self, config: FrameBufferConfigRef, client_version: ContextClientVersion, ) -> Result<Context>
[EGL 1.3] Create a new EGL rendering context.
Sourcepub fn make_current(
&self,
draw: &Surface,
read: &Surface,
context: &Context,
) -> Result<()>
pub fn make_current( &self, draw: &Surface, read: &Surface, context: &Context, ) -> Result<()>
[EGL 1.0] Attach an EGL rendering context to EGL surfaces.
Sourcepub fn make_not_current(&self) -> Result<()>
pub fn make_not_current(&self) -> Result<()>
[EGL 1.0] Detatch an EGL rendering context from EGL surfaces and contexts.
Sourcepub fn swap_buffers(&self, surface: &Surface) -> Result<()>
pub fn swap_buffers(&self, surface: &Surface) -> Result<()>
[EGL 1.0] Post EGL surface color buffer to a native window.
Sourcepub fn with_handle<F, R>(&self, action: F) -> Rwhere
F: FnOnce(EGLDisplay) -> R,
pub fn with_handle<F, R>(&self, action: F) -> Rwhere
F: FnOnce(EGLDisplay) -> R,
Run an action with inner handle as parameter.
Sourcepub fn forget(self) -> EGLDisplay
pub fn forget(self) -> EGLDisplay
Drops Display without cleaning up any resources.
Returns EGLDisplay handle.
Alias for Into<egl::EGLDisplay>.