objc2_application_services/generated/HIServices/
AXAttributeConstants.rs

1//! This file has been automatically generated by `objc2`'s `header-translator`.
2//! DO NOT EDIT
3#[cfg(feature = "objc2")]
4use objc2::__framework_prelude::*;
5
6use crate::*;
7
8/// Values that indicate the keyboard shortcut modifiers for a menu item (used with the {
9///
10/// ```text
11///  kAXMenuItemCmdModifiersAttribute} attribute).
12///  
13///
14/// ```
15///
16/// See also [Apple's documentation](https://developer.apple.com/documentation/applicationservices/axmenuitemmodifiers?language=objc)
17// NS_OPTIONS
18#[repr(transparent)]
19#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
20pub struct AXMenuItemModifiers(pub u32);
21bitflags::bitflags! {
22    impl AXMenuItemModifiers: u32 {
23        #[doc(alias = "kAXMenuItemModifierNone")]
24        const None = 0;
25        #[doc(alias = "kAXMenuItemModifierShift")]
26        const Shift = 1<<0;
27        #[doc(alias = "kAXMenuItemModifierOption")]
28        const Option = 1<<1;
29        #[doc(alias = "kAXMenuItemModifierControl")]
30        const Control = 1<<2;
31        #[doc(alias = "kAXMenuItemModifierNoCommand")]
32        const NoCommand = 1<<3;
33    }
34}
35
36#[cfg(feature = "objc2")]
37unsafe impl Encode for AXMenuItemModifiers {
38    const ENCODING: Encoding = u32::ENCODING;
39}
40
41#[cfg(feature = "objc2")]
42unsafe impl RefEncode for AXMenuItemModifiers {
43    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
44}