[][src]Struct gdk::ModifierType

pub struct ModifierType { /* fields omitted */ }

A set of bit-flags to indicate the state of modifier keys and mouse buttons in various event types. Typical modifier keys are Shift, Control, Meta, Super, Hyper, Alt, Compose, Apple, CapsLock or ShiftLock.

Like the X Window System, GDK supports 8 modifier keys and 5 mouse buttons.

Since 2.10, GDK recognizes which of the Meta, Super or Hyper keys are mapped to Mod2 - Mod5, and indicates this by setting ModifierType::SuperMask, ModifierType::HyperMask or ModifierType::MetaMask in the state field of key events.

Note that GDK may add internal values to events which include reserved values such as ModifierType::ModifierReserved13Mask. Your code should preserve and ignore them. You can use ModifierType::ModifierMask to remove all reserved values.

Also note that the GDK X backend interprets button press events for button 4-7 as scroll events, so ModifierType::Button4Mask and ModifierType::Button5Mask will never be set.

Implementations

impl ModifierType[src]

pub const SHIFT_MASK: ModifierType[src]

the Shift key.

pub const LOCK_MASK: ModifierType[src]

a Lock key (depending on the modifier mapping of the X server this may either be CapsLock or ShiftLock).

pub const CONTROL_MASK: ModifierType[src]

the Control key.

pub const MOD1_MASK: ModifierType[src]

the fourth modifier key (it depends on the modifier mapping of the X server which key is interpreted as this modifier, but normally it is the Alt key).

pub const MOD2_MASK: ModifierType[src]

the fifth modifier key (it depends on the modifier mapping of the X server which key is interpreted as this modifier).

pub const MOD3_MASK: ModifierType[src]

the sixth modifier key (it depends on the modifier mapping of the X server which key is interpreted as this modifier).

pub const MOD4_MASK: ModifierType[src]

the seventh modifier key (it depends on the modifier mapping of the X server which key is interpreted as this modifier).

pub const MOD5_MASK: ModifierType[src]

the eighth modifier key (it depends on the modifier mapping of the X server which key is interpreted as this modifier).

pub const BUTTON1_MASK: ModifierType[src]

the first mouse button.

pub const BUTTON2_MASK: ModifierType[src]

the second mouse button.

pub const BUTTON3_MASK: ModifierType[src]

the third mouse button.

pub const BUTTON4_MASK: ModifierType[src]

the fourth mouse button.

pub const BUTTON5_MASK: ModifierType[src]

the fifth mouse button.

pub const MODIFIER_RESERVED_13_MASK: ModifierType[src]

A reserved bit flag; do not use in your own code

pub const MODIFIER_RESERVED_14_MASK: ModifierType[src]

A reserved bit flag; do not use in your own code

pub const MODIFIER_RESERVED_15_MASK: ModifierType[src]

A reserved bit flag; do not use in your own code

pub const MODIFIER_RESERVED_16_MASK: ModifierType[src]

A reserved bit flag; do not use in your own code

pub const MODIFIER_RESERVED_17_MASK: ModifierType[src]

A reserved bit flag; do not use in your own code

pub const MODIFIER_RESERVED_18_MASK: ModifierType[src]

A reserved bit flag; do not use in your own code

pub const MODIFIER_RESERVED_19_MASK: ModifierType[src]

A reserved bit flag; do not use in your own code

pub const MODIFIER_RESERVED_20_MASK: ModifierType[src]

A reserved bit flag; do not use in your own code

pub const MODIFIER_RESERVED_21_MASK: ModifierType[src]

A reserved bit flag; do not use in your own code

pub const MODIFIER_RESERVED_22_MASK: ModifierType[src]

A reserved bit flag; do not use in your own code

pub const MODIFIER_RESERVED_23_MASK: ModifierType[src]

A reserved bit flag; do not use in your own code

pub const MODIFIER_RESERVED_24_MASK: ModifierType[src]

A reserved bit flag; do not use in your own code

pub const MODIFIER_RESERVED_25_MASK: ModifierType[src]

A reserved bit flag; do not use in your own code

pub const SUPER_MASK: ModifierType[src]

the Super modifier. Since 2.10

pub const HYPER_MASK: ModifierType[src]

the Hyper modifier. Since 2.10

pub const META_MASK: ModifierType[src]

the Meta modifier. Since 2.10

pub const MODIFIER_RESERVED_29_MASK: ModifierType[src]

A reserved bit flag; do not use in your own code

pub const RELEASE_MASK: ModifierType[src]

not used in GDK itself. GTK+ uses it to differentiate between (keyval, modifiers) pairs from key press and release events.

pub const MODIFIER_MASK: ModifierType[src]

