#[non_exhaustive]pub enum Request {
Destroy,
SetPosition {
x: i32,
y: i32,
},
PlaceAbove {
sibling: WlSurface,
},
PlaceBelow {
sibling: WlSurface,
},
SetSync,
SetDesync,
}Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Destroy
remove sub-surface interface
The sub-surface interface is removed from the wl_surface object that was turned into a sub-surface with a wl_subcompositor.get_subsurface request. The wl_surface’s association to the parent is deleted. The wl_surface is unmapped immediately.
This is a destructor, once received this object cannot be used any longer.
SetPosition
reposition the sub-surface
This sets the position of the sub-surface, relative to the parent surface.
The sub-surface will be moved so that its origin (top left corner pixel) will be at the location x, y of the parent surface coordinate system. The coordinates are not restricted to the parent surface area. Negative values are allowed.
The initial position is 0, 0.
Position is double-buffered state on the parent surface, see wl_subsurface and wl_surface.commit for more information.
PlaceAbove
restack the sub-surface
This sub-surface is taken from the stack, and put back just above the reference surface, changing the z-order of the sub-surfaces. The reference surface must be one of the sibling surfaces, or the parent surface. Using any other surface, including this sub-surface, will cause a protocol error.
A new sub-surface is initially added as the top-most in the stack of its siblings and parent.
Z-order is double-buffered state on the parent surface, see wl_subsurface and wl_surface.commit for more information.
PlaceBelow
restack the sub-surface
The sub-surface is placed just below the reference surface.
See wl_subsurface.place_above.
SetSync
set sub-surface to synchronized mode
Change the commit behaviour of the sub-surface to synchronized mode.
See wl_subsurface and wl_surface.commit for more information.
SetDesync
set sub-surface to desynchronized mode
Change the commit behaviour of the sub-surface to desynchronized mode.
See wl_subsurface and wl_surface.commit for more information.
Implementations§
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Request
impl !RefUnwindSafe for Request
impl Send for Request
impl Sync for Request
impl Unpin for Request
impl !UnwindSafe for Request
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.