#[allow(unused_imports)] use crate::*;
use core::fmt::{self, Debug, Formatter};
#[derive(Clone, Copy, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Hash)]
#[repr(transparent)] pub struct FlagsMask(u32);
#[derive(Clone, Copy, Default, PartialEq, Eq, PartialOrd, Ord, Hash)]
#[repr(transparent)] pub struct Flags(u32);
flags!(impl .. for Flags(u32) - FlagsMask);
impl Flags {
pub const unsafe fn from_unchecked(flags: u32) -> Self { Self(flags) }
}
impl Debug for Flags {
fn fmt(&self, fmt: &mut Formatter) -> fmt::Result {
use winapi::um::winnt::*;
flags!(self.0, fmt, "0x{:X}", [
JOB_OBJECT_UILIMIT_DESKTOP,
JOB_OBJECT_UILIMIT_DISPLAYSETTINGS,
JOB_OBJECT_UILIMIT_EXITWINDOWS,
JOB_OBJECT_UILIMIT_GLOBALATOMS,
JOB_OBJECT_UILIMIT_HANDLES,
JOB_OBJECT_UILIMIT_READCLIPBOARD,
JOB_OBJECT_UILIMIT_SYSTEMPARAMETERS,
JOB_OBJECT_UILIMIT_WRITECLIPBOARD,
JOB_OBJECT_UILIMIT_IME,
])
}
}
pub const DESKTOP : Flags = Flags(winapi::um::winnt::JOB_OBJECT_UILIMIT_DESKTOP);
pub const DISPLAYSETTINGS : Flags = Flags(winapi::um::winnt::JOB_OBJECT_UILIMIT_DISPLAYSETTINGS);
pub const EXITWINDOWS : Flags = Flags(winapi::um::winnt::JOB_OBJECT_UILIMIT_EXITWINDOWS);
pub const GLOBALATOMS : Flags = Flags(winapi::um::winnt::JOB_OBJECT_UILIMIT_GLOBALATOMS);
pub const HANDLES : Flags = Flags(winapi::um::winnt::JOB_OBJECT_UILIMIT_HANDLES);
pub const READCLIPBOARD : Flags = Flags(winapi::um::winnt::JOB_OBJECT_UILIMIT_READCLIPBOARD);
pub const SYSTEMPARAMETERS : Flags = Flags(winapi::um::winnt::JOB_OBJECT_UILIMIT_SYSTEMPARAMETERS);
pub const WRITECLIPBOARD : Flags = Flags(winapi::um::winnt::JOB_OBJECT_UILIMIT_WRITECLIPBOARD);
pub const NONE : Flags = Flags(winapi::um::winnt::JOB_OBJECT_UILIMIT_NONE);
pub const IME : Flags = Flags(JOB_OBJECT_UILIMIT_IME);
pub const ALL : FlagsMask = FlagsMask(JOB_OBJECT_UILIMIT_ALL);
const JOB_OBJECT_UILIMIT_IME : u32 = 0x00000100;
const JOB_OBJECT_UILIMIT_ALL : u32 = 0x000001FF;