Team Fortress 2 Source Code as on 22/4/2020
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

151 lines
5.2 KiB

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