thindx/headers/d3dcommon.h/flags/
parameter_flags.rs

1#[allow(unused_imports)] use crate::*;
2
3use winapi::um::d3dcommon::*;
4
5
6
7/// \[[docs.microsoft.com](https://docs.microsoft.com/en-us/windows/win32/api/d3dcommon/ne-d3dcommon-d3d_parameter_flags)\]
8/// UINT / D3D_PF_\*
9#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
10#[repr(transparent)] pub struct ParameterFlags(D3D_PARAMETER_FLAGS);
11#[doc(hidden)] pub use ParameterFlags as PF;
12
13flags! { PF => D3D_PARAMETER_FLAGS; None, In, Out }
14
15#[allow(non_upper_case_globals)] impl PF { // These are enum-like
16    /// The parameter has no semantic flags.
17    pub const None  : PF = PF(D3D_PF_NONE);
18
19    /// The parameter is an input parameter (e.g. marked `in`)
20    pub const In    : PF = PF(D3D_PF_IN);
21
22    /// The parameter is an output parameter (e.g. marked `out`)
23    pub const Out   : PF = PF(D3D_PF_OUT);
24}
25
26#[doc(hidden)] impl PF { // Ctrl+C Ctrl+V support
27    pub const NONE  : PF = PF(D3D_PF_NONE);
28    pub const IN    : PF = PF(D3D_PF_IN);
29    pub const OUT   : PF = PF(D3D_PF_OUT);
30}
31
32impl Default for PF {
33    fn default() -> Self { PF::None }
34}