core_graphics2/
window_level.rs1#[repr(i32)]
2#[derive(Clone, Copy, Debug, Eq, PartialEq)]
3pub enum CGWindowLevelKey {
4 #[doc(alias = "kCGBaseWindowLevelKey")]
5 Base = 0,
6 #[doc(alias = "kCGMinimumWindowLevelKey")]
7 Minimum = 1,
8 #[doc(alias = "kCGDesktopWindowLevelKey")]
9 Desktop = 2,
10 #[doc(alias = "kCGBackstopMenuLevelKey")]
11 BackstopMenu = 3,
12 #[doc(alias = "kCGNormalWindowLevelKey")]
13 Normal = 4,
14 #[doc(alias = "kCGFloatingWindowLevelKey")]
15 Floating = 5,
16 #[doc(alias = "kCGTornOffMenuWindowLevelKey")]
17 TornOffMenu = 6,
18 #[doc(alias = "kCGDockWindowLevelKey")]
19 Dock = 7,
20 #[doc(alias = "kCGMainMenuWindowLevelKey")]
21 MainMenu = 8,
22 #[doc(alias = "kCGStatusWindowLevelKey")]
23 Status = 9,
24 #[doc(alias = "kCGModalPanelWindowLevelKey")]
25 ModalPanel = 10,
26 #[doc(alias = "kCGPopUpMenuWindowLevelKey")]
27 PopUpMenu = 11,
28 #[doc(alias = "kCGDraggingWindowLevelKey")]
29 Dragging = 12,
30 #[doc(alias = "kCGScreenSaverWindowLevelKey")]
31 ScreenSaver = 13,
32 #[doc(alias = "kCGMaximumWindowLevelKey")]
33 Maximum = 14,
34 #[doc(alias = "kCGOverlayWindowLevelKey")]
35 Overlay = 15,
36 #[doc(alias = "kCGHelpWindowLevelKey")]
37 Help = 16,
38 #[doc(alias = "kCGUtilityWindowLevelKey")]
39 Utility = 17,
40 #[doc(alias = "kCGDesktopIconWindowLevelKey")]
41 DesktopIcon = 18,
42 #[doc(alias = "kCGCursorWindowLevelKey")]
43 Cursor = 19,
44 #[doc(alias = "kCGAssistiveTechHighWindowLevelKey")]
45 AssistiveTechHigh = 20,
46 #[doc(alias = "kCGNumberOfWindowLevelKeys")]
47 NumberOfKeys = 21,
48}
49
50pub type CGWindowLevel = i32;
51
52extern "C" {
53 pub fn CGWindowLevelForKey(key: CGWindowLevelKey) -> CGWindowLevel;
54}
55
56pub const kCGNumReservedWindowLevels: i32 = 16;
57pub const kCGNumReservedBaseWindowLevels: i32 = 5;
58
59pub const kCGBaseWindowLevel: CGWindowLevel = i32::MIN;
60pub const kCGMinimumWindowLevel: CGWindowLevel = kCGBaseWindowLevel + kCGNumReservedBaseWindowLevels;
61pub const kCGMaximumWindowLevel: CGWindowLevel = i32::MAX - kCGNumReservedWindowLevels;
62
63pub const kCGDesktopWindowLevel: CGWindowLevel = kCGMinimumWindowLevel + 20;
64pub const kCGDesktopIconWindowLevel: CGWindowLevel = kCGDesktopWindowLevel + 1;
65pub const kCGBackstopMenuLevel: CGWindowLevel = -20;
66pub const kCGNormalWindowLevel: CGWindowLevel = 0;
67pub const kCGFloatingWindowLevel: CGWindowLevel = 3;
68pub const kCGTornOffMenuWindowLevel: CGWindowLevel = 3;
69pub const kCGModalPanelWindowLevel: CGWindowLevel = 8;
70pub const kCGUtilityWindowLevel: CGWindowLevel = 19;
71pub const kCGDockWindowLevel: CGWindowLevel = 20;
72pub const kCGMainMenuWindowLevel: CGWindowLevel = 24;
73pub const kCGStatusWindowLevel: CGWindowLevel = 25;
74pub const kCGPopUpMenuWindowLevel: CGWindowLevel = 101;
75pub const kCGOverlayWindowLevel: CGWindowLevel = 102;
76pub const kCGHelpWindowLevel: CGWindowLevel = 200;
77pub const kCGDraggingWindowLevel: CGWindowLevel = 500;
78pub const kCGScreenSaverWindowLevel: CGWindowLevel = 1000;
79pub const kCGAssistiveTechHighWindowLevel: CGWindowLevel = 1500;
80pub const kCGCursorWindowLevel: CGWindowLevel = kCGMaximumWindowLevel - 1;
81
82pub fn window_level_for_key(key: CGWindowLevelKey) -> CGWindowLevel {
83 unsafe { CGWindowLevelForKey(key) }
84}