a mask covering all modifier types.

pub const fn empty() -> ModifierType[src]

Returns an empty set of flags

pub const fn all() -> ModifierType[src]

Returns the set containing all flags.

pub const fn bits(&self) -> u32[src]

Returns the raw value of the flags currently stored.

pub fn from_bits(bits: u32) -> Option<ModifierType>[src]

Convert from underlying bit representation, unless that representation contains bits that do not correspond to a flag.

pub const fn from_bits_truncate(bits: u32) -> ModifierType[src]

Convert from underlying bit representation, dropping any bits that do not correspond to flags.

pub const unsafe fn from_bits_unchecked(bits: u32) -> ModifierType[src]

Convert from underlying bit representation, preserving all bits (even those not corresponding to a defined flag).

pub const fn is_empty(&self) -> bool[src]

Returns true if no flags are currently stored.

pub const fn is_all(&self) -> bool[src]

Returns true if all flags are currently set.

pub const fn intersects(&self, other: ModifierType) -> bool[src]

Returns true if there are flags common to both self and other.

pub const fn contains(&self, other: ModifierType) -> bool[src]

Returns true all of the flags in other are contained within self.

pub fn insert(&mut self, other: ModifierType)[src]

Inserts the specified flags in-place.

pub fn remove(&mut self, other: ModifierType)[src]

Removes the specified flags in-place.

pub fn toggle(&mut self, other: ModifierType)[src]

Toggles the specified flags in-place.

pub fn set(&mut self, other: ModifierType, value: bool)[src]

Inserts or removes the specified flags depending on the passed value.

Trait Implementations

impl Binary for ModifierType[src]

impl BitAnd<ModifierType> for ModifierType[src]

type Output = ModifierType

The resulting type after applying the & operator.

fn bitand(self, other: ModifierType) -> ModifierType[src]

Returns the intersection between the two sets of flags.

impl BitAndAssign<ModifierType> for ModifierType[src]

fn bitand_assign(&mut self, other: ModifierType)[src]

Disables all flags disabled in the set.

impl BitOr<ModifierType> for ModifierType[src]

type Output = ModifierType

The resulting type after applying the | operator.

fn bitor(self, other: ModifierType) -> ModifierType[src]

Returns the union of the two sets of flags.

impl BitOrAssign<ModifierType> for ModifierType[src]

fn bitor_assign(&mut self, other: ModifierType)[src]

Adds the set of flags.

impl BitXor<ModifierType> for ModifierType[src]

type Output = ModifierType

The resulting type after applying the ^ operator.

fn bitxor(self, other: ModifierType) -> ModifierType[src]

Returns the left flags, but with all the right flags toggled.

impl BitXorAssign<ModifierType> for ModifierType[src]

fn bitxor_assign(&mut self, other: ModifierType)[src]

Toggles the set of flags.

impl Clone for ModifierType[src]

impl Copy for ModifierType[src]

impl Debug for ModifierType[src]

impl Eq for ModifierType[src]

impl Extend<ModifierType> for ModifierType[src]

impl FromIterator<ModifierType> for ModifierType[src]

impl<'a> FromValue<'a> for ModifierType[src]

impl<'a> FromValueOptional<'a> for ModifierType[src]

impl Hash for ModifierType[src]

impl LowerHex for ModifierType[src]

impl Not for ModifierType[src]

type Output = ModifierType

The resulting type after applying the ! operator.

fn not(self) -> ModifierType[src]

Returns the complement of this set of flags.

impl Octal for ModifierType[src]

impl Ord for ModifierType[src]

impl PartialEq<ModifierType> for ModifierType[src]

impl PartialOrd<ModifierType> for ModifierType[src]

impl SetValue for ModifierType[src]

impl StaticType for ModifierType[src]

impl StructuralEq for ModifierType[src]

impl StructuralPartialEq for ModifierType[src]

impl Sub<ModifierType> for ModifierType[src]

type Output = ModifierType

The resulting type after applying the - operator.

fn sub(self, other: ModifierType) -> ModifierType[src]

Returns the set difference of the two sets of flags.

impl SubAssign<ModifierType> for ModifierType[src]

fn sub_assign(&mut self, other: ModifierType)[src]

Disables all flags enabled in the set.

impl UpperHex for ModifierType[src]

Auto Trait Implementations

impl RefUnwindSafe for ModifierType

impl Send for ModifierType

impl Sync for ModifierType

impl Unpin for ModifierType

impl UnwindSafe for ModifierType

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T> ToSendValue for T where
    T: ToValue + SetValue + Send + ?Sized

impl<T> ToValue for T where
    T: SetValue + ?Sized

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.