1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
|
/*
File: CGWindowLevel.h
Contains: CoreGraphics window levels
Version: QuickTime 7.3
Copyright: (c) 2007 (c) 2000-2001 by Apple Computer, Inc., all rights reserved.
Bugs?: For bug reports, consult the following page on
the World Wide Web:
http://developer.apple.com/bugreporter/
*/
#ifndef CGWINDOWLEVEL_H_
#define CGWINDOWLEVEL_H_
#ifndef __CGBASE__
#include <CGBase.h>
#endif
#if PRAGMA_ONCE
#pragma once
#endif
#ifdef __cplusplus
extern "C" {
#endif
#if PRAGMA_IMPORT
#pragma import on
#endif
#if PRAGMA_ENUM_ALWAYSINT
#if defined(__fourbyteints__) && !__fourbyteints__
#define __CGWINDOWLEVEL__RESTORE_TWOBYTEINTS
#pragma fourbyteints on
#endif
#pragma enumsalwaysint on
#elif PRAGMA_ENUM_OPTIONS
#pragma option enum=int
#elif PRAGMA_ENUM_PACK
#if __option(pack_enums)
#define __CGWINDOWLEVEL__RESTORE_PACKED_ENUMS
#pragma options(!pack_enums)
#endif
#endif
/*
* Windows may be assigned to a particular level. When assigned to a level,
* the window is ordered relative to all other windows in that level.
* Windows with a higher level are sorted in front of windows with a lower
* level.
*
* A common set of window levels is defined here for use within higher
* level frameworks. The levels are accessed via a key and function,
* so that levels may be changed or adjusted in future releases without
* breaking binary compatability.
*/
typedef int32_t CGWindowLevel;
typedef int32_t CGWindowLevelKey;
enum _CGCommonWindowLevelKey {
kCGBaseWindowLevelKey = 0,
kCGMinimumWindowLevelKey = 1,
kCGDesktopWindowLevelKey = 2,
kCGBackstopMenuLevelKey = 3,
kCGNormalWindowLevelKey = 4,
kCGFloatingWindowLevelKey = 5,
kCGTornOffMenuWindowLevelKey = 6,
kCGDockWindowLevelKey = 7,
kCGMainMenuWindowLevelKey = 8,
kCGStatusWindowLevelKey = 9,
kCGModalPanelWindowLevelKey = 10,
kCGPopUpMenuWindowLevelKey = 11,
kCGDraggingWindowLevelKey = 12,
kCGScreenSaverWindowLevelKey = 13,
kCGMaximumWindowLevelKey = 14,
kCGOverlayWindowLevelKey = 15,
kCGHelpWindowLevelKey = 16,
kCGUtilityWindowLevelKey = 17,
kCGDesktopIconWindowLevelKey = 18,
kCGNumberOfWindowLevelKeys = 19 /* Internal bookkeeping; must be last */
};
typedef enum _CGCommonWindowLevelKey _CGCommonWindowLevelKey;
/*
* CGWindowLevelForKey()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: in version 10.0 and later
*/
EXTERN_API_C( CGWindowLevel )
CGWindowLevelForKey(CGWindowLevelKey key);
/* number of levels above kCGMaximumWindowLevel reserved for internal use */
enum {
kCGNumReservedWindowLevels = 16
};
/* Definitions of older constant values as calls */
#define kCGBaseWindowLevel CGWindowLevelForKey(kCGBaseWindowLevelKey) /* LONG_MIN */
#define kCGMinimumWindowLevel CGWindowLevelForKey(kCGMinimumWindowLevelKey) /* (kCGBaseWindowLevel + 1) */
#define kCGDesktopWindowLevel CGWindowLevelForKey(kCGDesktopWindowLevelKey) /* kCGMinimumWindowLevel */
#define kCGDesktopIconWindowLevel CGWindowLevelForKey(kCGDesktopIconWindowLevelKey) /* kCGMinimumWindowLevel + 20 */
#define kCGBackstopMenuLevel CGWindowLevelForKey(kCGBackstopMenuLevelKey) /* -20 */
#define kCGNormalWindowLevel CGWindowLevelForKey(kCGNormalWindowLevelKey) /* 0 */
#define kCGFloatingWindowLevel CGWindowLevelForKey(kCGFloatingWindowLevelKey) /* 3 */
#define kCGTornOffMenuWindowLevel CGWindowLevelForKey(kCGTornOffMenuWindowLevelKey) /* 3 */
#define kCGDockWindowLevel CGWindowLevelForKey(kCGDockWindowLevelKey) /* 10 */
#define kCGMainMenuWindowLevel CGWindowLevelForKey(kCGMainMenuWindowLevelKey) /* 20 */
#define kCGStatusWindowLevel CGWindowLevelForKey(kCGStatusWindowLevelKey) /* 21 */
#define kCGModalPanelWindowLevel CGWindowLevelForKey(kCGModalPanelWindowLevelKey) /* 8 */
#define kCGPopUpMenuWindowLevel CGWindowLevelForKey(kCGPopUpMenuWindowLevelKey) /* 101 */
#define kCGDraggingWindowLevel CGWindowLevelForKey(kCGDraggingWindowLevelKey) /* 500 */
#define kCGScreenSaverWindowLevel CGWindowLevelForKey(kCGScreenSaverWindowLevelKey) /* 1000 */
#define kCGOverlayWindowLevel CGWindowLevelForKey(kCGOverlayWindowLevelKey) /* 102 */
#define kCGHelpWindowLevel CGWindowLevelForKey(kCGHelpWindowLevelKey) /* 102 */
#define kCGUtilityWindowLevel CGWindowLevelForKey(kCGUtilityWindowLevelKey) /* 19 */
#define kCGMaximumWindowLevel CGWindowLevelForKey(kCGMaximumWindowLevelKey) /* LONG_MAX - kCGNumReservedWindowLevels */
#if PRAGMA_ENUM_ALWAYSINT
#pragma enumsalwaysint reset
#ifdef __CGWINDOWLEVEL__RESTORE_TWOBYTEINTS
#pragma fourbyteints off
#endif
#elif PRAGMA_ENUM_OPTIONS
#pragma option enum=reset
#elif defined(__CGWINDOWLEVEL__RESTORE_PACKED_ENUMS)
#pragma options(pack_enums)
#endif
#ifdef PRAGMA_IMPORT_OFF
#pragma import off
#elif PRAGMA_IMPORT
#pragma import reset
#endif
#ifdef __cplusplus
}
#endif
#endif /* CGWINDOWLEVEL_H_ */
|