#![allow(non_snake_case)]
use crate::*;
use bytemuck::*;
use winapi::um::winuser::*;
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default, Zeroable)] #[repr(transparent)] pub struct InSendMessageExFlags(u32);
impl_ops_for_flag!(InSendMessageExFlags);
impl InSendMessageExFlags {
pub fn is_sender_blocked(self) -> bool { self.0 & (ISMEX::REPLIED.0 | ISMEX::SEND.0) == ISMEX::SEND.0 }
}
impl From<InSendMessageExFlags> for u32 { fn from(cmd: InSendMessageExFlags) -> Self { cmd.0 } }
impl From<u32> for InSendMessageExFlags { fn from(cmd: u32 ) -> Self { Self(cmd) } }
impl_debug_for_flags! {
InSendMessageExFlags => {
ISMEX::NOSEND,
ISMEX::CALLBACK,
ISMEX::NOTIFY,
ISMEX::REPLIED,
ISMEX::SEND,
}
}
pub const NOSEND : InSendMessageExFlags = InSendMessageExFlags(ISMEX_NOSEND);
pub const CALLBACK : InSendMessageExFlags = InSendMessageExFlags(ISMEX_CALLBACK);
pub const NOTIFY : InSendMessageExFlags = InSendMessageExFlags(ISMEX_NOTIFY);
pub const REPLIED : InSendMessageExFlags = InSendMessageExFlags(ISMEX_REPLIED);
pub const SEND : InSendMessageExFlags = InSendMessageExFlags(ISMEX_SEND);