xinput/flags/
flag.rs

1#[cfg(doc)] use crate::*;
2use bytemuck::{Pod, Zeroable};
3use winapi::um::xinput::*;
4
5
6
7/// \[[microsoft.com](https://learn.microsoft.com/en-us/windows/win32/api/xinput/nf-xinput-xinputgetcapabilities#parameters)\]
8/// XINPUT_FLAG_\*
9#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
10#[derive(Pod, Zeroable)]
11#[repr(transparent)] pub struct Flag(u32);
12
13flags! { Flag => u32; None, Gamepad }
14
15#[allow(non_upper_case_globals)] impl Flag {
16    /// No flags set
17    pub const None : Flag = Flag(0);
18
19    /// [XINPUT_FLAG_GAMEPAD](https://learn.microsoft.com/en-us/windows/win32/api/xinput/nf-xinput-xinputgetcapabilities)
20    ///
21    /// Limit [`get_capabilities`] to Xbox 360 controllers.
22    pub const Gamepad : Flag = Flag(XINPUT_FLAG_GAMEPAD);
23}
24
25//#cpp2rust XINPUT_FLAG_GAMEPAD     = xinput::Flag::Gamepad