pub struct Axis<T> { /* private fields */ }
Expand description

Stores the position data of the input devices of type T.

The values are stored as f32s, using Axis::set. Use Axis::get to retrieve the value clamped between Axis::MIN and Axis::MAX inclusive, or unclamped using Axis::get_unclamped.

Implementations§

source§

impl<T> Axis<T>
where T: Copy + Eq + Hash,

source

pub const MIN: f32 = -1f32

The smallest possible axis value.

source

pub const MAX: f32 = 1f32

The largest possible axis value.

source

pub fn set(&mut self, input_device: T, position_data: f32) -> Option<f32>

Sets the position data of the input_device to position_data.

If the input_device:

  • was present before, the position data is updated, and the old value is returned.
  • wasn’t present before, None is returned.
source

pub fn get(&self, input_device: T) -> Option<f32>

Returns the position data of the provided input_device.

This will be clamped between Axis::MIN and Axis::MAX inclusive.

source

pub fn get_unclamped(&self, input_device: T) -> Option<f32>

Returns the unclamped position data of the provided input_device.

This value may be outside of the Axis::MIN and Axis::MAX range.

Use for things like camera zoom, where you want devices like mouse wheels to be able to exceed the normal range. If being able to move faster on one input device than another would give an unfair advantage, you should likely use Axis::get instead.

source

pub fn remove(&mut self, input_device: T) -> Option<f32>

Removes the position data of the input_device, returning the position data if the input device was previously set.

source

pub fn devices(&self) -> impl ExactSizeIterator

Returns an iterator of all the input devices that have position data

Trait Implementations§

source§

impl<T> Debug for Axis<T>
where T: Debug,

source§

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

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

impl<T> Default for Axis<T>
where T: Copy + Eq + Hash,

source§

fn default() -> Axis<T>

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

impl<T> Resource for Axis<T>
where Axis<T>: Send + Sync + 'static,

Auto Trait Implementations§

§

impl<T> Freeze for Axis<T>

§

impl<T> RefUnwindSafe for Axis<T>
where T: RefUnwindSafe,

§

impl<T> Send for Axis<T>
where T: Send,

§

impl<T> Sync for Axis<T>
where T: Sync,

§

impl<T> Unpin for Axis<T>
where T: Unpin,

§

impl<T> UnwindSafe for Axis<T>
where T: UnwindSafe,

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> Downcast for T
where T: Any,

source§

fn into_any(self: Box<T>) -> Box<dyn Any>

Convert 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>

Convert 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)

Convert &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)

Convert &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &mut Any’s vtable from &mut Trait’s.
source§

impl<T> DowncastSync for T
where T: Any + Send + Sync,

source§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Send + Sync>

Convert Arc<Trait> (where Trait: Downcast) to Arc<Any>. Arc<Any> can then be further downcast into Arc<ConcreteType> where ConcreteType implements Trait.
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> FromWorld for T
where T: Default,

source§

fn from_world(_world: &mut World) -> T

Creates Self using data from the given World.
source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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<T, U> TryFrom<U> for T
where U: Into<T>,

§

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>,

§

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.
source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more