WlDataDeviceManagerDndAction

Struct WlDataDeviceManagerDndAction 

Source
pub struct WlDataDeviceManagerDndAction(pub u32);
Expand description

drag and drop actions

This is a bitmask of the available/preferred actions in a drag-and-drop operation.

In the compositor, the selected action is a result of matching the actions offered by the source and destination sides. “action” events with a “none” action will be sent to both source and destination if there is no match. All further checks will effectively happen on (source actions ∩ destination actions).

In addition, compositors may also pick different actions in reaction to key modifiers being pressed. One common design that is used in major toolkits (and the behavior recommended for compositors) is:

  • If no modifiers are pressed, the first match (in bit order) will be used.
  • Pressing Shift selects “move”, if enabled in the mask.
  • Pressing Control selects “copy”, if enabled in the mask.

Behavior beyond that is considered implementation-dependent. Compositors may for example bind other modifiers (like Alt/Meta) or drags initiated with other buttons than BTN_LEFT to specific actions (e.g. “ask”).

Tuple Fields§

§0: u32

Implementations§

Source§

impl WlDataDeviceManagerDndAction

Source

pub const NONE: Self

no action

Source

pub const COPY: Self

copy action

Source

pub const MOVE: Self

move action

Source

pub const ASK: Self

ask action

Source§

impl WlDataDeviceManagerDndAction

Source

pub const fn empty() -> Self

Source

pub const fn is_empty(self) -> bool

Source

pub const fn contains(self, other: Self) -> bool

Source

pub const fn intersects(self, other: Self) -> bool

Source

pub const fn insert(&mut self, other: Self)

Source

pub const fn remove(&mut self, other: Self)

Source

pub const fn toggle(&mut self, other: Self)

Source

pub const fn set(&mut self, other: Self, value: bool)

Source

pub const fn intersection(self, other: Self) -> Self

Source

pub const fn union(self, other: Self) -> Self

Source

pub const fn difference(self, other: Self) -> Self

Source

pub const fn complement(self) -> Self

Source

pub const fn symmetric_difference(self, other: Self) -> Self

Source

pub const fn all_known() -> Self

Trait Implementations§

Source§

impl BitAnd for WlDataDeviceManagerDndAction

Source§

type Output = WlDataDeviceManagerDndAction

The resulting type after applying the & operator.
Source§

fn bitand(self, rhs: Self) -> Self::Output

Performs the & operation. Read more
Source§

impl BitAndAssign for WlDataDeviceManagerDndAction

Source§

fn bitand_assign(&mut self, rhs: Self)

Performs the &= operation. Read more
Source§

impl BitOr for WlDataDeviceManagerDndAction

Source§

type Output = WlDataDeviceManagerDndAction

The resulting type after applying the | operator.
Source§

fn bitor(self, rhs: Self) -> Self::Output

Performs the | operation. Read more
Source§

impl BitOrAssign for WlDataDeviceManagerDndAction

Source§

fn bitor_assign(&mut self, rhs: Self)

Performs the |= operation. Read more
Source§

impl BitXor for WlDataDeviceManagerDndAction

Source§

type Output = WlDataDeviceManagerDndAction

The resulting type after applying the ^ operator.
Source§

fn bitxor(self, rhs: Self) -> Self::Output

Performs the ^ operation. Read more
Source§

impl BitXorAssign for WlDataDeviceManagerDndAction

Source§

fn bitxor_assign(&mut self, rhs: Self)

Performs the ^= operation. Read more
Source§

impl Clone for WlDataDeviceManagerDndAction

Source§

fn clone(&self) -> WlDataDeviceManagerDndAction

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for WlDataDeviceManagerDndAction

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for WlDataDeviceManagerDndAction

Source§

fn default() -> WlDataDeviceManagerDndAction

Returns the “default value” for a type. Read more
Source§

impl Hash for WlDataDeviceManagerDndAction

Source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl IntoIterator for WlDataDeviceManagerDndAction

Source§

type Item = WlDataDeviceManagerDndAction

The type of the elements being iterated over.
Source§

type IntoIter = WlDataDeviceManagerDndActionIter

Which kind of iterator are we turning this into?
Source§

fn into_iter(self) -> Self::IntoIter

Creates an iterator from a value. Read more
Source§

impl Not for WlDataDeviceManagerDndAction

Source§

type Output = WlDataDeviceManagerDndAction

The resulting type after applying the ! operator.
Source§

fn not(self) -> Self::Output

Performs the unary ! operation. Read more
Source§

impl Ord for WlDataDeviceManagerDndAction

Source§

fn cmp(&self, other: &WlDataDeviceManagerDndAction) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · Source§

fn max(self, other: Self) -> Self
where Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · Source§

fn min(self, other: Self) -> Self
where Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · Source§

fn clamp(self, min: Self, max: Self) -> Self
where Self: Sized,

Restrict a value to a certain interval. Read more
Source§

impl PartialEq for WlDataDeviceManagerDndAction

Source§

fn eq(&self, other: &WlDataDeviceManagerDndAction) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl PartialOrd for WlDataDeviceManagerDndAction

Source§

fn partial_cmp(&self, other: &WlDataDeviceManagerDndAction) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · Source§

fn lt(&self, other: &Rhs) -> bool

Tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · Source§

fn le(&self, other: &Rhs) -> bool

Tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 · Source§

fn gt(&self, other: &Rhs) -> bool

Tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · Source§

fn ge(&self, other: &Rhs) -> bool

Tests greater than or equal to (for self and other) and is used by the >= operator. Read more
Source§

impl Sub for WlDataDeviceManagerDndAction

Source§

type Output = WlDataDeviceManagerDndAction

The resulting type after applying the - operator.
Source§

fn sub(self, rhs: Self) -> Self::Output

Performs the - operation. Read more
Source§

impl SubAssign for WlDataDeviceManagerDndAction

Source§

fn sub_assign(&mut self, rhs: Self)

Performs the -= operation. Read more
Source§

impl Copy for WlDataDeviceManagerDndAction

Source§

impl Eq for WlDataDeviceManagerDndAction

Source§

impl StructuralPartialEq for WlDataDeviceManagerDndAction

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<Lhs, Rhs> IsntPartialEqExt<Lhs, Rhs> for Lhs
where Lhs: PartialEq<Rhs> + ?Sized, Rhs: ?Sized,

Source§

fn not_eq(&self, other: &Rhs) -> bool

The negation of eq
Source§

fn not_ne(&self, other: &Rhs) -> bool

The negation of ne
Source§

impl<Lhs, Rhs> IsntPartialOrdExt<Lhs, Rhs> for Lhs
where Lhs: PartialOrd<Rhs> + ?Sized, Rhs: ?Sized,

Source§

fn not_lt(&self, other: &Rhs) -> bool

The negation of lt
Source§

fn not_le(&self, other: &Rhs) -> bool

The negation of le
Source§

fn not_gt(&self, other: &Rhs) -> bool

The negation of gt
Source§

fn not_ge(&self, other: &Rhs) -> bool

The negation of ge
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.