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.

1877 lines
65 KiB

  1. /*
  2. File: Displays.h
  3. Contains: Display Manager Interfaces.
  4. Version: QuickTime 7.3
  5. Copyright: (c) 2007 (c) 1993-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 __DISPLAYS__
  11. #define __DISPLAYS__
  12. #ifndef __CONDITIONALMACROS__
  13. #include <ConditionalMacros.h>
  14. #endif
  15. #ifndef __COMPONENTS__
  16. #include <Components.h>
  17. #endif
  18. #ifndef __VIDEO__
  19. #include <Video.h>
  20. #endif
  21. #ifndef __CMAPPLICATION__
  22. #include <CMApplication.h>
  23. #endif
  24. #ifndef __APPLEEVENTS__
  25. #include <AppleEvents.h>
  26. #endif
  27. #if PRAGMA_ONCE
  28. #pragma once
  29. #endif
  30. #ifdef __cplusplus
  31. extern "C" {
  32. #endif
  33. #if PRAGMA_IMPORT
  34. #pragma import on
  35. #endif
  36. #if PRAGMA_STRUCT_ALIGN
  37. #pragma options align=mac68k
  38. #elif PRAGMA_STRUCT_PACKPUSH
  39. #pragma pack(push, 2)
  40. #elif PRAGMA_STRUCT_PACK
  41. #pragma pack(2)
  42. #endif
  43. typedef void * DMProcessInfoPtr;
  44. typedef void * DMModalFilterUPP;
  45. enum {
  46. /* AppleEvents Core Suite */
  47. kAESystemConfigNotice = FOUR_CHAR_CODE('cnfg'), /* Core Suite types */
  48. kAEDisplayNotice = FOUR_CHAR_CODE('dspl'),
  49. kAEDisplaySummary = FOUR_CHAR_CODE('dsum'),
  50. keyDMConfigVersion = FOUR_CHAR_CODE('dmcv'),
  51. keyDMConfigFlags = FOUR_CHAR_CODE('dmcf'),
  52. keyDMConfigReserved = FOUR_CHAR_CODE('dmcr'),
  53. keyDisplayID = FOUR_CHAR_CODE('dmid'),
  54. keyDisplayComponent = FOUR_CHAR_CODE('dmdc'),
  55. keyDisplayDevice = FOUR_CHAR_CODE('dmdd'),
  56. keyDisplayFlags = FOUR_CHAR_CODE('dmdf'),
  57. keyDisplayMode = FOUR_CHAR_CODE('dmdm'),
  58. keyDisplayModeReserved = FOUR_CHAR_CODE('dmmr'),
  59. keyDisplayReserved = FOUR_CHAR_CODE('dmdr'),
  60. keyDisplayMirroredId = FOUR_CHAR_CODE('dmmi'),
  61. keyDeviceFlags = FOUR_CHAR_CODE('dddf'),
  62. keyDeviceDepthMode = FOUR_CHAR_CODE('dddm'),
  63. keyDeviceRect = FOUR_CHAR_CODE('dddr'),
  64. keyPixMapRect = FOUR_CHAR_CODE('dpdr'),
  65. keyPixMapHResolution = FOUR_CHAR_CODE('dphr'),
  66. keyPixMapVResolution = FOUR_CHAR_CODE('dpvr'),
  67. keyPixMapPixelType = FOUR_CHAR_CODE('dppt'),
  68. keyPixMapPixelSize = FOUR_CHAR_CODE('dpps'),
  69. keyPixMapCmpCount = FOUR_CHAR_CODE('dpcc'),
  70. keyPixMapCmpSize = FOUR_CHAR_CODE('dpcs'),
  71. keyPixMapAlignment = FOUR_CHAR_CODE('dppa'),
  72. keyPixMapResReserved = FOUR_CHAR_CODE('dprr'),
  73. keyPixMapReserved = FOUR_CHAR_CODE('dppr'),
  74. keyPixMapColorTableSeed = FOUR_CHAR_CODE('dpct'),
  75. keySummaryMenubar = FOUR_CHAR_CODE('dsmb'),
  76. keySummaryChanges = FOUR_CHAR_CODE('dsch'),
  77. keyDisplayOldConfig = FOUR_CHAR_CODE('dold'),
  78. keyDisplayNewConfig = FOUR_CHAR_CODE('dnew')
  79. };
  80. enum {
  81. dmOnlyActiveDisplays = true,
  82. dmAllDisplays = false
  83. };
  84. enum {
  85. /* DMSendDependentNotification notifyClass */
  86. kDependentNotifyClassShowCursor = FOUR_CHAR_CODE('shcr'), /* When display mgr shows a hidden cursor during an unmirror */
  87. kDependentNotifyClassDriverOverride = FOUR_CHAR_CODE('ndrv'), /* When a driver is overridden */
  88. kDependentNotifyClassDisplayMgrOverride = FOUR_CHAR_CODE('dmgr'), /* When display manager is upgraded */
  89. kDependentNotifyClassProfileChanged = FOUR_CHAR_CODE('prof') /* When DMSetProfileByAVID is called */
  90. };
  91. enum {
  92. /* Switch Flags */
  93. kNoSwitchConfirmBit = 0, /* Flag indicating that there is no need to confirm a switch to this mode */
  94. kDepthNotAvailableBit = 1, /* Current depth not available in new mode */
  95. kShowModeBit = 3, /* Show this mode even though it requires a confirm. */
  96. kModeNotResizeBit = 4, /* Do not use this mode to resize display (for cards that mode drives a different connector). */
  97. kNeverShowModeBit = 5 /* This mode should not be shown in the user interface. */
  98. };
  99. /* Summary Change Flags (sticky bits indicating an operation was performed)
  100. For example, moving a display then moving it back will still set the kMovedDisplayBit.
  101. */
  102. enum {
  103. kBeginEndConfigureBit = 0,
  104. kMovedDisplayBit = 1,
  105. kSetMainDisplayBit = 2,
  106. kSetDisplayModeBit = 3,
  107. kAddDisplayBit = 4,
  108. kRemoveDisplayBit = 5,
  109. kNewDisplayBit = 6,
  110. kDisposeDisplayBit = 7,
  111. kEnabledDisplayBit = 8,
  112. kDisabledDisplayBit = 9,
  113. kMirrorDisplayBit = 10,
  114. kUnMirrorDisplayBit = 11
  115. };
  116. enum {
  117. /* Notification Messages for extended call back routines */
  118. kDMNotifyRequestConnectionProbe = 0, /* Like kDMNotifyRequestDisplayProbe only not for smart displays (used in wake before all busses are awake) */
  119. kDMNotifyInstalled = 1, /* At install time */
  120. kDMNotifyEvent = 2, /* Post change time */
  121. kDMNotifyRemoved = 3, /* At remove time */
  122. kDMNotifyPrep = 4, /* Pre change time */
  123. kDMNotifyExtendEvent = 5, /* Allow registrees to extend apple event before it is sent */
  124. kDMNotifyDependents = 6, /* Minor notification check without full update */
  125. kDMNotifySuspendConfigure = 7, /* Temporary end of configuration */
  126. kDMNotifyResumeConfigure = 8, /* Resume configuration */
  127. kDMNotifyRequestDisplayProbe = 9, /* Request smart displays re-probe (used in sleep and hot plugging) */
  128. kDMNotifyDisplayWillSleep = 10, /* Mac OS X only */
  129. kDMNotifyDisplayDidWake = 11, /* Mac OS X only */
  130. /* Notification Flags */
  131. kExtendedNotificationProc = (1L << 16)
  132. };
  133. /* types for notifyType */
  134. enum {
  135. kFullNotify = 0, /* This is the appleevent whole nine yards notify */
  136. kFullDependencyNotify = 1 /* Only sends to those who want to know about interrelated functionality (used for updating UI) */
  137. };
  138. /* DisplayID/DeviceID constants */
  139. enum {
  140. kDummyDeviceID = 0x00FF, /* This is the ID of the dummy display, used when the last "real" display is disabled.*/
  141. kInvalidDisplayID = 0x0000, /* This is the invalid ID*/
  142. kFirstDisplayID = 0x0100
  143. };
  144. enum {
  145. /* bits for panelListFlags */
  146. kAllowDuplicatesBit = 0
  147. };
  148. enum {
  149. /* bits for nameFlags */
  150. kSuppressNumberBit = 0,
  151. kSuppressNumberMask = 1,
  152. kForceNumberBit = 1,
  153. kForceNumberMask = 2,
  154. kSuppressNameBit = 2,
  155. kSuppressNameMask = 4
  156. };
  157. /* DMGetNameByAVID masks*/
  158. enum {
  159. kDMSupressNumbersMask = (1 << 0), /* Supress the numbers and return only names*/
  160. kDMForceNumbersMask = (1 << 1), /* Force numbers to always be shown (even on single display configs)*/
  161. kDMSupressNameMask = (1 << 2) /* Supress the names and return only numbers.*/
  162. };
  163. /* Constants for fidelity checks */
  164. enum {
  165. kNoFidelity = 0,
  166. kMinimumFidelity = 1,
  167. kDefaultFidelity = 500, /* I'm just picking a number for Apple default panels and engines*/
  168. kDefaultManufacturerFidelity = 1000 /* I'm just picking a number for Manufacturer's panels and engines (overrides apple defaults)*/
  169. };
  170. enum {
  171. kAnyPanelType = 0, /* Pass to DMNewEngineList for list of all panels (as opposed to specific types)*/
  172. kAnyEngineType = 0, /* Pass to DMNewEngineList for list of all engines*/
  173. kAnyDeviceType = 0, /* Pass to DMNewDeviceList for list of all devices*/
  174. kAnyPortType = 0 /* Pass to DMNewDevicePortList for list of all devices*/
  175. };
  176. /* portListFlags for DM_NewDevicePortList */
  177. enum {
  178. /* Should offline devices be put into the port list (such as dummy display) */
  179. kPLIncludeOfflineDevicesBit = 0
  180. };
  181. /* confirmFlags for DMConfirmConfiguration */
  182. enum {
  183. kForceConfirmBit = 0, /* Force a confirm dialog */
  184. kForceConfirmMask = (1 << kForceConfirmBit)
  185. };
  186. /* Flags for displayModeFlags */
  187. enum {
  188. kDisplayModeListNotPreferredBit = 0,
  189. kDisplayModeListNotPreferredMask = (1 << kDisplayModeListNotPreferredBit)
  190. };
  191. /* Flags for itemFlags */
  192. enum {
  193. kComponentListNotPreferredBit = 0,
  194. kComponentListNotPreferredMask = (1 << kComponentListNotPreferredBit)
  195. };
  196. enum {
  197. kDisplayTimingInfoVersionZero = 1,
  198. kDisplayTimingInfoReservedCountVersionZero = 16,
  199. kDisplayModeEntryVersionZero = 0, /* displayModeVersion - original version*/
  200. kDisplayModeEntryVersionOne = 1 /* displayModeVersion - added displayModeOverrideInfo*/
  201. };
  202. enum {
  203. kMakeAndModelReservedCount = 4 /* Number of reserved fields*/
  204. };
  205. /* Display Gestalt for DMDisplayGestalt*/
  206. enum {
  207. kDisplayGestaltDisplayCommunicationAttr = FOUR_CHAR_CODE('comm'),
  208. kDisplayGestaltForbidI2CMask = (1 << 0), /* Some displays have firmware problems if they get I2C communication. If this bit is set, then I2C communication is forbidden*/
  209. kDisplayGestaltUseI2CPowerMask = (1 << 1), /* Some displays require I2C power settings (most use DPMS).*/
  210. kDisplayGestaltCalibratorAttr = FOUR_CHAR_CODE('cali'),
  211. kDisplayGestaltBrightnessAffectsGammaMask = (1 << 0), /* Used by default calibrator (should we show brightness panel) */
  212. kDisplayGestaltViewAngleAffectsGammaMask = (1 << 1) /* Currently not used by color sync*/
  213. };
  214. typedef UInt32 DMFidelityType;
  215. /*
  216. AVID is an ID for ports and devices the old DisplayID type
  217. is carried on for compatibility
  218. */
  219. typedef void * DMListType;
  220. typedef unsigned long DMListIndexType;
  221. typedef VDPowerStateRec AVPowerStateRec;
  222. typedef VDPowerStateRec * AVPowerStatePtr;
  223. struct DMDisplayTimingInfoRec {
  224. UInt32 timingInfoVersion;
  225. UInt32 timingInfoAttributes; /* Flags */
  226. SInt32 timingInfoRelativeQuality; /* quality of the timing */
  227. SInt32 timingInfoRelativeDefault; /* relative default of the timing */
  228. UInt32 timingInfoReserved[16]; /* Reserved */
  229. };
  230. typedef struct DMDisplayTimingInfoRec DMDisplayTimingInfoRec;
  231. typedef DMDisplayTimingInfoRec * DMDisplayTimingInfoPtr;
  232. struct DMComponentListEntryRec {
  233. DisplayIDType itemID; /* DisplayID Manager*/
  234. Component itemComponent; /* Component Manager*/
  235. ComponentDescription itemDescription; /* We can always construct this if we use something beyond the compontent mgr.*/
  236. ResType itemClass; /* Class of group to put this panel (eg geometry/color/etc for panels, brightness/contrast for engines, video out/sound/etc for devices)*/
  237. DMFidelityType itemFidelity; /* How good is this item for the specified search?*/
  238. ResType itemSubClass; /* Subclass of group to put this panel. Can use to do sub-grouping (eg volume for volume panel and mute panel)*/
  239. Point itemSort; /* Set to 0 - future to sort the items in a sub group.*/
  240. unsigned long itemFlags; /* Set to 0 (future expansion)*/
  241. ResType itemReserved; /* What kind of code does the itemReference point to (right now - kPanelEntryTypeComponentMgr only)*/
  242. unsigned long itemFuture1; /* Set to 0 (future expansion - probably an alternate code style)*/
  243. unsigned long itemFuture2; /* Set to 0 (future expansion - probably an alternate code style)*/
  244. unsigned long itemFuture3; /* Set to 0 (future expansion - probably an alternate code style)*/
  245. unsigned long itemFuture4; /* Set to 0 (future expansion - probably an alternate code style)*/
  246. };
  247. typedef struct DMComponentListEntryRec DMComponentListEntryRec;
  248. typedef DMComponentListEntryRec * DMComponentListEntryPtr;
  249. /* ooo Move AVLocationRec to AVComponents.i AFTER AVComponents.i is created*/
  250. struct AVLocationRec {
  251. unsigned long locationConstant; /* Set to 0 (future expansion - probably an alternate code style)*/
  252. };
  253. typedef struct AVLocationRec AVLocationRec;
  254. typedef AVLocationRec * AVLocationPtr;
  255. struct DMDepthInfoRec {
  256. VDSwitchInfoPtr depthSwitchInfo; /* This is the switch mode to choose this timing/depth */
  257. VPBlockPtr depthVPBlock; /* VPBlock (including size, depth and format) */
  258. UInt32 depthFlags; /* VDVideoParametersInfoRec.csDepthFlags */
  259. UInt32 depthReserved1; /* Reserved */
  260. UInt32 depthReserved2; /* Reserved */
  261. };
  262. typedef struct DMDepthInfoRec DMDepthInfoRec;
  263. typedef DMDepthInfoRec * DMDepthInfoPtr;
  264. struct DMDepthInfoBlockRec {
  265. unsigned long depthBlockCount; /* How many depths are there? */
  266. DMDepthInfoPtr depthVPBlock; /* Array of DMDepthInfoRec */
  267. unsigned long depthBlockFlags; /* Reserved */
  268. unsigned long depthBlockReserved1; /* Reserved */
  269. unsigned long depthBlockReserved2; /* Reserved */
  270. };
  271. typedef struct DMDepthInfoBlockRec DMDepthInfoBlockRec;
  272. typedef DMDepthInfoBlockRec * DMDepthInfoBlockPtr;
  273. struct DMDisplayModeListEntryRec {
  274. UInt32 displayModeFlags;
  275. VDSwitchInfoPtr displayModeSwitchInfo;
  276. VDResolutionInfoPtr displayModeResolutionInfo;
  277. VDTimingInfoPtr displayModeTimingInfo;
  278. DMDepthInfoBlockPtr displayModeDepthBlockInfo; /* Information about all the depths*/
  279. UInt32 displayModeVersion; /* What version is this record (now kDisplayModeEntryVersionOne)*/
  280. StringPtr displayModeName; /* Name of the timing mode*/
  281. DMDisplayTimingInfoPtr displayModeDisplayInfo; /* Information from the display.*/
  282. };
  283. typedef struct DMDisplayModeListEntryRec DMDisplayModeListEntryRec;
  284. typedef DMDisplayModeListEntryRec * DMDisplayModeListEntryPtr;
  285. struct DependentNotifyRec {
  286. ResType notifyType; /* What type was the engine that made the change (may be zero)*/
  287. ResType notifyClass; /* What class was the change (eg geometry, color etc)*/
  288. DisplayIDType notifyPortID; /* Which device was touched (kInvalidDisplayID -> all or none)*/
  289. ComponentInstance notifyComponent; /* What engine did it (may be 0)?*/
  290. unsigned long notifyVersion; /* Set to 0 (future expansion)*/
  291. unsigned long notifyFlags; /* Set to 0 (future expansion)*/
  292. unsigned long notifyReserved; /* Set to 0 (future expansion)*/
  293. unsigned long notifyFuture; /* Set to 0 (future expansion)*/
  294. };
  295. typedef struct DependentNotifyRec DependentNotifyRec;
  296. typedef DependentNotifyRec * DependentNotifyPtr;
  297. struct DMMakeAndModelRec {
  298. ResType manufacturer;
  299. UInt32 model;
  300. UInt32 serialNumber;
  301. UInt32 manufactureDate;
  302. UInt32 makeReserved[4];
  303. };
  304. typedef struct DMMakeAndModelRec DMMakeAndModelRec;
  305. typedef DMMakeAndModelRec * DMMakeAndModelPtr;
  306. /* DMNewDisplayList displayListIncludeFlags*/
  307. enum {
  308. kIncludeOnlineActiveDisplaysMask = (1 << 0),
  309. kIncludeOnlineDisabledDisplaysMask = (1 << 1),
  310. kIncludeOfflineDisplaysMask = (1 << 2),
  311. kIncludeOfflineDummyDisplaysMask = (1 << 3),
  312. kIncludeHardwareMirroredDisplaysMask = (1 << 4)
  313. };
  314. enum {
  315. /* modeListFlags for DMNewDisplayModeList */
  316. kDMModeListIncludeAllModesMask = (1 << 0), /* Include all timing modes not _explicitly_ excluded (see other bits)*/
  317. kDMModeListIncludeOfflineModesMask = (1 << 1),
  318. kDMModeListExcludeDriverModesMask = (1 << 2), /* Exclude old-style timing modes (cscGetNextResolution/kDisplayModeIDFindFirstResolution modes)*/
  319. kDMModeListExcludeDisplayModesMask = (1 << 3), /* Exclude timing modes that come from the display (always arbritrary timing modes)*/
  320. kDMModeListExcludeCustomModesMask = (1 << 4), /* Exclude custom modes that came neither from the driver or display (need a better name)*/
  321. kDMModeListPreferStretchedModesMask = (1 << 5), /* Prefer modes that are stretched over modes that are letterboxed when setting kDisplayModeListNotPreferredBit*/
  322. kDMModeListPreferSafeModesMask = (1 << 6) /* Prefer modes that are safe over modes that are not when setting kDisplayModeListNotPreferredBit*/
  323. };
  324. /* DMNewDisplayList displayListFlags*/
  325. struct DisplayListEntryRec {
  326. GDHandle displayListEntryGDevice;
  327. DisplayIDType displayListEntryDisplayID;
  328. UInt32 displayListEntryIncludeFlags; /* Reason this entry was included*/
  329. UInt32 displayListEntryReserved1;
  330. UInt32 displayListEntryReserved2; /* Zero*/
  331. UInt32 displayListEntryReserved3; /* Zero*/
  332. UInt32 displayListEntryReserved4; /* Zero*/
  333. UInt32 displayListEntryReserved5; /* Zero*/
  334. };
  335. typedef struct DisplayListEntryRec DisplayListEntryRec;
  336. typedef DisplayListEntryRec * DisplayListEntryPtr;
  337. struct DMProfileListEntryRec {
  338. CMProfileRef profileRef;
  339. Ptr profileReserved1; /* Reserved*/
  340. Ptr profileReserved2; /* Reserved*/
  341. Ptr profileReserved3; /* Reserved*/
  342. };
  343. typedef struct DMProfileListEntryRec DMProfileListEntryRec;
  344. typedef DMProfileListEntryRec * DMProfileListEntryPtr;
  345. typedef CALLBACK_API( void , DMNotificationProcPtr )(AppleEvent * theEvent);
  346. typedef CALLBACK_API( void , DMExtendedNotificationProcPtr )(void *userData, short theMessage, void *notifyData);
  347. typedef CALLBACK_API( void , DMComponentListIteratorProcPtr )(void *userData, DMListIndexType itemIndex, DMComponentListEntryPtr componentInfo);
  348. typedef CALLBACK_API( void , DMDisplayModeListIteratorProcPtr )(void *userData, DMListIndexType itemIndex, DMDisplayModeListEntryPtr displaymodeInfo);
  349. typedef CALLBACK_API( void , DMProfileListIteratorProcPtr )(void *userData, DMListIndexType itemIndex, DMProfileListEntryPtr profileInfo);
  350. typedef CALLBACK_API( void , DMDisplayListIteratorProcPtr )(void *userData, DMListIndexType itemIndex, DisplayListEntryPtr displaymodeInfo);
  351. typedef STACK_UPP_TYPE(DMNotificationProcPtr) DMNotificationUPP;
  352. typedef STACK_UPP_TYPE(DMExtendedNotificationProcPtr) DMExtendedNotificationUPP;
  353. typedef STACK_UPP_TYPE(DMComponentListIteratorProcPtr) DMComponentListIteratorUPP;
  354. typedef STACK_UPP_TYPE(DMDisplayModeListIteratorProcPtr) DMDisplayModeListIteratorUPP;
  355. typedef STACK_UPP_TYPE(DMProfileListIteratorProcPtr) DMProfileListIteratorUPP;
  356. typedef STACK_UPP_TYPE(DMDisplayListIteratorProcPtr) DMDisplayListIteratorUPP;
  357. /*
  358. * NewDMNotificationUPP()
  359. *
  360. * Availability:
  361. * Non-Carbon CFM: available as macro/inline
  362. * CarbonLib: in CarbonLib 1.0 and later
  363. * Mac OS X: in version 10.0 and later
  364. */
  365. EXTERN_API_C( DMNotificationUPP )
  366. NewDMNotificationUPP(DMNotificationProcPtr userRoutine);
  367. #if !OPAQUE_UPP_TYPES
  368. enum { uppDMNotificationProcInfo = 0x000000C0 }; /* pascal no_return_value Func(4_bytes) */
  369. #ifdef __cplusplus
  370. inline DEFINE_API_C(DMNotificationUPP) NewDMNotificationUPP(DMNotificationProcPtr userRoutine) { return (DMNotificationUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDMNotificationProcInfo, GetCurrentArchitecture()); }
  371. #else
  372. #define NewDMNotificationUPP(userRoutine) (DMNotificationUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDMNotificationProcInfo, GetCurrentArchitecture())
  373. #endif
  374. #endif
  375. /*
  376. * NewDMExtendedNotificationUPP()
  377. *
  378. * Availability:
  379. * Non-Carbon CFM: available as macro/inline
  380. * CarbonLib: in CarbonLib 1.0 and later
  381. * Mac OS X: in version 10.0 and later
  382. */
  383. EXTERN_API_C( DMExtendedNotificationUPP )
  384. NewDMExtendedNotificationUPP(DMExtendedNotificationProcPtr userRoutine);
  385. #if !OPAQUE_UPP_TYPES
  386. enum { uppDMExtendedNotificationProcInfo = 0x00000EC0 }; /* pascal no_return_value Func(4_bytes, 2_bytes, 4_bytes) */
  387. #ifdef __cplusplus
  388. inline DEFINE_API_C(DMExtendedNotificationUPP) NewDMExtendedNotificationUPP(DMExtendedNotificationProcPtr userRoutine) { return (DMExtendedNotificationUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDMExtendedNotificationProcInfo, GetCurrentArchitecture()); }
  389. #else
  390. #define NewDMExtendedNotificationUPP(userRoutine) (DMExtendedNotificationUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDMExtendedNotificationProcInfo, GetCurrentArchitecture())
  391. #endif
  392. #endif
  393. /*
  394. * NewDMComponentListIteratorUPP()
  395. *
  396. * Availability:
  397. * Non-Carbon CFM: available as macro/inline
  398. * CarbonLib: in CarbonLib 1.0 and later
  399. * Mac OS X: in version 10.0 and later
  400. */
  401. EXTERN_API_C( DMComponentListIteratorUPP )
  402. NewDMComponentListIteratorUPP(DMComponentListIteratorProcPtr userRoutine);
  403. #if !OPAQUE_UPP_TYPES
  404. enum { uppDMComponentListIteratorProcInfo = 0x00000FC0 }; /* pascal no_return_value Func(4_bytes, 4_bytes, 4_bytes) */
  405. #ifdef __cplusplus
  406. inline DEFINE_API_C(DMComponentListIteratorUPP) NewDMComponentListIteratorUPP(DMComponentListIteratorProcPtr userRoutine) { return (DMComponentListIteratorUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDMComponentListIteratorProcInfo, GetCurrentArchitecture()); }
  407. #else
  408. #define NewDMComponentListIteratorUPP(userRoutine) (DMComponentListIteratorUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDMComponentListIteratorProcInfo, GetCurrentArchitecture())
  409. #endif
  410. #endif
  411. /*
  412. * NewDMDisplayModeListIteratorUPP()
  413. *
  414. * Availability:
  415. * Non-Carbon CFM: available as macro/inline
  416. * CarbonLib: in CarbonLib 1.0 and later
  417. * Mac OS X: in version 10.0 and later
  418. */
  419. EXTERN_API_C( DMDisplayModeListIteratorUPP )
  420. NewDMDisplayModeListIteratorUPP(DMDisplayModeListIteratorProcPtr userRoutine);
  421. #if !OPAQUE_UPP_TYPES
  422. enum { uppDMDisplayModeListIteratorProcInfo = 0x00000FC0 }; /* pascal no_return_value Func(4_bytes, 4_bytes, 4_bytes) */
  423. #ifdef __cplusplus
  424. inline DEFINE_API_C(DMDisplayModeListIteratorUPP) NewDMDisplayModeListIteratorUPP(DMDisplayModeListIteratorProcPtr userRoutine) { return (DMDisplayModeListIteratorUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDMDisplayModeListIteratorProcInfo, GetCurrentArchitecture()); }
  425. #else
  426. #define NewDMDisplayModeListIteratorUPP(userRoutine) (DMDisplayModeListIteratorUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDMDisplayModeListIteratorProcInfo, GetCurrentArchitecture())
  427. #endif
  428. #endif
  429. /*
  430. * NewDMProfileListIteratorUPP()
  431. *
  432. * Availability:
  433. * Non-Carbon CFM: available as macro/inline
  434. * CarbonLib: in CarbonLib 1.0 and later
  435. * Mac OS X: in version 10.0 and later
  436. */
  437. EXTERN_API_C( DMProfileListIteratorUPP )
  438. NewDMProfileListIteratorUPP(DMProfileListIteratorProcPtr userRoutine);
  439. #if !OPAQUE_UPP_TYPES
  440. enum { uppDMProfileListIteratorProcInfo = 0x00000FC0 }; /* pascal no_return_value Func(4_bytes, 4_bytes, 4_bytes) */
  441. #ifdef __cplusplus
  442. inline DEFINE_API_C(DMProfileListIteratorUPP) NewDMProfileListIteratorUPP(DMProfileListIteratorProcPtr userRoutine) { return (DMProfileListIteratorUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDMProfileListIteratorProcInfo, GetCurrentArchitecture()); }
  443. #else
  444. #define NewDMProfileListIteratorUPP(userRoutine) (DMProfileListIteratorUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDMProfileListIteratorProcInfo, GetCurrentArchitecture())
  445. #endif
  446. #endif
  447. /*
  448. * NewDMDisplayListIteratorUPP()
  449. *
  450. * Availability:
  451. * Non-Carbon CFM: available as macro/inline
  452. * CarbonLib: in CarbonLib 1.0 and later
  453. * Mac OS X: in version 10.0 and later
  454. */
  455. EXTERN_API_C( DMDisplayListIteratorUPP )
  456. NewDMDisplayListIteratorUPP(DMDisplayListIteratorProcPtr userRoutine);
  457. #if !OPAQUE_UPP_TYPES
  458. enum { uppDMDisplayListIteratorProcInfo = 0x00000FC0 }; /* pascal no_return_value Func(4_bytes, 4_bytes, 4_bytes) */
  459. #ifdef __cplusplus
  460. inline DEFINE_API_C(DMDisplayListIteratorUPP) NewDMDisplayListIteratorUPP(DMDisplayListIteratorProcPtr userRoutine) { return (DMDisplayListIteratorUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDMDisplayListIteratorProcInfo, GetCurrentArchitecture()); }
  461. #else
  462. #define NewDMDisplayListIteratorUPP(userRoutine) (DMDisplayListIteratorUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDMDisplayListIteratorProcInfo, GetCurrentArchitecture())
  463. #endif
  464. #endif
  465. /*
  466. * DisposeDMNotificationUPP()
  467. *
  468. * Availability:
  469. * Non-Carbon CFM: available as macro/inline
  470. * CarbonLib: in CarbonLib 1.0 and later
  471. * Mac OS X: in version 10.0 and later
  472. */
  473. EXTERN_API_C( void )
  474. DisposeDMNotificationUPP(DMNotificationUPP userUPP);
  475. #if !OPAQUE_UPP_TYPES
  476. #ifdef __cplusplus
  477. inline DEFINE_API_C(void) DisposeDMNotificationUPP(DMNotificationUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
  478. #else
  479. #define DisposeDMNotificationUPP(userUPP) DisposeRoutineDescriptor(userUPP)
  480. #endif
  481. #endif
  482. /*
  483. * DisposeDMExtendedNotificationUPP()
  484. *
  485. * Availability:
  486. * Non-Carbon CFM: available as macro/inline
  487. * CarbonLib: in CarbonLib 1.0 and later
  488. * Mac OS X: in version 10.0 and later
  489. */
  490. EXTERN_API_C( void )
  491. DisposeDMExtendedNotificationUPP(DMExtendedNotificationUPP userUPP);
  492. #if !OPAQUE_UPP_TYPES
  493. #ifdef __cplusplus
  494. inline DEFINE_API_C(void) DisposeDMExtendedNotificationUPP(DMExtendedNotificationUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
  495. #else
  496. #define DisposeDMExtendedNotificationUPP(userUPP) DisposeRoutineDescriptor(userUPP)
  497. #endif
  498. #endif
  499. /*
  500. * DisposeDMComponentListIteratorUPP()
  501. *
  502. * Availability:
  503. * Non-Carbon CFM: available as macro/inline
  504. * CarbonLib: in CarbonLib 1.0 and later
  505. * Mac OS X: in version 10.0 and later
  506. */
  507. EXTERN_API_C( void )
  508. DisposeDMComponentListIteratorUPP(DMComponentListIteratorUPP userUPP);
  509. #if !OPAQUE_UPP_TYPES
  510. #ifdef __cplusplus
  511. inline DEFINE_API_C(void) DisposeDMComponentListIteratorUPP(DMComponentListIteratorUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
  512. #else
  513. #define DisposeDMComponentListIteratorUPP(userUPP) DisposeRoutineDescriptor(userUPP)
  514. #endif
  515. #endif
  516. /*
  517. * DisposeDMDisplayModeListIteratorUPP()
  518. *
  519. * Availability:
  520. * Non-Carbon CFM: available as macro/inline
  521. * CarbonLib: in CarbonLib 1.0 and later
  522. * Mac OS X: in version 10.0 and later
  523. */
  524. EXTERN_API_C( void )
  525. DisposeDMDisplayModeListIteratorUPP(DMDisplayModeListIteratorUPP userUPP);
  526. #if !OPAQUE_UPP_TYPES
  527. #ifdef __cplusplus
  528. inline DEFINE_API_C(void) DisposeDMDisplayModeListIteratorUPP(DMDisplayModeListIteratorUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
  529. #else
  530. #define DisposeDMDisplayModeListIteratorUPP(userUPP) DisposeRoutineDescriptor(userUPP)
  531. #endif
  532. #endif
  533. /*
  534. * DisposeDMProfileListIteratorUPP()
  535. *
  536. * Availability:
  537. * Non-Carbon CFM: available as macro/inline
  538. * CarbonLib: in CarbonLib 1.0 and later
  539. * Mac OS X: in version 10.0 and later
  540. */
  541. EXTERN_API_C( void )
  542. DisposeDMProfileListIteratorUPP(DMProfileListIteratorUPP userUPP);
  543. #if !OPAQUE_UPP_TYPES
  544. #ifdef __cplusplus
  545. inline DEFINE_API_C(void) DisposeDMProfileListIteratorUPP(DMProfileListIteratorUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
  546. #else
  547. #define DisposeDMProfileListIteratorUPP(userUPP) DisposeRoutineDescriptor(userUPP)
  548. #endif
  549. #endif
  550. /*
  551. * DisposeDMDisplayListIteratorUPP()
  552. *
  553. * Availability:
  554. * Non-Carbon CFM: available as macro/inline
  555. * CarbonLib: in CarbonLib 1.0 and later
  556. * Mac OS X: in version 10.0 and later
  557. */
  558. EXTERN_API_C( void )
  559. DisposeDMDisplayListIteratorUPP(DMDisplayListIteratorUPP userUPP);
  560. #if !OPAQUE_UPP_TYPES
  561. #ifdef __cplusplus
  562. inline DEFINE_API_C(void) DisposeDMDisplayListIteratorUPP(DMDisplayListIteratorUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
  563. #else
  564. #define DisposeDMDisplayListIteratorUPP(userUPP) DisposeRoutineDescriptor(userUPP)
  565. #endif
  566. #endif
  567. /*
  568. * InvokeDMNotificationUPP()
  569. *
  570. * Availability:
  571. * Non-Carbon CFM: available as macro/inline
  572. * CarbonLib: in CarbonLib 1.0 and later
  573. * Mac OS X: in version 10.0 and later
  574. */
  575. EXTERN_API_C( void )
  576. InvokeDMNotificationUPP(
  577. AppleEvent * theEvent,
  578. DMNotificationUPP userUPP);
  579. #if !OPAQUE_UPP_TYPES
  580. #ifdef __cplusplus
  581. inline DEFINE_API_C(void) InvokeDMNotificationUPP(AppleEvent * theEvent, DMNotificationUPP userUPP) { CALL_ONE_PARAMETER_UPP(userUPP, uppDMNotificationProcInfo, theEvent); }
  582. #else
  583. #define InvokeDMNotificationUPP(theEvent, userUPP) CALL_ONE_PARAMETER_UPP((userUPP), uppDMNotificationProcInfo, (theEvent))
  584. #endif
  585. #endif
  586. /*
  587. * InvokeDMExtendedNotificationUPP()
  588. *
  589. * Availability:
  590. * Non-Carbon CFM: available as macro/inline
  591. * CarbonLib: in CarbonLib 1.0 and later
  592. * Mac OS X: in version 10.0 and later
  593. */
  594. EXTERN_API_C( void )
  595. InvokeDMExtendedNotificationUPP(
  596. void * userData,
  597. short theMessage,
  598. void * notifyData,
  599. DMExtendedNotificationUPP userUPP);
  600. #if !OPAQUE_UPP_TYPES
  601. #ifdef __cplusplus
  602. inline DEFINE_API_C(void) InvokeDMExtendedNotificationUPP(void * userData, short theMessage, void * notifyData, DMExtendedNotificationUPP userUPP) { CALL_THREE_PARAMETER_UPP(userUPP, uppDMExtendedNotificationProcInfo, userData, theMessage, notifyData); }
  603. #else
  604. #define InvokeDMExtendedNotificationUPP(userData, theMessage, notifyData, userUPP) CALL_THREE_PARAMETER_UPP((userUPP), uppDMExtendedNotificationProcInfo, (userData), (theMessage), (notifyData))
  605. #endif
  606. #endif
  607. /*
  608. * InvokeDMComponentListIteratorUPP()
  609. *
  610. * Availability:
  611. * Non-Carbon CFM: available as macro/inline
  612. * CarbonLib: in CarbonLib 1.0 and later
  613. * Mac OS X: in version 10.0 and later
  614. */
  615. EXTERN_API_C( void )
  616. InvokeDMComponentListIteratorUPP(
  617. void * userData,
  618. DMListIndexType itemIndex,
  619. DMComponentListEntryPtr componentInfo,
  620. DMComponentListIteratorUPP userUPP);
  621. #if !OPAQUE_UPP_TYPES
  622. #ifdef __cplusplus
  623. inline DEFINE_API_C(void) InvokeDMComponentListIteratorUPP(void * userData, DMListIndexType itemIndex, DMComponentListEntryPtr componentInfo, DMComponentListIteratorUPP userUPP) { CALL_THREE_PARAMETER_UPP(userUPP, uppDMComponentListIteratorProcInfo, userData, itemIndex, componentInfo); }
  624. #else
  625. #define InvokeDMComponentListIteratorUPP(userData, itemIndex, componentInfo, userUPP) CALL_THREE_PARAMETER_UPP((userUPP), uppDMComponentListIteratorProcInfo, (userData), (itemIndex), (componentInfo))
  626. #endif
  627. #endif
  628. /*
  629. * InvokeDMDisplayModeListIteratorUPP()
  630. *
  631. * Availability:
  632. * Non-Carbon CFM: available as macro/inline
  633. * CarbonLib: in CarbonLib 1.0 and later
  634. * Mac OS X: in version 10.0 and later
  635. */
  636. EXTERN_API_C( void )
  637. InvokeDMDisplayModeListIteratorUPP(
  638. void * userData,
  639. DMListIndexType itemIndex,
  640. DMDisplayModeListEntryPtr displaymodeInfo,
  641. DMDisplayModeListIteratorUPP userUPP);
  642. #if !OPAQUE_UPP_TYPES
  643. #ifdef __cplusplus
  644. inline DEFINE_API_C(void) InvokeDMDisplayModeListIteratorUPP(void * userData, DMListIndexType itemIndex, DMDisplayModeListEntryPtr displaymodeInfo, DMDisplayModeListIteratorUPP userUPP) { CALL_THREE_PARAMETER_UPP(userUPP, uppDMDisplayModeListIteratorProcInfo, userData, itemIndex, displaymodeInfo); }
  645. #else
  646. #define InvokeDMDisplayModeListIteratorUPP(userData, itemIndex, displaymodeInfo, userUPP) CALL_THREE_PARAMETER_UPP((userUPP), uppDMDisplayModeListIteratorProcInfo, (userData), (itemIndex), (displaymodeInfo))
  647. #endif
  648. #endif
  649. /*
  650. * InvokeDMProfileListIteratorUPP()
  651. *
  652. * Availability:
  653. * Non-Carbon CFM: available as macro/inline
  654. * CarbonLib: in CarbonLib 1.0 and later
  655. * Mac OS X: in version 10.0 and later
  656. */
  657. EXTERN_API_C( void )
  658. InvokeDMProfileListIteratorUPP(
  659. void * userData,
  660. DMListIndexType itemIndex,
  661. DMProfileListEntryPtr profileInfo,
  662. DMProfileListIteratorUPP userUPP);
  663. #if !OPAQUE_UPP_TYPES
  664. #ifdef __cplusplus
  665. inline DEFINE_API_C(void) InvokeDMProfileListIteratorUPP(void * userData, DMListIndexType itemIndex, DMProfileListEntryPtr profileInfo, DMProfileListIteratorUPP userUPP) { CALL_THREE_PARAMETER_UPP(userUPP, uppDMProfileListIteratorProcInfo, userData, itemIndex, profileInfo); }
  666. #else
  667. #define InvokeDMProfileListIteratorUPP(userData, itemIndex, profileInfo, userUPP) CALL_THREE_PARAMETER_UPP((userUPP), uppDMProfileListIteratorProcInfo, (userData), (itemIndex), (profileInfo))
  668. #endif
  669. #endif
  670. /*
  671. * InvokeDMDisplayListIteratorUPP()
  672. *
  673. * Availability:
  674. * Non-Carbon CFM: available as macro/inline
  675. * CarbonLib: in CarbonLib 1.0 and later
  676. * Mac OS X: in version 10.0 and later
  677. */
  678. EXTERN_API_C( void )
  679. InvokeDMDisplayListIteratorUPP(
  680. void * userData,
  681. DMListIndexType itemIndex,
  682. DisplayListEntryPtr displaymodeInfo,
  683. DMDisplayListIteratorUPP userUPP);
  684. #if !OPAQUE_UPP_TYPES
  685. #ifdef __cplusplus
  686. inline DEFINE_API_C(void) InvokeDMDisplayListIteratorUPP(void * userData, DMListIndexType itemIndex, DisplayListEntryPtr displaymodeInfo, DMDisplayListIteratorUPP userUPP) { CALL_THREE_PARAMETER_UPP(userUPP, uppDMDisplayListIteratorProcInfo, userData, itemIndex, displaymodeInfo); }
  687. #else
  688. #define InvokeDMDisplayListIteratorUPP(userData, itemIndex, displaymodeInfo, userUPP) CALL_THREE_PARAMETER_UPP((userUPP), uppDMDisplayListIteratorProcInfo, (userData), (itemIndex), (displaymodeInfo))
  689. #endif
  690. #endif
  691. #if CALL_NOT_IN_CARBON || OLDROUTINENAMES
  692. /* support for pre-Carbon UPP routines: New...Proc and Call...Proc */
  693. #define NewDMNotificationProc(userRoutine) NewDMNotificationUPP(userRoutine)
  694. #define NewDMExtendedNotificationProc(userRoutine) NewDMExtendedNotificationUPP(userRoutine)
  695. #define NewDMComponentListIteratorProc(userRoutine) NewDMComponentListIteratorUPP(userRoutine)
  696. #define NewDMDisplayModeListIteratorProc(userRoutine) NewDMDisplayModeListIteratorUPP(userRoutine)
  697. #define NewDMProfileListIteratorProc(userRoutine) NewDMProfileListIteratorUPP(userRoutine)
  698. #define NewDMDisplayListIteratorProc(userRoutine) NewDMDisplayListIteratorUPP(userRoutine)
  699. #define CallDMNotificationProc(userRoutine, theEvent) InvokeDMNotificationUPP(theEvent, userRoutine)
  700. #define CallDMExtendedNotificationProc(userRoutine, userData, theMessage, notifyData) InvokeDMExtendedNotificationUPP(userData, theMessage, notifyData, userRoutine)
  701. #define CallDMComponentListIteratorProc(userRoutine, userData, itemIndex, componentInfo) InvokeDMComponentListIteratorUPP(userData, itemIndex, componentInfo, userRoutine)
  702. #define CallDMDisplayModeListIteratorProc(userRoutine, userData, itemIndex, displaymodeInfo) InvokeDMDisplayModeListIteratorUPP(userData, itemIndex, displaymodeInfo, userRoutine)
  703. #define CallDMProfileListIteratorProc(userRoutine, userData, itemIndex, profileInfo) InvokeDMProfileListIteratorUPP(userData, itemIndex, profileInfo, userRoutine)
  704. #define CallDMDisplayListIteratorProc(userRoutine, userData, itemIndex, displaymodeInfo) InvokeDMDisplayListIteratorUPP(userData, itemIndex, displaymodeInfo, userRoutine)
  705. #endif /* CALL_NOT_IN_CARBON */
  706. #if CALL_NOT_IN_CARBON
  707. /*
  708. * DMDisplayGestalt()
  709. *
  710. * Availability:
  711. * Non-Carbon CFM: in DisplayLib 2.1 and later
  712. * CarbonLib: not available
  713. * Mac OS X: not available
  714. */
  715. EXTERN_API( OSErr )
  716. DMDisplayGestalt(
  717. DisplayIDType theDisplayID,
  718. ResType displayGestaltSelector,
  719. UInt32 * displayGestaltResponse) THREEWORDINLINE(0x303C, 0x06D3, 0xABEB);
  720. /*
  721. * DMUseScreenPrefs()
  722. *
  723. * Availability:
  724. * Non-Carbon CFM: in DisplayLib 2.1 and later
  725. * CarbonLib: not available
  726. * Mac OS X: not available
  727. */
  728. EXTERN_API( OSErr )
  729. DMUseScreenPrefs(
  730. Boolean usePrefs,
  731. Handle displayState) THREEWORDINLINE(0x303C, 0x03EC, 0xABEB);
  732. /*
  733. * DMSuspendConfigure()
  734. *
  735. * Availability:
  736. * Non-Carbon CFM: in DisplayLib 2.1 and later
  737. * CarbonLib: not available
  738. * Mac OS X: not available
  739. */
  740. EXTERN_API( OSErr )
  741. DMSuspendConfigure(
  742. Handle displayState,
  743. unsigned long reserved1) THREEWORDINLINE(0x303C, 0x04E9, 0xABEB);
  744. /*
  745. * DMResumeConfigure()
  746. *
  747. * Availability:
  748. * Non-Carbon CFM: in DisplayLib 2.1 and later
  749. * CarbonLib: not available
  750. * Mac OS X: not available
  751. */
  752. EXTERN_API( OSErr )
  753. DMResumeConfigure(
  754. Handle displayState,
  755. unsigned long reserved1) THREEWORDINLINE(0x303C, 0x04E8, 0xABEB);
  756. /*
  757. * DMSetGammaByAVID()
  758. *
  759. * Availability:
  760. * Non-Carbon CFM: in DisplayLib 2.1 and later
  761. * CarbonLib: not available
  762. * Mac OS X: not available
  763. */
  764. EXTERN_API( OSErr )
  765. DMSetGammaByAVID(
  766. AVIDType gammaAVID,
  767. UInt32 setGammaFlags,
  768. GammaTblHandle theGamma) THREEWORDINLINE(0x303C, 0x06D1, 0xABEB);
  769. /*
  770. * DMGetGammaByAVID()
  771. *
  772. * Availability:
  773. * Non-Carbon CFM: in DisplayLib 2.1 and later
  774. * CarbonLib: not available
  775. * Mac OS X: not available
  776. */
  777. EXTERN_API( OSErr )
  778. DMGetGammaByAVID(
  779. AVIDType gammaAVID,
  780. UInt32 getGammaFlags,
  781. GammaTblHandle * theGamma) THREEWORDINLINE(0x303C, 0x06D0, 0xABEB);
  782. /*
  783. * DMGetMakeAndModelByAVID()
  784. *
  785. * Availability:
  786. * Non-Carbon CFM: in DisplayLib 2.1 and later
  787. * CarbonLib: not available
  788. * Mac OS X: not available
  789. */
  790. EXTERN_API( OSErr )
  791. DMGetMakeAndModelByAVID(
  792. AVIDType theAVID,
  793. DMMakeAndModelPtr theMakeAndModel) THREEWORDINLINE(0x303C, 0x04D7, 0xABEB);
  794. /*
  795. * DMNewDisplayList()
  796. *
  797. * Availability:
  798. * Non-Carbon CFM: in DisplayLib 2.1 and later
  799. * CarbonLib: not available
  800. * Mac OS X: not available
  801. */
  802. EXTERN_API( OSErr )
  803. DMNewDisplayList(
  804. UInt32 displayListIncludeFlags,
  805. UInt32 reserved1,
  806. UInt32 reserved2,
  807. DMListIndexType * theCount,
  808. DMListType * theDisplayList) THREEWORDINLINE(0x303C, 0x0AD6, 0xABEB);
  809. /*
  810. * DMGetIndexedDisplayFromList()
  811. *
  812. * Availability:
  813. * Non-Carbon CFM: in DisplayLib 2.1 and later
  814. * CarbonLib: not available
  815. * Mac OS X: not available
  816. */
  817. EXTERN_API( OSErr )
  818. DMGetIndexedDisplayFromList(
  819. DMListType theDisplayList,
  820. DMListIndexType itemIndex,
  821. UInt32 reserved,
  822. DMDisplayListIteratorUPP listIterator,
  823. void * userData) THREEWORDINLINE(0x303C, 0x0AD5, 0xABEB);
  824. /*
  825. * DMNewProfileListByAVID()
  826. *
  827. * Availability:
  828. * Non-Carbon CFM: in DisplayLib 2.1 and later
  829. * CarbonLib: not available
  830. * Mac OS X: not available
  831. */
  832. EXTERN_API( OSErr )
  833. DMNewProfileListByAVID(
  834. AVIDType theAVID,
  835. UInt32 reserved,
  836. DMListIndexType * profileCount,
  837. DMListType * profileList) THREEWORDINLINE(0x303C, 0x08DC, 0xABEB);
  838. /*
  839. * DMGetIndexedProfileFromList()
  840. *
  841. * Availability:
  842. * Non-Carbon CFM: in DisplayLib 2.1 and later
  843. * CarbonLib: not available
  844. * Mac OS X: not available
  845. */
  846. EXTERN_API( OSErr )
  847. DMGetIndexedProfileFromList(
  848. DMListType profileList,
  849. DMListIndexType itemIndex,
  850. UInt32 reserved,
  851. DMProfileListIteratorUPP listIterator,
  852. void * userData) THREEWORDINLINE(0x303C, 0x0ADB, 0xABEB);
  853. #endif /* CALL_NOT_IN_CARBON */
  854. /*
  855. * DMGetFirstScreenDevice()
  856. *
  857. * Availability:
  858. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  859. * CarbonLib: in CarbonLib 1.0 and later
  860. * Mac OS X: in version 10.0 and later
  861. */
  862. EXTERN_API( GDHandle )
  863. DMGetFirstScreenDevice(Boolean activeOnly) TWOWORDINLINE(0x7000, 0xABEB);
  864. /*
  865. * DMGetNextScreenDevice()
  866. *
  867. * Availability:
  868. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  869. * CarbonLib: in CarbonLib 1.0 and later
  870. * Mac OS X: in version 10.0 and later
  871. */
  872. EXTERN_API( GDHandle )
  873. DMGetNextScreenDevice(
  874. GDHandle theDevice,
  875. Boolean activeOnly) TWOWORDINLINE(0x7001, 0xABEB);
  876. /*
  877. * DMDrawDesktopRect()
  878. *
  879. * Availability:
  880. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  881. * CarbonLib: in CarbonLib 1.0 and later
  882. * Mac OS X: in version 10.0 and later
  883. */
  884. EXTERN_API( void )
  885. DMDrawDesktopRect(Rect * globalRect) TWOWORDINLINE(0x7002, 0xABEB);
  886. /*
  887. * DMDrawDesktopRegion()
  888. *
  889. * Availability:
  890. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  891. * CarbonLib: in CarbonLib 1.0 and later
  892. * Mac OS X: in version 10.0 and later
  893. */
  894. EXTERN_API( void )
  895. DMDrawDesktopRegion(RgnHandle globalRgn) TWOWORDINLINE(0x7003, 0xABEB);
  896. /*
  897. * DMBeginConfigureDisplays()
  898. *
  899. * Availability:
  900. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  901. * CarbonLib: in CarbonLib 1.0 and later
  902. * Mac OS X: in version 10.0 and later
  903. */
  904. EXTERN_API( OSErr )
  905. DMBeginConfigureDisplays(Handle * displayState) THREEWORDINLINE(0x303C, 0x0206, 0xABEB);
  906. /*
  907. * DMEndConfigureDisplays()
  908. *
  909. * Availability:
  910. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  911. * CarbonLib: in CarbonLib 1.0 and later
  912. * Mac OS X: in version 10.0 and later
  913. */
  914. EXTERN_API( OSErr )
  915. DMEndConfigureDisplays(Handle displayState) THREEWORDINLINE(0x303C, 0x0207, 0xABEB);
  916. /*
  917. * DMAddDisplay()
  918. *
  919. * Availability:
  920. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  921. * CarbonLib: in CarbonLib 1.0 and later
  922. * Mac OS X: in version 10.0 and later
  923. */
  924. EXTERN_API( OSErr )
  925. DMAddDisplay(
  926. GDHandle newDevice,
  927. short driver,
  928. unsigned long mode,
  929. unsigned long reserved,
  930. unsigned long displayID,
  931. Component displayComponent,
  932. Handle displayState) THREEWORDINLINE(0x303C, 0x0D08, 0xABEB);
  933. /*
  934. * DMMoveDisplay()
  935. *
  936. * Availability:
  937. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  938. * CarbonLib: in CarbonLib 1.0 and later
  939. * Mac OS X: in version 10.0 and later
  940. */
  941. EXTERN_API( OSErr )
  942. DMMoveDisplay(
  943. GDHandle moveDevice,
  944. short x,
  945. short y,
  946. Handle displayState) THREEWORDINLINE(0x303C, 0x0609, 0xABEB);
  947. /*
  948. * DMDisableDisplay()
  949. *
  950. * Availability:
  951. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  952. * CarbonLib: in CarbonLib 1.0 and later
  953. * Mac OS X: in version 10.0 and later
  954. */
  955. EXTERN_API( OSErr )
  956. DMDisableDisplay(
  957. GDHandle disableDevice,
  958. Handle displayState) THREEWORDINLINE(0x303C, 0x040A, 0xABEB);
  959. /*
  960. * DMEnableDisplay()
  961. *
  962. * Availability:
  963. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  964. * CarbonLib: in CarbonLib 1.0 and later
  965. * Mac OS X: in version 10.0 and later
  966. */
  967. EXTERN_API( OSErr )
  968. DMEnableDisplay(
  969. GDHandle enableDevice,
  970. Handle displayState) THREEWORDINLINE(0x303C, 0x040B, 0xABEB);
  971. /*
  972. * DMRemoveDisplay()
  973. *
  974. * Availability:
  975. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  976. * CarbonLib: in CarbonLib 1.0 and later
  977. * Mac OS X: in version 10.0 and later
  978. */
  979. EXTERN_API( OSErr )
  980. DMRemoveDisplay(
  981. GDHandle removeDevice,
  982. Handle displayState) THREEWORDINLINE(0x303C, 0x040C, 0xABEB);
  983. /*
  984. * DMSetMainDisplay()
  985. *
  986. * Availability:
  987. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  988. * CarbonLib: in CarbonLib 1.0 and later
  989. * Mac OS X: in version 10.0 and later
  990. */
  991. EXTERN_API( OSErr )
  992. DMSetMainDisplay(
  993. GDHandle newMainDevice,
  994. Handle displayState) THREEWORDINLINE(0x303C, 0x0410, 0xABEB);
  995. /*
  996. * DMSetDisplayMode()
  997. *
  998. * Availability:
  999. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  1000. * CarbonLib: in CarbonLib 1.0 and later
  1001. * Mac OS X: in version 10.0 and later
  1002. */
  1003. EXTERN_API( OSErr )
  1004. DMSetDisplayMode(
  1005. GDHandle theDevice,
  1006. unsigned long mode,
  1007. unsigned long * depthMode,
  1008. unsigned long reserved,
  1009. Handle displayState) THREEWORDINLINE(0x303C, 0x0A11, 0xABEB);
  1010. /*
  1011. * DMCheckDisplayMode()
  1012. *
  1013. * Availability:
  1014. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  1015. * CarbonLib: in CarbonLib 1.0 and later
  1016. * Mac OS X: in version 10.0 and later
  1017. */
  1018. EXTERN_API( OSErr )
  1019. DMCheckDisplayMode(
  1020. GDHandle theDevice,
  1021. unsigned long mode,
  1022. unsigned long depthMode,
  1023. unsigned long * switchFlags,
  1024. unsigned long reserved,
  1025. Boolean * modeOk) THREEWORDINLINE(0x303C, 0x0C12, 0xABEB);
  1026. /*
  1027. * DMGetDeskRegion()
  1028. *
  1029. * Availability:
  1030. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  1031. * CarbonLib: in CarbonLib 1.0 and later
  1032. * Mac OS X: in version 10.0 and later
  1033. */
  1034. EXTERN_API( OSErr )
  1035. DMGetDeskRegion(RgnHandle * desktopRegion) THREEWORDINLINE(0x303C, 0x0213, 0xABEB);
  1036. /*
  1037. * DMRegisterNotifyProc()
  1038. *
  1039. * Availability:
  1040. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  1041. * CarbonLib: in CarbonLib 1.0 and later
  1042. * Mac OS X: in version 10.0 and later
  1043. */
  1044. EXTERN_API( OSErr )
  1045. DMRegisterNotifyProc(
  1046. DMNotificationUPP notificationProc,
  1047. DMProcessInfoPtr whichPSN) THREEWORDINLINE(0x303C, 0x0414, 0xABEB);
  1048. /*
  1049. * DMRemoveNotifyProc()
  1050. *
  1051. * Availability:
  1052. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  1053. * CarbonLib: in CarbonLib 1.0 and later
  1054. * Mac OS X: in version 10.0 and later
  1055. */
  1056. EXTERN_API( OSErr )
  1057. DMRemoveNotifyProc(
  1058. DMNotificationUPP notificationProc,
  1059. DMProcessInfoPtr whichPSN) THREEWORDINLINE(0x303C, 0x0415, 0xABEB);
  1060. /*
  1061. * DMQDIsMirroringCapable()
  1062. *
  1063. * Availability:
  1064. * Non-Carbon CFM: in InterfaceLib 7.5 and later
  1065. * CarbonLib: in CarbonLib 1.0 and later
  1066. * Mac OS X: in version 10.0 and later
  1067. */
  1068. EXTERN_API( OSErr )
  1069. DMQDIsMirroringCapable(Boolean * qdIsMirroringCapable) THREEWORDINLINE(0x303C, 0x0216, 0xABEB);
  1070. /*
  1071. * DMCanMirrorNow()
  1072. *
  1073. * Availability:
  1074. * Non-Carbon CFM: in InterfaceLib 7.5 and later
  1075. * CarbonLib: in CarbonLib 1.0 and later
  1076. * Mac OS X: in version 10.0 and later
  1077. */
  1078. EXTERN_API( OSErr )
  1079. DMCanMirrorNow(Boolean * canMirrorNow) THREEWORDINLINE(0x303C, 0x0217, 0xABEB);
  1080. /*
  1081. * DMIsMirroringOn()
  1082. *
  1083. * Availability:
  1084. * Non-Carbon CFM: in InterfaceLib 7.5 and later
  1085. * CarbonLib: in CarbonLib 1.0 and later
  1086. * Mac OS X: in version 10.0 and later
  1087. */
  1088. EXTERN_API( OSErr )
  1089. DMIsMirroringOn(Boolean * isMirroringOn) THREEWORDINLINE(0x303C, 0x0218, 0xABEB);
  1090. /*
  1091. * DMMirrorDevices()
  1092. *
  1093. * Availability:
  1094. * Non-Carbon CFM: in InterfaceLib 7.5 and later
  1095. * CarbonLib: in CarbonLib 1.0 and later
  1096. * Mac OS X: in version 10.0 and later
  1097. */
  1098. EXTERN_API( OSErr )
  1099. DMMirrorDevices(
  1100. GDHandle gD1,
  1101. GDHandle gD2,
  1102. Handle displayState) THREEWORDINLINE(0x303C, 0x0619, 0xABEB);
  1103. /*
  1104. * DMUnmirrorDevice()
  1105. *
  1106. * Availability:
  1107. * Non-Carbon CFM: in InterfaceLib 7.5 and later
  1108. * CarbonLib: in CarbonLib 1.0 and later
  1109. * Mac OS X: in version 10.0 and later
  1110. */
  1111. EXTERN_API( OSErr )
  1112. DMUnmirrorDevice(
  1113. GDHandle gDevice,
  1114. Handle displayState) THREEWORDINLINE(0x303C, 0x041A, 0xABEB);
  1115. /*
  1116. * DMGetNextMirroredDevice()
  1117. *
  1118. * Availability:
  1119. * Non-Carbon CFM: in InterfaceLib 7.5 and later
  1120. * CarbonLib: in CarbonLib 1.0 and later
  1121. * Mac OS X: in version 10.0 and later
  1122. */
  1123. EXTERN_API( OSErr )
  1124. DMGetNextMirroredDevice(
  1125. GDHandle gDevice,
  1126. GDHandle * mirroredDevice) THREEWORDINLINE(0x303C, 0x041B, 0xABEB);
  1127. /*
  1128. * DMBlockMirroring()
  1129. *
  1130. * Availability:
  1131. * Non-Carbon CFM: in InterfaceLib 7.5 and later
  1132. * CarbonLib: in CarbonLib 1.0 and later
  1133. * Mac OS X: in version 10.0 and later
  1134. */
  1135. EXTERN_API( OSErr )
  1136. DMBlockMirroring(void) TWOWORDINLINE(0x701C, 0xABEB);
  1137. /*
  1138. * DMUnblockMirroring()
  1139. *
  1140. * Availability:
  1141. * Non-Carbon CFM: in InterfaceLib 7.5 and later
  1142. * CarbonLib: in CarbonLib 1.0 and later
  1143. * Mac OS X: in version 10.0 and later
  1144. */
  1145. EXTERN_API( OSErr )
  1146. DMUnblockMirroring(void) TWOWORDINLINE(0x701D, 0xABEB);
  1147. #if CALL_NOT_IN_CARBON
  1148. /*
  1149. * DMGetDisplayMgrA5World()
  1150. *
  1151. * Availability:
  1152. * Non-Carbon CFM: in InterfaceLib 7.5 and later
  1153. * CarbonLib: not available
  1154. * Mac OS X: not available
  1155. */
  1156. EXTERN_API( OSErr )
  1157. DMGetDisplayMgrA5World(Ptr * dmA5) THREEWORDINLINE(0x303C, 0x021E, 0xABEB);
  1158. #endif /* CALL_NOT_IN_CARBON */
  1159. /*
  1160. * DMGetDisplayIDByGDevice()
  1161. *
  1162. * Availability:
  1163. * Non-Carbon CFM: in InterfaceLib 7.5 and later
  1164. * CarbonLib: in CarbonLib 1.0 and later
  1165. * Mac OS X: in version 10.0 and later
  1166. */
  1167. EXTERN_API( OSErr )
  1168. DMGetDisplayIDByGDevice(
  1169. GDHandle displayDevice,
  1170. DisplayIDType * displayID,
  1171. Boolean failToMain) THREEWORDINLINE(0x303C, 0x051F, 0xABEB);
  1172. /*
  1173. * DMGetGDeviceByDisplayID()
  1174. *
  1175. * Availability:
  1176. * Non-Carbon CFM: in InterfaceLib 7.5 and later
  1177. * CarbonLib: in CarbonLib 1.0 and later
  1178. * Mac OS X: in version 10.0 and later
  1179. */
  1180. EXTERN_API( OSErr )
  1181. DMGetGDeviceByDisplayID(
  1182. DisplayIDType displayID,
  1183. GDHandle * displayDevice,
  1184. Boolean failToMain) THREEWORDINLINE(0x303C, 0x0520, 0xABEB);
  1185. /*
  1186. * DMSetDisplayComponent()
  1187. *
  1188. * Availability:
  1189. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  1190. * CarbonLib: in CarbonLib 1.0 and later
  1191. * Mac OS X: in version 10.0 and later
  1192. */
  1193. EXTERN_API( OSErr )
  1194. DMSetDisplayComponent(
  1195. GDHandle theDevice,
  1196. Component displayComponent) THREEWORDINLINE(0x303C, 0x0421, 0xABEB);
  1197. /*
  1198. * DMGetDisplayComponent()
  1199. *
  1200. * Availability:
  1201. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  1202. * CarbonLib: in CarbonLib 1.0 and later
  1203. * Mac OS X: in version 10.0 and later
  1204. */
  1205. EXTERN_API( OSErr )
  1206. DMGetDisplayComponent(
  1207. GDHandle theDevice,
  1208. Component * displayComponent) THREEWORDINLINE(0x303C, 0x0422, 0xABEB);
  1209. /*
  1210. * DMNewDisplay()
  1211. *
  1212. * Availability:
  1213. * Non-Carbon CFM: in InterfaceLib 7.5 and later
  1214. * CarbonLib: in CarbonLib 1.0 and later
  1215. * Mac OS X: in version 10.0 and later
  1216. */
  1217. EXTERN_API( OSErr )
  1218. DMNewDisplay(
  1219. GDHandle * newDevice,
  1220. short driverRefNum,
  1221. unsigned long mode,
  1222. unsigned long reserved,
  1223. DisplayIDType displayID,
  1224. Component displayComponent,
  1225. Handle displayState) THREEWORDINLINE(0x303C, 0x0D23, 0xABEB);
  1226. /*
  1227. * DMDisposeDisplay()
  1228. *
  1229. * Availability:
  1230. * Non-Carbon CFM: in InterfaceLib 7.5 and later
  1231. * CarbonLib: in CarbonLib 1.0 and later
  1232. * Mac OS X: in version 10.0 and later
  1233. */
  1234. EXTERN_API( OSErr )
  1235. DMDisposeDisplay(
  1236. GDHandle disposeDevice,
  1237. Handle displayState) THREEWORDINLINE(0x303C, 0x0424, 0xABEB);
  1238. /*
  1239. * DMResolveDisplayComponents()
  1240. *
  1241. * Availability:
  1242. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  1243. * CarbonLib: in CarbonLib 1.0 and later
  1244. * Mac OS X: in version 10.0 and later
  1245. */
  1246. EXTERN_API( OSErr )
  1247. DMResolveDisplayComponents(void) TWOWORDINLINE(0x7025, 0xABEB);
  1248. /*
  1249. * DMRegisterExtendedNotifyProc()
  1250. *
  1251. * Availability:
  1252. * Non-Carbon CFM: in DisplayLib 2.0 and later
  1253. * CarbonLib: in CarbonLib 1.0 and later
  1254. * Mac OS X: in version 10.0 and later
  1255. */
  1256. EXTERN_API( OSErr )
  1257. DMRegisterExtendedNotifyProc(
  1258. DMExtendedNotificationUPP notifyProc,
  1259. void * notifyUserData,
  1260. unsigned short nofifyOnFlags,
  1261. DMProcessInfoPtr whichPSN) THREEWORDINLINE(0x303C, 0x07EF, 0xABEB);
  1262. /*
  1263. * DMRemoveExtendedNotifyProc()
  1264. *
  1265. * Availability:
  1266. * Non-Carbon CFM: in DisplayLib 2.0 and later
  1267. * CarbonLib: in CarbonLib 1.0 and later
  1268. * Mac OS X: in version 10.0 and later
  1269. */
  1270. EXTERN_API( OSErr )
  1271. DMRemoveExtendedNotifyProc(
  1272. DMExtendedNotificationUPP notifyProc,
  1273. void * notifyUserData,
  1274. DMProcessInfoPtr whichPSN,
  1275. unsigned short removeFlags) THREEWORDINLINE(0x303C, 0x0726, 0xABEB);
  1276. /*
  1277. * DMNewAVPanelList()
  1278. *
  1279. * Availability:
  1280. * Non-Carbon CFM: in DisplayLib68k 2.0 and later
  1281. * CarbonLib: in CarbonLib 1.0 and later
  1282. * Mac OS X: in version 10.0 and later
  1283. */
  1284. EXTERN_API( OSErr )
  1285. DMNewAVPanelList(
  1286. DisplayIDType displayID,
  1287. ResType panelType,
  1288. DMFidelityType minimumFidelity,
  1289. unsigned long panelListFlags,
  1290. unsigned long reserved,
  1291. DMListIndexType * thePanelCount,
  1292. DMListType * thePanelList) THREEWORDINLINE(0x303C, 0x0C27, 0xABEB);
  1293. /*
  1294. * DMNewAVEngineList()
  1295. *
  1296. * Availability:
  1297. * Non-Carbon CFM: in DisplayLib68k 2.0 and later
  1298. * CarbonLib: in CarbonLib 1.0 and later
  1299. * Mac OS X: in version 10.0 and later
  1300. */
  1301. EXTERN_API( OSErr )
  1302. DMNewAVEngineList(
  1303. DisplayIDType displayID,
  1304. ResType engineType,
  1305. DMFidelityType minimumFidelity,
  1306. unsigned long engineListFlags,
  1307. unsigned long reserved,
  1308. DMListIndexType * engineCount,
  1309. DMListType * engineList) THREEWORDINLINE(0x303C, 0x0C28, 0xABEB);
  1310. /*
  1311. * DMNewAVDeviceList()
  1312. *
  1313. * Availability:
  1314. * Non-Carbon CFM: in DisplayLib68k 2.0 and later
  1315. * CarbonLib: in CarbonLib 1.0 and later
  1316. * Mac OS X: in version 10.0 and later
  1317. */
  1318. EXTERN_API( OSErr )
  1319. DMNewAVDeviceList(
  1320. ResType deviceType,
  1321. unsigned long deviceListFlags,
  1322. unsigned long reserved,
  1323. DMListIndexType * deviceCount,
  1324. DMListType * deviceList) THREEWORDINLINE(0x303C, 0x0A29, 0xABEB);
  1325. /*
  1326. * DMNewAVPortListByPortType()
  1327. *
  1328. * Availability:
  1329. * Non-Carbon CFM: in DisplayLib68k 2.0 and later
  1330. * CarbonLib: in CarbonLib 1.0 and later
  1331. * Mac OS X: in version 10.0 and later
  1332. */
  1333. EXTERN_API( OSErr )
  1334. DMNewAVPortListByPortType(
  1335. ResType subType,
  1336. unsigned long portListFlags,
  1337. unsigned long reserved,
  1338. DMListIndexType * devicePortCount,
  1339. DMListType * theDevicePortList) THREEWORDINLINE(0x303C, 0x0A2A, 0xABEB);
  1340. /*
  1341. * DMGetIndexedComponentFromList()
  1342. *
  1343. * Availability:
  1344. * Non-Carbon CFM: in DisplayLib68k 2.0 and later
  1345. * CarbonLib: in CarbonLib 1.0 and later
  1346. * Mac OS X: in version 10.0 and later
  1347. */
  1348. EXTERN_API( OSErr )
  1349. DMGetIndexedComponentFromList(
  1350. DMListType panelList,
  1351. DMListIndexType itemIndex,
  1352. unsigned long reserved,
  1353. DMComponentListIteratorUPP listIterator,
  1354. void * userData) THREEWORDINLINE(0x303C, 0x0A2B, 0xABEB);
  1355. /*
  1356. * DMDisposeList()
  1357. *
  1358. * Availability:
  1359. * Non-Carbon CFM: in DisplayLib 2.0 and later
  1360. * CarbonLib: in CarbonLib 1.0 and later
  1361. * Mac OS X: in version 10.0 and later
  1362. */
  1363. EXTERN_API( OSErr )
  1364. DMDisposeList(DMListType panelList) THREEWORDINLINE(0x303C, 0x022C, 0xABEB);
  1365. /*
  1366. * DMGetNameByAVID()
  1367. *
  1368. * Availability:
  1369. * Non-Carbon CFM: in DisplayLib68k 2.0 and later
  1370. * CarbonLib: in CarbonLib 1.0 and later
  1371. * Mac OS X: in version 10.0 and later
  1372. */
  1373. EXTERN_API( OSErr )
  1374. DMGetNameByAVID(
  1375. AVIDType theID,
  1376. unsigned long nameFlags,
  1377. Str255 name) THREEWORDINLINE(0x303C, 0x062D, 0xABEB);
  1378. /*
  1379. * DMNewAVIDByPortComponent()
  1380. *
  1381. * Availability:
  1382. * Non-Carbon CFM: in DisplayLib68k 2.0 and later
  1383. * CarbonLib: in CarbonLib 1.0 and later
  1384. * Mac OS X: in version 10.0 and later
  1385. */
  1386. EXTERN_API( OSErr )
  1387. DMNewAVIDByPortComponent(
  1388. Component thePortComponent,
  1389. ResType portKind,
  1390. unsigned long reserved,
  1391. AVIDType * newID) THREEWORDINLINE(0x303C, 0x082E, 0xABEB);
  1392. /*
  1393. * DMGetPortComponentByAVID()
  1394. *
  1395. * Availability:
  1396. * Non-Carbon CFM: in DisplayLib68k 2.0 and later
  1397. * CarbonLib: in CarbonLib 1.0 and later
  1398. * Mac OS X: in version 10.0 and later
  1399. */
  1400. EXTERN_API( OSErr )
  1401. DMGetPortComponentByAVID(
  1402. DisplayIDType thePortID,
  1403. Component * thePortComponent,
  1404. ComponentDescription * theDesciption,
  1405. ResType * thePortKind) THREEWORDINLINE(0x303C, 0x082F, 0xABEB);
  1406. /*
  1407. * DMSendDependentNotification()
  1408. *
  1409. * Availability:
  1410. * Non-Carbon CFM: in DisplayLib 2.0 and later
  1411. * CarbonLib: in CarbonLib 1.0 and later
  1412. * Mac OS X: in version 10.0 and later
  1413. */
  1414. EXTERN_API( OSErr )
  1415. DMSendDependentNotification(
  1416. ResType notifyType,
  1417. ResType notifyClass,
  1418. AVIDType displayID,
  1419. ComponentInstance notifyComponent) THREEWORDINLINE(0x303C, 0x0830, 0xABEB);
  1420. /*
  1421. * DMDisposeAVComponent()
  1422. *
  1423. * Availability:
  1424. * Non-Carbon CFM: in DisplayLib68k 2.0 and later
  1425. * CarbonLib: in CarbonLib 1.0 and later
  1426. * Mac OS X: in version 10.0 and later
  1427. */
  1428. EXTERN_API( OSErr )
  1429. DMDisposeAVComponent(Component theAVComponent) THREEWORDINLINE(0x303C, 0x0231, 0xABEB);
  1430. /*
  1431. * DMSaveScreenPrefs()
  1432. *
  1433. * Availability:
  1434. * Non-Carbon CFM: in DisplayLib68k 2.0 and later
  1435. * CarbonLib: in CarbonLib 1.0 and later
  1436. * Mac OS X: in version 10.0 and later
  1437. */
  1438. EXTERN_API( OSErr )
  1439. DMSaveScreenPrefs(
  1440. unsigned long reserved1,
  1441. unsigned long saveFlags,
  1442. unsigned long reserved2) THREEWORDINLINE(0x303C, 0x0632, 0xABEB);
  1443. /*
  1444. * DMNewAVIDByDeviceComponent()
  1445. *
  1446. * Availability:
  1447. * Non-Carbon CFM: in DisplayLib68k 2.0 and later
  1448. * CarbonLib: in CarbonLib 1.0 and later
  1449. * Mac OS X: in version 10.0 and later
  1450. */
  1451. EXTERN_API( OSErr )
  1452. DMNewAVIDByDeviceComponent(
  1453. Component theDeviceComponent,
  1454. ResType portKind,
  1455. unsigned long reserved,
  1456. DisplayIDType * newID) THREEWORDINLINE(0x303C, 0x0833, 0xABEB);
  1457. /*
  1458. * DMNewAVPortListByDeviceAVID()
  1459. *
  1460. * Availability:
  1461. * Non-Carbon CFM: in DisplayLib68k 2.0 and later
  1462. * CarbonLib: in CarbonLib 1.0 and later
  1463. * Mac OS X: in version 10.0 and later
  1464. */
  1465. EXTERN_API( OSErr )
  1466. DMNewAVPortListByDeviceAVID(
  1467. AVIDType theID,
  1468. DMFidelityType minimumFidelity,
  1469. unsigned long portListFlags,
  1470. unsigned long reserved,
  1471. DMListIndexType * devicePortCount,
  1472. DMListType * theDevicePortList) THREEWORDINLINE(0x303C, 0x0C34, 0xABEB);
  1473. /*
  1474. * DMGetDeviceComponentByAVID()
  1475. *
  1476. * Availability:
  1477. * Non-Carbon CFM: in DisplayLib68k 2.0 and later
  1478. * CarbonLib: in CarbonLib 1.0 and later
  1479. * Mac OS X: in version 10.0 and later
  1480. */
  1481. EXTERN_API( OSErr )
  1482. DMGetDeviceComponentByAVID(
  1483. AVIDType theDeviceID,
  1484. Component * theDeviceComponent,
  1485. ComponentDescription * theDesciption,
  1486. ResType * theDeviceKind) THREEWORDINLINE(0x303C, 0x0835, 0xABEB);
  1487. /*
  1488. * DMNewDisplayModeList()
  1489. *
  1490. * Availability:
  1491. * Non-Carbon CFM: in DisplayLib68k 2.0 and later
  1492. * CarbonLib: in CarbonLib 1.0 and later
  1493. * Mac OS X: in version 10.0 and later
  1494. */
  1495. EXTERN_API( OSErr )
  1496. DMNewDisplayModeList(
  1497. DisplayIDType displayID,
  1498. unsigned long modeListFlags,
  1499. unsigned long reserved,
  1500. DMListIndexType * thePanelCount,
  1501. DMListType * thePanelList) THREEWORDINLINE(0x303C, 0x0A36, 0xABEB);
  1502. /*
  1503. * DMGetIndexedDisplayModeFromList()
  1504. *
  1505. * Availability:
  1506. * Non-Carbon CFM: in DisplayLib68k 2.0 and later
  1507. * CarbonLib: in CarbonLib 1.0 and later
  1508. * Mac OS X: in version 10.0 and later
  1509. */
  1510. EXTERN_API( OSErr )
  1511. DMGetIndexedDisplayModeFromList(
  1512. DMListType panelList,
  1513. DMListIndexType itemIndex,
  1514. unsigned long reserved,
  1515. DMDisplayModeListIteratorUPP listIterator,
  1516. void * userData) THREEWORDINLINE(0x303C, 0x0A37, 0xABEB);
  1517. /*
  1518. * DMGetGraphicInfoByAVID()
  1519. *
  1520. * Availability:
  1521. * Non-Carbon CFM: in DisplayLib68k 2.0 and later
  1522. * CarbonLib: in CarbonLib 1.0 and later
  1523. * Mac OS X: in version 10.0 and later
  1524. */
  1525. EXTERN_API( OSErr )
  1526. DMGetGraphicInfoByAVID(
  1527. AVIDType theID,
  1528. PicHandle * theAVPcit,
  1529. Handle * theAVIconSuite,
  1530. AVLocationRec * theAVLocation) THREEWORDINLINE(0x303C, 0x0838, 0xABEB);
  1531. /*
  1532. * DMGetAVPowerState()
  1533. *
  1534. * Availability:
  1535. * Non-Carbon CFM: in DisplayLib68k 2.0 and later
  1536. * CarbonLib: in CarbonLib 1.0 and later
  1537. * Mac OS X: in version 10.0 and later
  1538. */
  1539. EXTERN_API( OSErr )
  1540. DMGetAVPowerState(
  1541. AVIDType theID,
  1542. AVPowerStatePtr getPowerState,
  1543. unsigned long reserved1) THREEWORDINLINE(0x303C, 0x0839, 0xABEB);
  1544. /*
  1545. * DMSetAVPowerState()
  1546. *
  1547. * Availability:
  1548. * Non-Carbon CFM: in DisplayLib68k 2.0 and later
  1549. * CarbonLib: in CarbonLib 1.0 and later
  1550. * Mac OS X: in version 10.0 and later
  1551. */
  1552. EXTERN_API( OSErr )
  1553. DMSetAVPowerState(
  1554. AVIDType theID,
  1555. AVPowerStatePtr setPowerState,
  1556. unsigned long powerFlags,
  1557. Handle displayState) THREEWORDINLINE(0x303C, 0x083A, 0xABEB);
  1558. /*
  1559. * DMGetDeviceAVIDByPortAVID()
  1560. *
  1561. * Availability:
  1562. * Non-Carbon CFM: in DisplayLib68k 2.0 and later
  1563. * CarbonLib: in CarbonLib 1.0 and later
  1564. * Mac OS X: in version 10.0 and later
  1565. */
  1566. EXTERN_API( OSErr )
  1567. DMGetDeviceAVIDByPortAVID(
  1568. AVIDType portAVID,
  1569. AVIDType * deviceAVID) THREEWORDINLINE(0x303C, 0x043B, 0xABEB);
  1570. /*
  1571. * DMGetEnableByAVID()
  1572. *
  1573. * Availability:
  1574. * Non-Carbon CFM: in DisplayLib68k 2.0 and later
  1575. * CarbonLib: in CarbonLib 1.0 and later
  1576. * Mac OS X: in version 10.0 and later
  1577. */
  1578. EXTERN_API( OSErr )
  1579. DMGetEnableByAVID(
  1580. AVIDType theAVID,
  1581. Boolean * isAVIDEnabledNow,
  1582. Boolean * canChangeEnableNow) THREEWORDINLINE(0x303C, 0x063C, 0xABEB);
  1583. /*
  1584. * DMSetEnableByAVID()
  1585. *
  1586. * Availability:
  1587. * Non-Carbon CFM: in DisplayLib68k 2.0 and later
  1588. * CarbonLib: in CarbonLib 1.0 and later
  1589. * Mac OS X: in version 10.0 and later
  1590. */
  1591. EXTERN_API( OSErr )
  1592. DMSetEnableByAVID(
  1593. AVIDType theAVID,
  1594. Boolean doEnable,
  1595. Handle displayState) THREEWORDINLINE(0x303C, 0x053D, 0xABEB);
  1596. /*
  1597. * DMGetDisplayMode()
  1598. *
  1599. * Availability:
  1600. * Non-Carbon CFM: in DisplayLib68k 2.0 and later
  1601. * CarbonLib: in CarbonLib 1.0 and later
  1602. * Mac OS X: in version 10.0 and later
  1603. */
  1604. EXTERN_API( OSErr )
  1605. DMGetDisplayMode(
  1606. GDHandle theDevice,
  1607. VDSwitchInfoPtr switchInfo) THREEWORDINLINE(0x303C, 0x043E, 0xABEB);
  1608. /*
  1609. * DMConfirmConfiguration()
  1610. *
  1611. * Availability:
  1612. * Non-Carbon CFM: in DisplayLib 2.1 and later
  1613. * CarbonLib: in CarbonLib 1.0 and later
  1614. * Mac OS X: in version 10.0 and later
  1615. */
  1616. EXTERN_API( OSErr )
  1617. DMConfirmConfiguration(
  1618. DMModalFilterUPP filterProc,
  1619. UInt32 confirmFlags,
  1620. UInt32 reserved,
  1621. Handle displayState) THREEWORDINLINE(0x303C, 0x083F, 0xABEB);
  1622. #if PRAGMA_STRUCT_ALIGN
  1623. #pragma options align=reset
  1624. #elif PRAGMA_STRUCT_PACKPUSH
  1625. #pragma pack(pop)
  1626. #elif PRAGMA_STRUCT_PACK
  1627. #pragma pack()
  1628. #endif
  1629. #ifdef PRAGMA_IMPORT_OFF
  1630. #pragma import off
  1631. #elif PRAGMA_IMPORT
  1632. #pragma import reset
  1633. #endif
  1634. #ifdef __cplusplus
  1635. }
  1636. #endif
  1637. #endif /* __DISPLAYS__ */