Struct gpu_display::gpu_display_wl::DisplayWl
source · pub struct DisplayWl {
dmabufs: HashMap<u32, DwlDmabuf>,
ctx: DwlContext,
current_event: Option<dwl_event>,
mt_tracking_id: u16,
}
Expand description
A connection to the compositor and associated collection of state.
The user of GpuDisplay
can use AsRawDescriptor
to poll on the compositor connection’s file
descriptor. When the connection is readable, dispatch_events
can be called to process it.
Fields§
§dmabufs: HashMap<u32, DwlDmabuf>
§ctx: DwlContext
§current_event: Option<dwl_event>
§mt_tracking_id: u16
Implementations§
source§impl DisplayWl
impl DisplayWl
sourcepub fn new(wayland_path: Option<&Path>) -> GpuDisplayResult<DisplayWl>
pub fn new(wayland_path: Option<&Path>) -> GpuDisplayResult<DisplayWl>
Opens a fresh connection to the compositor.
fn ctx(&self) -> *mut dwl_context
fn pop_event(&self) -> dwl_event
fn next_tracking_id(&mut self) -> i32
fn current_tracking_id(&self) -> i32
Trait Implementations§
source§impl AsRawDescriptor for DisplayWl
impl AsRawDescriptor for DisplayWl
source§fn as_raw_descriptor(&self) -> RawDescriptor
fn as_raw_descriptor(&self) -> RawDescriptor
Returns the underlying raw descriptor. Read more
source§impl DisplayT for DisplayWl
impl DisplayT for DisplayWl
source§fn pending_events(&self) -> bool
fn pending_events(&self) -> bool
Returns true if there are events that are on the queue.
source§fn next_event(&mut self) -> GpuDisplayResult<u64>
fn next_event(&mut self) -> GpuDisplayResult<u64>
Returns the surface descirptor associated with the current event
source§fn handle_next_event(
&mut self,
_surface: &mut Box<dyn GpuDisplaySurface>
) -> Option<GpuDisplayEvents>
fn handle_next_event( &mut self, _surface: &mut Box<dyn GpuDisplaySurface> ) -> Option<GpuDisplayEvents>
Handles the event from the compositor, and returns an list of events
source§fn create_surface(
&mut self,
parent_surface_id: Option<u32>,
surface_id: u32,
scanout_id: Option<u32>,
display_params: &DisplayParameters,
surf_type: SurfaceType
) -> GpuDisplayResult<Box<dyn GpuDisplaySurface>>
fn create_surface( &mut self, parent_surface_id: Option<u32>, surface_id: u32, scanout_id: Option<u32>, display_params: &DisplayParameters, surf_type: SurfaceType ) -> GpuDisplayResult<Box<dyn GpuDisplaySurface>>
Creates a surface with the given parameters. The display backend is given a non-zero
surface_id
as a handle for subsequent operations.source§fn import_resource(
&mut self,
import_id: u32,
_surface_id: u32,
external_display_resource: DisplayExternalResourceImport<'_>
) -> Result<()>
fn import_resource( &mut self, import_id: u32, _surface_id: u32, external_display_resource: DisplayExternalResourceImport<'_> ) -> Result<()>
Imports a resource into the display backend. The display backend is given a non-zero
import_id
as a handle for subsequent operations.source§fn release_import(&mut self, _surface_id: u32, import_id: u32)
fn release_import(&mut self, _surface_id: u32, import_id: u32)
Frees a previously imported resource.
impl UnixDisplayT for DisplayWl
Auto Trait Implementations§
impl RefUnwindSafe for DisplayWl
impl !Send for DisplayWl
impl !Sync for DisplayWl
impl Unpin for DisplayWl
impl UnwindSafe for DisplayWl
Blanket Implementations§
§impl<T> AsRawDescriptors for Twhere
T: AsRawDescriptor,
impl<T> AsRawDescriptors for Twhere
T: AsRawDescriptor,
§fn as_raw_descriptors(&self) -> Vec<i32>
fn as_raw_descriptors(&self) -> Vec<i32>
Returns the underlying raw descriptors. Read more
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
Mutably borrows from an owned value. Read more
§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>
Convert
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>
Convert
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)
Convert
&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)
Convert
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.