use bytemuck::{Pod, Zeroable};
use winapi::um::xinput::*;
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
#[derive(Default, Pod, Zeroable)] #[repr(transparent)] pub struct Caps(u16);
flags! { Caps => u16; None, VoiceSupported, FfbSupported, Wireless, PmdSupported, NoNavigation }
#[allow(non_upper_case_globals)] impl Caps {
pub const None : Caps = Caps(0);
pub const VoiceSupported : Caps = Caps(XINPUT_CAPS_VOICE_SUPPORTED);
pub const FfbSupported : Caps = Caps(XINPUT_CAPS_FFB_SUPPORTED);
pub const Wireless : Caps = Caps(XINPUT_CAPS_WIRELESS);
pub const PmdSupported : Caps = Caps(XINPUT_CAPS_PMD_SUPPORTED);
pub const NoNavigation : Caps = Caps(XINPUT_CAPS_NO_NAVIGATION);
}
#[doc(hidden)] impl Caps {
pub const NONE : Caps = Caps(0);
pub const VOICE_SUPPORTED : Caps = Caps(XINPUT_CAPS_VOICE_SUPPORTED);
pub const FFB_SUPPORTED : Caps = Caps(XINPUT_CAPS_FFB_SUPPORTED);
pub const WIRELESS : Caps = Caps(XINPUT_CAPS_WIRELESS);
pub const PMD_SUPPORTED : Caps = Caps(XINPUT_CAPS_PMD_SUPPORTED);
pub const NO_NAVIGATION : Caps = Caps(XINPUT_CAPS_NO_NAVIGATION);
}