pub trait RequestDispatch<Ctx> {
type Error;
type DestroyFut<'a>: Future<Output = Result<(), Self::Error>> + 'a
where Ctx: 'a;
type GetViewportFut<'a>: Future<Output = Result<(), Self::Error>> + 'a
where Ctx: 'a;
// Required methods
fn destroy<'a>(ctx: &'a mut Ctx, object_id: u32) -> Self::DestroyFut<'a>;
fn get_viewport<'a>(
ctx: &'a mut Ctx,
object_id: u32,
id: NewId,
surface: Object,
) -> Self::GetViewportFut<'a>;
}Required Associated Types§
type Error
Sourcetype DestroyFut<'a>: Future<Output = Result<(), Self::Error>> + 'a
where
Ctx: 'a
type DestroyFut<'a>: Future<Output = Result<(), Self::Error>> + 'a where Ctx: 'a
Type of future returned by destroy
Sourcetype GetViewportFut<'a>: Future<Output = Result<(), Self::Error>> + 'a
where
Ctx: 'a
type GetViewportFut<'a>: Future<Output = Result<(), Self::Error>> + 'a where Ctx: 'a
Type of future returned by get_viewport
Required Methods§
Sourcefn destroy<'a>(ctx: &'a mut Ctx, object_id: u32) -> Self::DestroyFut<'a>
fn destroy<'a>(ctx: &'a mut Ctx, object_id: u32) -> Self::DestroyFut<'a>
unbind from the cropping and scaling interface
Informs the server that the client will not be using this protocol object anymore. This does not affect any other objects, wp_viewport objects included.
Sourcefn get_viewport<'a>(
ctx: &'a mut Ctx,
object_id: u32,
id: NewId,
surface: Object,
) -> Self::GetViewportFut<'a>
fn get_viewport<'a>( ctx: &'a mut Ctx, object_id: u32, id: NewId, surface: Object, ) -> Self::GetViewportFut<'a>
extend surface interface for crop and scale
Instantiate an interface extension for the given wl_surface to crop and scale its content. If the given wl_surface already has a wp_viewport object associated, the viewport_exists protocol error is raised.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.