thindx-xinput 0.0.0-2024-02-04

Thin XInput wrappers
Documentation
#[cfg(doc)] use crate::*;
use bytemuck::{Pod, Zeroable};
use winapi::um::xinput::*;



/// \[[microsoft.com](https://learn.microsoft.com/en-us/windows/win32/api/xinput/nf-xinput-xinputgetcapabilities#parameters)\]
/// XINPUT_FLAG_\*
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
#[derive(Pod, Zeroable)]
#[repr(transparent)] pub struct Flag(u32);

flags! { Flag => u32; None, Gamepad }

#[allow(non_upper_case_globals)] impl Flag {
    /// No flags set
    pub const None : Flag = Flag(0);

    /// [XINPUT_FLAG_GAMEPAD](https://learn.microsoft.com/en-us/windows/win32/api/xinput/nf-xinput-xinputgetcapabilities)
    ///
    /// Limit [`get_capabilities`] to Xbox 360 controllers.
    pub const Gamepad : Flag = Flag(XINPUT_FLAG_GAMEPAD);
}

//#cpp2rust XINPUT_FLAG_GAMEPAD     = xinput::Flag::Gamepad