use crate::*;
use winapi::um::xinput::*;
use bytemuck::{Pod, Zeroable};
#[derive(Clone, Copy, Debug)]
#[derive(Default, Pod, Zeroable)]
#[repr(C)] pub struct Gamepad {
pub buttons: Buttons,
pub left_trigger: u8,
pub right_trigger: u8,
pub left_thumb_x: i16,
pub left_thumb_y: i16,
pub right_thumb_x: i16,
pub right_thumb_y: i16,
}
impl Gamepad {
pub const TRIGGER_THRESHOLD : u8 = XINPUT_GAMEPAD_TRIGGER_THRESHOLD;
pub const LEFT_THUMB_DEADZONE : i16 = XINPUT_GAMEPAD_LEFT_THUMB_DEADZONE;
pub const RIGHT_THUMB_DEADZONE : i16 = XINPUT_GAMEPAD_RIGHT_THUMB_DEADZONE;
}
impl AsRef<Self> for Gamepad { fn as_ref(& self) -> & Self { self } }
impl AsMut<Self> for Gamepad { fn as_mut(&mut self) -> &mut Self { self } }
#[test] fn test_traits_for_coverage() {
let _gamepad = Gamepad::default();
let _gamepad = Gamepad::zeroed();
let _gamepad = _gamepad.clone();
dbg!(_gamepad);
}