Expand description
Interfaces for wayland objects
This module defines common interfaces for wayland objects. MonoObject
describes a object with a concrete type, whereas AnyObject
describes a
type erased object, akin to dyn Any
.
Note these interfaces really only represents part of what a wayland object
does. These objects would also implement one of the RequestDispatch
traits
generated from the wayland protocol specification, which will be used by the
Object
trait to handle wayland requests.
Normally, you wouldn’t implement traits defined here by hand, but instead
use the #[derive(Object)]
or the
#[wayland_object]
attribute to generate the impls for
you.
Reference implementations of the core wayland objects: wl_display
,
wl_registry
, and wl_callback
are also provided here.
Re-exports
pub use runa_macros::Object;
Structs
- Default wl_callback implementation
- Default wl_display implementation
- Default wl_registry implementation
Constants
- The object ID of the wl_display object
Traits
- A polymorphic object, i.e. it’s an union of multiple objects types.
- An monomorphic object, i.e. it’s a single object whose interface is known, as opposed to
AnyObject
. - A wayland object.
Attribute Macros
- Generate
Object
impls for types that implementRequestDispatch
for a certain interface. Should be attached toRequestDispatch
impls.