hwnd/um/winuser/flags/
ISMEX.rs1#![allow(non_snake_case)]
5
6use crate::*;
7use bytemuck::*;
8use winapi::um::winuser::*;
9
10
11
12#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default, Zeroable)] #[repr(transparent)] pub struct InSendMessageExFlags(u32);
15impl_ops_for_flag!(InSendMessageExFlags);
16
17impl InSendMessageExFlags {
18 pub fn is_sender_blocked(self) -> bool { self.0 & (ISMEX::REPLIED.0 | ISMEX::SEND.0) == ISMEX::SEND.0 }
20}
21
22impl From<InSendMessageExFlags> for u32 { fn from(cmd: InSendMessageExFlags) -> Self { cmd.0 } }
23impl From<u32> for InSendMessageExFlags { fn from(cmd: u32 ) -> Self { Self(cmd) } }
24
25impl_debug_for_flags! {
26 InSendMessageExFlags => {
27 ISMEX::NOSEND,
28 ISMEX::CALLBACK,
29 ISMEX::NOTIFY,
30 ISMEX::REPLIED,
31 ISMEX::SEND,
32 }
33}
34
35
36
37pub const NOSEND : InSendMessageExFlags = InSendMessageExFlags(ISMEX_NOSEND);
38
39pub const CALLBACK : InSendMessageExFlags = InSendMessageExFlags(ISMEX_CALLBACK);
41
42pub const NOTIFY : InSendMessageExFlags = InSendMessageExFlags(ISMEX_NOTIFY);
44
45pub const REPLIED : InSendMessageExFlags = InSendMessageExFlags(ISMEX_REPLIED);
47
48pub const SEND : InSendMessageExFlags = InSendMessageExFlags(ISMEX_SEND);