Skip to main content
← PSoXide SDK guides and examples · SDK f2fec1c301f1 · All Cargo features enabled; check feature gates before use.

ButtonState

Struct ButtonState 

Source
pub struct ButtonState(/* private fields */);
Expand description

Result of one pad poll. bits() gives the raw active-high mask; ButtonState::is_held is the ergonomic per-button check.

Implementations§

Source§

impl ButtonState

Source

pub const NONE: Self

Empty – nothing held.

Source

pub const fn from_bits(bits: u16) -> Self

Construct from an active-high mask.

Source

pub const fn bits(self) -> u16

Raw bitmask.

Source

pub const fn pressed_since(self, previous: Self, mask: u16) -> bool

True when any masked button is down now and none was down previously. For multi-button masks this is a group edge, not a per-button edge.

Source

pub const fn is_held(self, mask: u16) -> bool

true when mask (any single-bit button constant or an OR of several) is currently pressed.

Trait Implementations§

Source§

impl Clone for ButtonState

Source§

fn clone(&self) -> ButtonState

Returns a duplicate of the value. Read more
1.0.0§

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

Performs copy-assignment from source. Read more
Source§

impl Debug for ButtonState

Source§

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

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

impl Default for ButtonState

Source§

fn default() -> ButtonState

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

impl PartialEq for ButtonState

Source§

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

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

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 Copy for ButtonState

Source§

impl Eq for ButtonState

Source§

impl StructuralPartialEq for ButtonState

Auto Trait Implementations§

§

impl Freeze for ButtonState

§

impl RefUnwindSafe for ButtonState

§

impl Send for ButtonState

§

impl Sync for ButtonState

§

impl Unpin for ButtonState

§

impl UnsafeUnpin for ButtonState

§

impl UnwindSafe for ButtonState

Blanket Implementations§

§

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

§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

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

§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
§

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

§

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

Mutably borrows from an owned value. Read more
§

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

§

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
§

impl<T> From<T> for T

§

fn from(t: T) -> T

Returns the argument unchanged.

§

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

§

fn into(self) -> U

Calls U::from(self).

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

§

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

§

type Error = Infallible

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

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

Performs the conversion.
§

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

§

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

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

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

Performs the conversion.