Struct wayland_protocols::wp::pointer_constraints::zv1::generated::client::zwp_confined_pointer_v1::ZwpConfinedPointerV1
source · pub struct ZwpConfinedPointerV1 {
id: ObjectId,
version: u32,
data: Option<Arc<dyn ObjectData>>,
backend: WeakBackend,
}
Expand description
confined pointer object
The wp_confined_pointer interface represents a confined pointer state.
This object will send the event ‘confined’ when the confinement is activated. Whenever the confinement is activated, it is guaranteed that the surface the pointer is confined to will already have received pointer focus and that the pointer will be within the region passed to the request creating this object. It is up to the compositor to decide whether this requires some user interaction and if the pointer will warp to within the passed region if outside.
To unconfine the pointer, send the destroy request. This will also destroy the wp_confined_pointer object.
If the compositor decides to unconfine the pointer the unconfined event is sent. The wp_confined_pointer object is at this point defunct and should be destroyed.
See also the Event enum for this interface.
Fields§
§id: ObjectId
§version: u32
§data: Option<Arc<dyn ObjectData>>
§backend: WeakBackend
Implementations§
source§impl ZwpConfinedPointerV1
impl ZwpConfinedPointerV1
sourcepub fn destroy(&self)
pub fn destroy(&self)
destroy the confined pointer object
Destroy the confined pointer object. If applicable, the compositor will unconfine the pointer.
sourcepub fn set_region(&self, region: Option<&WlRegion>)
pub fn set_region(&self, region: Option<&WlRegion>)
set a new confine region
Set a new region used to confine the pointer.
The new confine region is double-buffered, see wl_surface.commit.
If the confinement is active when the new confinement region is applied and the pointer ends up outside of newly applied region, the pointer may warped to a position within the new confinement region. If warped, a wl_pointer.motion event will be emitted, but no wp_relative_pointer.relative_motion event.
The compositor may also, instead of using the new region, unconfine the pointer.
For details about the confine region, see wp_confined_pointer.
Trait Implementations§
source§impl Borrow<ObjectId> for ZwpConfinedPointerV1
impl Borrow<ObjectId> for ZwpConfinedPointerV1
source§impl Clone for ZwpConfinedPointerV1
impl Clone for ZwpConfinedPointerV1
source§fn clone(&self) -> ZwpConfinedPointerV1
fn clone(&self) -> ZwpConfinedPointerV1
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for ZwpConfinedPointerV1
impl Debug for ZwpConfinedPointerV1
source§impl Hash for ZwpConfinedPointerV1
impl Hash for ZwpConfinedPointerV1
source§impl PartialEq<Weak<ZwpConfinedPointerV1>> for ZwpConfinedPointerV1
impl PartialEq<Weak<ZwpConfinedPointerV1>> for ZwpConfinedPointerV1
source§impl PartialEq for ZwpConfinedPointerV1
impl PartialEq for ZwpConfinedPointerV1
source§fn eq(&self, other: &ZwpConfinedPointerV1) -> bool
fn eq(&self, other: &ZwpConfinedPointerV1) -> bool
self
and other
values to be equal, and is used
by ==
.source§impl Proxy for ZwpConfinedPointerV1
impl Proxy for ZwpConfinedPointerV1
source§fn data<U: Send + Sync + 'static>(&self) -> Option<&U>
fn data<U: Send + Sync + 'static>(&self) -> Option<&U>
source§fn object_data(&self) -> Option<&Arc<dyn ObjectData>>
fn object_data(&self) -> Option<&Arc<dyn ObjectData>>
source§fn backend(&self) -> &WeakBackend
fn backend(&self) -> &WeakBackend
source§fn send_request(&self, req: Self::Request<'_>) -> Result<(), InvalidId>
fn send_request(&self, req: Self::Request<'_>) -> Result<(), InvalidId>
source§fn send_constructor<I: Proxy>(
&self,
req: Self::Request<'_>,
data: Arc<dyn ObjectData>,
) -> Result<I, InvalidId>
fn send_constructor<I: Proxy>( &self, req: Self::Request<'_>, data: Arc<dyn ObjectData>, ) -> Result<I, InvalidId>
source§fn from_id(conn: &Connection, id: ObjectId) -> Result<Self, InvalidId>
fn from_id(conn: &Connection, id: ObjectId) -> Result<Self, InvalidId>
source§fn inert(backend: WeakBackend) -> Self
fn inert(backend: WeakBackend) -> Self
source§fn parse_event(
conn: &Connection,
msg: Message<ObjectId, OwnedFd>,
) -> Result<(Self, Self::Event), DispatchError>
fn parse_event( conn: &Connection, msg: Message<ObjectId, OwnedFd>, ) -> Result<(Self, Self::Event), DispatchError>
source§fn write_request<'a>(
&self,
conn: &Connection,
msg: Self::Request<'a>,
) -> Result<(Message<ObjectId, BorrowedFd<'a>>, Option<(&'static Interface, u32)>), InvalidId>
fn write_request<'a>( &self, conn: &Connection, msg: Self::Request<'a>, ) -> Result<(Message<ObjectId, BorrowedFd<'a>>, Option<(&'static Interface, u32)>), InvalidId>
impl Eq for ZwpConfinedPointerV1
Auto Trait Implementations§
impl Freeze for ZwpConfinedPointerV1
impl !RefUnwindSafe for ZwpConfinedPointerV1
impl Send for ZwpConfinedPointerV1
impl Sync for ZwpConfinedPointerV1
impl Unpin for ZwpConfinedPointerV1
impl !UnwindSafe for ZwpConfinedPointerV1
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
source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
source§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
.source§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
.source§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.source§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.