pub struct WlEglSurface { /* private fields */ }
Expand description
EGL surface
This object is a simple wrapper around a wl_surface
to add the EGL
capabilities. Just use the ptr()
method once this object
is created to get the window pointer your OpenGL library is needing to initialize
the EGL context (you’ll most likely need the display ptr as well, that you can
get via the ObjectId::as_ptr()
method on of the wl_display
ID).
Implementations§
Source§impl WlEglSurface
impl WlEglSurface
Sourcepub fn new(surface: ObjectId, width: i32, height: i32) -> Result<Self, Error>
pub fn new(surface: ObjectId, width: i32, height: i32) -> Result<Self, Error>
Create an EGL surface from a wayland surface
This method will check that the provided ObjectId
is still alive and from the
correct interface (wl_surface
).
You must always destroy the WlEglSurface
before the underling wl_surface
protocol object.
Sourcepub unsafe fn new_from_raw(
surface: *mut wl_proxy,
width: i32,
height: i32,
) -> Result<Self, Error>
pub unsafe fn new_from_raw( surface: *mut wl_proxy, width: i32, height: i32, ) -> Result<Self, Error>
Create an EGL surface from a raw pointer to a wayland surface.
§Safety
The provided pointer must be a valid wl_surface
pointer from libwayland-client
.
Sourcepub fn resize(&self, width: i32, height: i32, dx: i32, dy: i32)
pub fn resize(&self, width: i32, height: i32, dx: i32, dy: i32)
Resize the EGL surface
The two first arguments (width, height)
are the new size of
the surface, the two others (dx, dy)
represent the displacement
of the top-left corner of the surface. It allows you to control the
direction of the resizing if necessary.
Trait Implementations§
Source§impl Debug for WlEglSurface
impl Debug for WlEglSurface
Source§impl Drop for WlEglSurface
impl Drop for WlEglSurface
impl Send for WlEglSurface
Auto Trait Implementations§
impl Freeze for WlEglSurface
impl RefUnwindSafe for WlEglSurface
impl !Sync for WlEglSurface
impl Unpin for WlEglSurface
impl UnwindSafe for WlEglSurface
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.