Struct Input

Source
pub struct Input { /* private fields */ }
Expand description

Controls user and system input from keyboard, mouse and system clock.

Implementations§

Source§

impl Input

Source

pub fn reset(&mut self)

Manually reset current Input state.

Usually there is no need in using this method, because Window resets Input on each update method by default.

It will discard all mouse or raw axes movements and also all keyboard hits. Moreover, delta time will be recalculated.

Source

pub fn delta_time(&self) -> f32

Get current delta time (time since previous frame) in seconds.

Source

pub fn keys_hit(&self) -> &[Key]

Get list of all keys hit since the last frame.

Source

pub fn mouse_pos(&self) -> Point2<f32>

Get current mouse pointer position in pixels from top-left.

Source

pub fn mouse_pos_ndc(&self) -> Point2<f32>

Get current mouse pointer position in Normalized Display Coordinates. See map_to_ndc.

Source

pub fn mouse_wheel_movements(&self) -> &[f32]

Get list of all mouse wheel movements since last frame.

Source

pub fn mouse_wheel(&self) -> f32

Get summarized mouse wheel movement (the sum of all movements since last frame).

Source

pub fn mouse_movements(&self) -> &[Vector2<f32>]

Get list of all mouse movements since last frame in pixels.

Source

pub fn mouse_movements_ndc(&self) -> &[Vector2<f32>]

Get list of all mouse movements since last frame in NDC.

Source

pub fn axes_movements(&self) -> &[(u8, f32)]

Get list of all raw inputs since last frame.

Source

pub fn mouse_delta(&self) -> Vector2<f32>

Get summarized mouse movements (the sum of all movements since last frame) in pixels.

Source

pub fn mouse_delta_ndc(&self) -> Vector2<f32>

Get summarized mouse movements (the sum of all movements since last frame) in NDC.

Source

pub fn mouse_delta_raw(&self) -> Vector2<f32>

Get summarized raw input along 0 and 1 axes since last frame. It usually corresponds to mouse movements.

Source

pub fn is_focused(&self) -> bool

Return whether Window is in focus or not.

Source

pub fn hit<H: Hit>(&self, hit: H) -> bool

Returns true there is any input info from Button, axis::Key or axis::Raw. Otherwise returns false.

Source

pub fn delta<D: Delta>(&self, delta: D) -> <D as Delta>::Output

Returns the change (‘delta’) in input state since the last call to Window::update.

This value depends on the type of input device is given.

axis::Key

  • None when no updates to the axis are received.
  • Some(1) when only positive input to the axis is received.
  • Some(-1) when only negative input to the axis is received.
  • Some(0) when both positive and negative input to the axis is received.

axis::Raw

  • None when no updates to the axis are received and
  • Some(x) where x is the sum of positive and negative inputs otherwise.
Source

pub fn timed<D: Delta>(&self, delta: D) -> Option<f32>

Shortcut for delta * delta_time.

Source

pub fn hit_count<C: HitCount>(&self, hit_count: C) -> <C as HitCount>::Output

Returns the amount of:

  • Hits for Button as u8.

  • Hits for axis::Key as (u8, u8) where first number is for positive direction and the second one is for negative.

Auto Trait Implementations§

§

impl Freeze for Input

§

impl RefUnwindSafe for Input

§

impl Send for Input

§

impl Sync for Input

§

impl Unpin for Input

§

impl UnwindSafe for Input

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> 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<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> SetParameter for T

Source§

fn set<T>(&mut self, value: T) -> <T as Parameter<Self>>::Result
where T: Parameter<Self>,

Sets value as a parameter of self.
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.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> Erased for T