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