Struct leafwing_input_manager::axislike::VirtualDPad
source · pub struct VirtualDPad {
pub up: InputKind,
pub down: InputKind,
pub left: InputKind,
pub right: InputKind,
}
Expand description
A virtual DPad that you can get an DualAxis
from.
Typically, you don’t want to store a DualAxis
in this type,
even though it can be stored as an InputKind
.
Instead, use it directly as InputKind::DualAxis
!
Fields§
§up: InputKind
The input that represents the up direction in this virtual DPad
down: InputKind
The input that represents the down direction in this virtual DPad
left: InputKind
The input that represents the left direction in this virtual DPad
right: InputKind
The input that represents the right direction in this virtual DPad
Implementations§
source§impl VirtualDPad
impl VirtualDPad
sourcepub fn arrow_keys() -> VirtualDPad
pub fn arrow_keys() -> VirtualDPad
Generates a VirtualDPad
corresponding to the arrow keyboard keycodes
sourcepub fn wasd() -> VirtualDPad
pub fn wasd() -> VirtualDPad
Generates a VirtualDPad
corresponding to the WASD
keys on the standard US QWERTY layout.
Note that on other keyboard layouts, different keys need to be pressed. The location of the keys is the same on all keyboard layouts. This ensures that the classic triangular shape is retained on all layouts, which enables comfortable movement controls.
sourcepub fn dpad() -> VirtualDPad
pub fn dpad() -> VirtualDPad
Generates a VirtualDPad
corresponding to the DPad on a gamepad
Generates a VirtualDPad
corresponding to the face buttons on a gamepad
North corresponds to up, west corresponds to left, east corresponds to right, south corresponds to down
sourcepub fn mouse_wheel() -> VirtualDPad
pub fn mouse_wheel() -> VirtualDPad
Generates a VirtualDPad
corresponding to discretized mousewheel movements
sourcepub fn mouse_motion() -> VirtualDPad
pub fn mouse_motion() -> VirtualDPad
Generates a VirtualDPad
corresponding to discretized mouse motions
sourcepub fn inverted_y(self) -> Self
pub fn inverted_y(self) -> Self
Returns this VirtualDPad
but with up
and down
swapped.
sourcepub fn inverted_x(self) -> Self
pub fn inverted_x(self) -> Self
Returns this VirtualDPad
but with left
and right
swapped.
sourcepub fn inverted(self) -> Self
pub fn inverted(self) -> Self
Returns this VirtualDPad
but with inverted inputs.
Trait Implementations§
source§impl Clone for VirtualDPad
impl Clone for VirtualDPad
source§fn clone(&self) -> VirtualDPad
fn clone(&self) -> VirtualDPad
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for VirtualDPad
impl Debug for VirtualDPad
source§impl<'de> Deserialize<'de> for VirtualDPad
impl<'de> Deserialize<'de> for VirtualDPad
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,
source§impl From<VirtualDPad> for UserInput
impl From<VirtualDPad> for UserInput
source§fn from(input: VirtualDPad) -> Self
fn from(input: VirtualDPad) -> Self
source§impl Hash for VirtualDPad
impl Hash for VirtualDPad
source§impl PartialEq<VirtualDPad> for VirtualDPad
impl PartialEq<VirtualDPad> for VirtualDPad
source§fn eq(&self, other: &VirtualDPad) -> bool
fn eq(&self, other: &VirtualDPad) -> bool
self
and other
values to be equal, and is used
by ==
.source§impl Serialize for VirtualDPad
impl Serialize for VirtualDPad
impl Eq for VirtualDPad
impl StructuralEq for VirtualDPad
impl StructuralPartialEq for VirtualDPad
Auto Trait Implementations§
impl RefUnwindSafe for VirtualDPad
impl Send for VirtualDPad
impl Sync for VirtualDPad
impl Unpin for VirtualDPad
impl UnwindSafe for VirtualDPad
Blanket Implementations§
§impl<T, U> AsBindGroupShaderType<U> for Twhere
U: ShaderType,
&'a T: for<'a> Into<U>,
impl<T, U> AsBindGroupShaderType<U> for Twhere U: ShaderType, &'a T: for<'a> Into<U>,
§fn as_bind_group_shader_type(&self, _images: &RenderAssets<Image>) -> U
fn as_bind_group_shader_type(&self, _images: &RenderAssets<Image>) -> U
T
[ShaderType
] for self
. When used in [AsBindGroup
]
derives, it is safe to assume that all images in self
exist.source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere T: Any,
§fn into_any(self: Box<T, Global>) -> Box<dyn Any, Global>
fn into_any(self: Box<T, Global>) -> Box<dyn Any, Global>
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
.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
source§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.