/packages/univint/src/Quickdraw.pas

https://github.com/slibre/freepascal · Pascal · 6594 lines · 490 code · 820 blank · 5284 comment · 0 complexity · cff5eabb7d20b5b69fcd8add8f6d1144 MD5 · raw file

Large files are truncated click here to view the full file

  1. {
  2. File: QD/QuickdrawAPI.h
  3. Contains: API Prototypes from the former Quickdraw.i
  4. Version: Quickdraw-262~1
  5. Copyright: © 2005-2008 by Apple Inc. all rights reserved.
  6. Bugs?: For bug reports, consult the following page on
  7. the World Wide Web:
  8. http://www.freepascal.org/bugs.html
  9. }
  10. { Pascal Translation Updated: Gale R Paeper, <gpaeper@empirenet.com>, 2007 }
  11. { Pascal Translation Updated: Jonas Maebe, <jonas@freepascal.org>, October 2009 }
  12. {
  13. Modified for use with Free Pascal
  14. Version 308
  15. Please report any bugs to <gpc@microbizz.nl>
  16. }
  17. {$ifc not defined MACOSALLINCLUDE or not MACOSALLINCLUDE}
  18. {$mode macpas}
  19. {$packenum 1}
  20. {$macro on}
  21. {$inline on}
  22. {$calling mwpascal}
  23. unit Quickdraw;
  24. interface
  25. {$setc UNIVERSAL_INTERFACES_VERSION := $0400}
  26. {$setc GAP_INTERFACES_VERSION := $0308}
  27. {$ifc not defined USE_CFSTR_CONSTANT_MACROS}
  28. {$setc USE_CFSTR_CONSTANT_MACROS := TRUE}
  29. {$endc}
  30. {$ifc defined CPUPOWERPC and defined CPUI386}
  31. {$error Conflicting initial definitions for CPUPOWERPC and CPUI386}
  32. {$endc}
  33. {$ifc defined FPC_BIG_ENDIAN and defined FPC_LITTLE_ENDIAN}
  34. {$error Conflicting initial definitions for FPC_BIG_ENDIAN and FPC_LITTLE_ENDIAN}
  35. {$endc}
  36. {$ifc not defined __ppc__ and defined CPUPOWERPC32}
  37. {$setc __ppc__ := 1}
  38. {$elsec}
  39. {$setc __ppc__ := 0}
  40. {$endc}
  41. {$ifc not defined __ppc64__ and defined CPUPOWERPC64}
  42. {$setc __ppc64__ := 1}
  43. {$elsec}
  44. {$setc __ppc64__ := 0}
  45. {$endc}
  46. {$ifc not defined __i386__ and defined CPUI386}
  47. {$setc __i386__ := 1}
  48. {$elsec}
  49. {$setc __i386__ := 0}
  50. {$endc}
  51. {$ifc not defined __x86_64__ and defined CPUX86_64}
  52. {$setc __x86_64__ := 1}
  53. {$elsec}
  54. {$setc __x86_64__ := 0}
  55. {$endc}
  56. {$ifc not defined __arm__ and defined CPUARM}
  57. {$setc __arm__ := 1}
  58. {$elsec}
  59. {$setc __arm__ := 0}
  60. {$endc}
  61. {$ifc defined cpu64}
  62. {$setc __LP64__ := 1}
  63. {$elsec}
  64. {$setc __LP64__ := 0}
  65. {$endc}
  66. {$ifc defined __ppc__ and __ppc__ and defined __i386__ and __i386__}
  67. {$error Conflicting definitions for __ppc__ and __i386__}
  68. {$endc}
  69. {$ifc defined __ppc__ and __ppc__}
  70. {$setc TARGET_CPU_PPC := TRUE}
  71. {$setc TARGET_CPU_PPC64 := FALSE}
  72. {$setc TARGET_CPU_X86 := FALSE}
  73. {$setc TARGET_CPU_X86_64 := FALSE}
  74. {$setc TARGET_CPU_ARM := FALSE}
  75. {$setc TARGET_OS_MAC := TRUE}
  76. {$setc TARGET_OS_IPHONE := FALSE}
  77. {$setc TARGET_IPHONE_SIMULATOR := FALSE}
  78. {$setc TARGET_OS_EMBEDDED := FALSE}
  79. {$elifc defined __ppc64__ and __ppc64__}
  80. {$setc TARGET_CPU_PPC := FALSE}
  81. {$setc TARGET_CPU_PPC64 := TRUE}
  82. {$setc TARGET_CPU_X86 := FALSE}
  83. {$setc TARGET_CPU_X86_64 := FALSE}
  84. {$setc TARGET_CPU_ARM := FALSE}
  85. {$setc TARGET_OS_MAC := TRUE}
  86. {$setc TARGET_OS_IPHONE := FALSE}
  87. {$setc TARGET_IPHONE_SIMULATOR := FALSE}
  88. {$setc TARGET_OS_EMBEDDED := FALSE}
  89. {$elifc defined __i386__ and __i386__}
  90. {$setc TARGET_CPU_PPC := FALSE}
  91. {$setc TARGET_CPU_PPC64 := FALSE}
  92. {$setc TARGET_CPU_X86 := TRUE}
  93. {$setc TARGET_CPU_X86_64 := FALSE}
  94. {$setc TARGET_CPU_ARM := FALSE}
  95. {$ifc defined(iphonesim)}
  96. {$setc TARGET_OS_MAC := FALSE}
  97. {$setc TARGET_OS_IPHONE := TRUE}
  98. {$setc TARGET_IPHONE_SIMULATOR := TRUE}
  99. {$elsec}
  100. {$setc TARGET_OS_MAC := TRUE}
  101. {$setc TARGET_OS_IPHONE := FALSE}
  102. {$setc TARGET_IPHONE_SIMULATOR := FALSE}
  103. {$endc}
  104. {$setc TARGET_OS_EMBEDDED := FALSE}
  105. {$elifc defined __x86_64__ and __x86_64__}
  106. {$setc TARGET_CPU_PPC := FALSE}
  107. {$setc TARGET_CPU_PPC64 := FALSE}
  108. {$setc TARGET_CPU_X86 := FALSE}
  109. {$setc TARGET_CPU_X86_64 := TRUE}
  110. {$setc TARGET_CPU_ARM := FALSE}
  111. {$setc TARGET_OS_MAC := TRUE}
  112. {$setc TARGET_OS_IPHONE := FALSE}
  113. {$setc TARGET_IPHONE_SIMULATOR := FALSE}
  114. {$setc TARGET_OS_EMBEDDED := FALSE}
  115. {$elifc defined __arm__ and __arm__}
  116. {$setc TARGET_CPU_PPC := FALSE}
  117. {$setc TARGET_CPU_PPC64 := FALSE}
  118. {$setc TARGET_CPU_X86 := FALSE}
  119. {$setc TARGET_CPU_X86_64 := FALSE}
  120. {$setc TARGET_CPU_ARM := TRUE}
  121. { will require compiler define when/if other Apple devices with ARM cpus ship }
  122. {$setc TARGET_OS_MAC := FALSE}
  123. {$setc TARGET_OS_IPHONE := TRUE}
  124. {$setc TARGET_IPHONE_SIMULATOR := FALSE}
  125. {$setc TARGET_OS_EMBEDDED := TRUE}
  126. {$elsec}
  127. {$error __ppc__ nor __ppc64__ nor __i386__ nor __x86_64__ nor __arm__ is defined.}
  128. {$endc}
  129. {$ifc defined __LP64__ and __LP64__ }
  130. {$setc TARGET_CPU_64 := TRUE}
  131. {$elsec}
  132. {$setc TARGET_CPU_64 := FALSE}
  133. {$endc}
  134. {$ifc defined FPC_BIG_ENDIAN}
  135. {$setc TARGET_RT_BIG_ENDIAN := TRUE}
  136. {$setc TARGET_RT_LITTLE_ENDIAN := FALSE}
  137. {$elifc defined FPC_LITTLE_ENDIAN}
  138. {$setc TARGET_RT_BIG_ENDIAN := FALSE}
  139. {$setc TARGET_RT_LITTLE_ENDIAN := TRUE}
  140. {$elsec}
  141. {$error Neither FPC_BIG_ENDIAN nor FPC_LITTLE_ENDIAN are defined.}
  142. {$endc}
  143. {$setc ACCESSOR_CALLS_ARE_FUNCTIONS := TRUE}
  144. {$setc CALL_NOT_IN_CARBON := FALSE}
  145. {$setc OLDROUTINENAMES := FALSE}
  146. {$setc OPAQUE_TOOLBOX_STRUCTS := TRUE}
  147. {$setc OPAQUE_UPP_TYPES := TRUE}
  148. {$setc OTCARBONAPPLICATION := TRUE}
  149. {$setc OTKERNEL := FALSE}
  150. {$setc PM_USE_SESSION_APIS := TRUE}
  151. {$setc TARGET_API_MAC_CARBON := TRUE}
  152. {$setc TARGET_API_MAC_OS8 := FALSE}
  153. {$setc TARGET_API_MAC_OSX := TRUE}
  154. {$setc TARGET_CARBON := TRUE}
  155. {$setc TARGET_CPU_68K := FALSE}
  156. {$setc TARGET_CPU_MIPS := FALSE}
  157. {$setc TARGET_CPU_SPARC := FALSE}
  158. {$setc TARGET_OS_UNIX := FALSE}
  159. {$setc TARGET_OS_WIN32 := FALSE}
  160. {$setc TARGET_RT_MAC_68881 := FALSE}
  161. {$setc TARGET_RT_MAC_CFM := FALSE}
  162. {$setc TARGET_RT_MAC_MACHO := TRUE}
  163. {$setc TYPED_FUNCTION_POINTERS := TRUE}
  164. {$setc TYPE_BOOL := FALSE}
  165. {$setc TYPE_EXTENDED := FALSE}
  166. {$setc TYPE_LONGLONG := TRUE}
  167. uses MacTypes,QDCMCommon,QuickdrawTypes,ColorSyncDeprecated,CGDirectDisplay,Components,MixedMode,QuickdrawText,CGContext;
  168. {$endc} {not MACOSALLINCLUDE}
  169. {$ifc TARGET_OS_MAC}
  170. {$ALIGN MAC68K}
  171. {*********************************************************************************
  172. // NOTE: Quickdraw has been deprecated for deployment targets 10.4 and later.
  173. // The replacement API is Quartz (CoreGraphics).
  174. // Because of the fundamental differences in the imaging models and design
  175. // goals between Quickdraw and Quartz, there is no direct correspondence
  176. // possible (or even desirable) between Quickdraw and Quartz APIs and concepts.
  177. // For certain purposes, some Quickdraw functions may even still be needed during
  178. // a transition period; nevertheless, they have all been tagged as deprecated
  179. // to express the overriding goal of eliminating all Quickdraw usage in the future.
  180. |********************************************************************************}
  181. {
  182. General comments about thread-safety of Quickdraw
  183. -------------------------------------------------
  184. The original design and implementation principles of Quickdraw seriously
  185. conflict with the goal of making Quickdraw thread-safe. Many Quickdraw
  186. functions rely on globals instead of explicit parameters. Even though the
  187. current port (and the current GDevice) are being maintained per-thread,
  188. a simple call like "MoveTo(x, y)" just doesn't make sense with preemptive threads,
  189. if two different threads use the same port. Also, as soon as a client replaces
  190. bottleneck procedures (SetStdCProcs), thread-safety is compromised.
  191. That's why we maintain by default the "Not thread safe" attribute in Quickdraw APIs,
  192. even though they may appear to be thread-safe.
  193. }
  194. { Break a region up into rectangles.}
  195. const
  196. kQDRegionToRectsMsgInit = 1;
  197. kQDRegionToRectsMsgParse = 2;
  198. kQDRegionToRectsMsgTerminate = 3;
  199. const
  200. kQDParseRegionFromTop = 1 shl 0;
  201. kQDParseRegionFromBottom = 1 shl 1;
  202. kQDParseRegionFromLeft = 1 shl 2;
  203. kQDParseRegionFromRight = 1 shl 3;
  204. kQDParseRegionFromTopLeft = kQDParseRegionFromTop or kQDParseRegionFromLeft;
  205. kQDParseRegionFromBottomRight = kQDParseRegionFromBottom or kQDParseRegionFromRight;
  206. type
  207. QDRegionParseDirection = SInt32;
  208. RegionToRectsProcPtr = function( message: UInt16; rgn: RgnHandle; const (*var*) rect_: Rect; refCon: UnivPtr ): OSStatus;
  209. RegionToRectsUPP = RegionToRectsProcPtr;
  210. {
  211. * NewRegionToRectsUPP()
  212. *
  213. * Availability:
  214. * Mac OS X: in version 10.0 and later in ApplicationServices.framework
  215. * CarbonLib: in CarbonLib 1.0 and later
  216. * Non-Carbon CFM: available as macro/inline
  217. }
  218. function NewRegionToRectsUPP( userRoutine: RegionToRectsProcPtr ): RegionToRectsUPP; external name '_NewRegionToRectsUPP';
  219. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 *)
  220. {
  221. * DisposeRegionToRectsUPP()
  222. *
  223. * Availability:
  224. * Mac OS X: in version 10.0 and later in ApplicationServices.framework
  225. * CarbonLib: in CarbonLib 1.0 and later
  226. * Non-Carbon CFM: available as macro/inline
  227. }
  228. procedure DisposeRegionToRectsUPP( userUPP: RegionToRectsUPP ); external name '_DisposeRegionToRectsUPP';
  229. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 *)
  230. {
  231. * InvokeRegionToRectsUPP()
  232. *
  233. * Availability:
  234. * Mac OS X: in version 10.0 and later in ApplicationServices.framework
  235. * CarbonLib: in CarbonLib 1.0 and later
  236. * Non-Carbon CFM: available as macro/inline
  237. }
  238. function InvokeRegionToRectsUPP( message: UInt16; rgn: RgnHandle; const (*var*) rect_: Rect; refCon: UnivPtr; userUPP: RegionToRectsUPP ): OSStatus; external name '_InvokeRegionToRectsUPP';
  239. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 *)
  240. {
  241. * QDRegionToRects()
  242. *
  243. * Mac OS X threading:
  244. * Not thread safe
  245. *
  246. * Availability:
  247. * Mac OS X: in version 10.0 and later in ApplicationServices.framework
  248. * CarbonLib: in CarbonLib 1.0 and later
  249. * Non-Carbon CFM: not available
  250. }
  251. function QDRegionToRects( rgn: RgnHandle; dir: QDRegionParseDirection; proc: RegionToRectsUPP; userData: UnivPtr ): OSStatus; external name '_QDRegionToRects';
  252. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  253. {$ifc not TARGET_CPU_64}
  254. {
  255. * LockPortBits() *** DEPRECATED ***
  256. *
  257. * Mac OS X threading:
  258. * Not thread safe
  259. *
  260. * Availability:
  261. * Mac OS X: in version 10.0 and later in ApplicationServices.framework [32-bit only] but deprecated in 10.4
  262. * CarbonLib: in CarbonLib 1.0 and later
  263. * Non-Carbon CFM: not available
  264. }
  265. function LockPortBits( port: GrafPtr ): OSErr; external name '_LockPortBits';
  266. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 *)
  267. {
  268. * UnlockPortBits() *** DEPRECATED ***
  269. *
  270. * Mac OS X threading:
  271. * Not thread safe
  272. *
  273. * Availability:
  274. * Mac OS X: in version 10.0 and later in ApplicationServices.framework [32-bit only] but deprecated in 10.4
  275. * CarbonLib: in CarbonLib 1.0 and later
  276. * Non-Carbon CFM: not available
  277. }
  278. function UnlockPortBits( port: GrafPtr ): OSErr; external name '_UnlockPortBits';
  279. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 *)
  280. {$endc} {not TARGET_CPU_64}
  281. {$ifc TARGET_OS_WIN32}
  282. {
  283. * GetPortHWND()
  284. *
  285. * Availability:
  286. * Mac OS X: not available
  287. * CarbonLib: not available
  288. * Non-Carbon CFM: not available
  289. }
  290. {
  291. * GetHWNDPort()
  292. *
  293. * Availability:
  294. * Mac OS X: not available
  295. * CarbonLib: not available
  296. * Non-Carbon CFM: not available
  297. }
  298. // #define GetPortHWND(port) (HWND)GetPortNativeWindow(port)
  299. // #define GetHWNDPort(theHWND) GetNativeWindowPort(theHWND)
  300. {
  301. * GetPortHDC()
  302. *
  303. * Availability:
  304. * Mac OS X: not available
  305. * CarbonLib: not available
  306. * Non-Carbon CFM: not available
  307. }
  308. {
  309. * GetPortHBITMAP()
  310. *
  311. * Availability:
  312. * Mac OS X: not available
  313. * CarbonLib: not available
  314. * Non-Carbon CFM: not available
  315. }
  316. {
  317. * GetPortHPALETTE()
  318. *
  319. * Availability:
  320. * Mac OS X: not available
  321. * CarbonLib: not available
  322. * Non-Carbon CFM: not available
  323. }
  324. {
  325. * GetPortHFONT()
  326. *
  327. * Availability:
  328. * Mac OS X: not available
  329. * CarbonLib: not available
  330. * Non-Carbon CFM: not available
  331. }
  332. {
  333. * GetDIBFromPICT()
  334. *
  335. * Availability:
  336. * Mac OS X: not available
  337. * CarbonLib: not available
  338. * Non-Carbon CFM: not available
  339. }
  340. {
  341. * GetPICTFromDIB()
  342. *
  343. * Availability:
  344. * Mac OS X: not available
  345. * CarbonLib: not available
  346. * Non-Carbon CFM: not available
  347. }
  348. {$endc} {TARGET_OS_WIN32}
  349. {$ifc not TARGET_CPU_64}
  350. {
  351. * [Mac]SetPort() *** DEPRECATED ***
  352. *
  353. * Mac OS X threading:
  354. * Not thread safe
  355. *
  356. * Availability:
  357. * Mac OS X: in version 10.0 and later in ApplicationServices.framework [32-bit only] but deprecated in 10.4
  358. * CarbonLib: in CarbonLib 1.0 and later
  359. * Non-Carbon CFM: not available
  360. }
  361. procedure MacSetPort( port: GrafPtr ); external name '_SetPort';
  362. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 *)
  363. procedure SetPort( port: GrafPtr ); external name '_SetPort';
  364. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 *)
  365. {
  366. * GetPort() *** DEPRECATED ***
  367. *
  368. * Mac OS X threading:
  369. * Not thread safe
  370. *
  371. * Availability:
  372. * Mac OS X: in version 10.0 and later in ApplicationServices.framework [32-bit only] but deprecated in 10.4
  373. * CarbonLib: in CarbonLib 1.0 and later
  374. * Non-Carbon CFM: not available
  375. }
  376. procedure GetPort( var port: GrafPtr ); external name '_GetPort';
  377. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 *)
  378. {
  379. * QDSwapPort() *** DEPRECATED ***
  380. *
  381. * Summary:
  382. * Combines a GetPort(&savePort); SetPort(newPort) sequence.
  383. *
  384. * Discussion:
  385. * On X, the GetPort/SetPort calls act on per-thread globals, and
  386. * cost more processor cycles than in the past, where they were
  387. * simple memory accessors. To optimize, use the QDSwapPort call
  388. * which combines both, and returns a Boolean indicating if the port
  389. * actually did change. Typical usage: Boolean portChanged =
  390. * QDSwapPort(newPort, &savePort); (... some drawing into newPort
  391. * ...) if (portChanged) QDSwapPort(savePort, NULL);
  392. *
  393. * Mac OS X threading:
  394. * Not thread safe
  395. *
  396. * Parameters:
  397. *
  398. * inNewPort:
  399. * The new port to be set.
  400. *
  401. * outOldPort:
  402. * Receives the previous port. Can be NULL.
  403. *
  404. * Result:
  405. * A Boolean indicating whether the port was changed, i.e.
  406. * (inNewPort != *outOldPort)
  407. *
  408. * Availability:
  409. * Mac OS X: in version 10.1 and later in ApplicationServices.framework [32-bit only] but deprecated in 10.4
  410. * CarbonLib: in CarbonLib 1.5 and later
  411. * Non-Carbon CFM: not available
  412. }
  413. function QDSwapPort( inNewPort: CGrafPtr; outOldPort: CGrafPtrPtr ): Boolean; external name '_QDSwapPort';
  414. (* AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 *)
  415. {
  416. * GrafDevice() *** DEPRECATED ***
  417. *
  418. * Mac OS X threading:
  419. * Not thread safe
  420. *
  421. * Availability:
  422. * Mac OS X: in version 10.0 and later in ApplicationServices.framework [32-bit only] but deprecated in 10.4
  423. * CarbonLib: in CarbonLib 1.0 and later
  424. * Non-Carbon CFM: not available
  425. }
  426. procedure GrafDevice( device: SInt16 ); external name '_GrafDevice';
  427. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 *)
  428. {
  429. * SetPortBits() *** DEPRECATED ***
  430. *
  431. * Mac OS X threading:
  432. * Not thread safe
  433. *
  434. * Availability:
  435. * Mac OS X: in version 10.0 and later in ApplicationServices.framework [32-bit only] but deprecated in 10.4
  436. * CarbonLib: in CarbonLib 1.0 and later
  437. * Non-Carbon CFM: not available
  438. }
  439. procedure SetPortBits( const (*var*) bm: BitMap ); external name '_SetPortBits';
  440. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 *)
  441. {
  442. * PortSize() *** DEPRECATED ***
  443. *
  444. * Mac OS X threading:
  445. * Not thread safe
  446. *
  447. * Availability:
  448. * Mac OS X: in version 10.0 and later in ApplicationServices.framework [32-bit only] but deprecated in 10.4
  449. * CarbonLib: in CarbonLib 1.0 and later
  450. * Non-Carbon CFM: not available
  451. }
  452. procedure PortSize( width: SInt16; height: SInt16 ); external name '_PortSize';
  453. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 *)
  454. {
  455. * MovePortTo() *** DEPRECATED ***
  456. *
  457. * Mac OS X threading:
  458. * Not thread safe
  459. *
  460. * Availability:
  461. * Mac OS X: in version 10.0 and later in ApplicationServices.framework [32-bit only] but deprecated in 10.4
  462. * CarbonLib: in CarbonLib 1.0 and later
  463. * Non-Carbon CFM: not available
  464. }
  465. procedure MovePortTo( leftGlobal: SInt16; topGlobal: SInt16 ); external name '_MovePortTo';
  466. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 *)
  467. {
  468. * SetOrigin() *** DEPRECATED ***
  469. *
  470. * Mac OS X threading:
  471. * Not thread safe
  472. *
  473. * Availability:
  474. * Mac OS X: in version 10.0 and later in ApplicationServices.framework [32-bit only] but deprecated in 10.4
  475. * CarbonLib: in CarbonLib 1.0 and later
  476. * Non-Carbon CFM: not available
  477. }
  478. procedure SetOrigin( h: SInt16; v: SInt16 ); external name '_SetOrigin';
  479. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 *)
  480. {
  481. * SetClip() *** DEPRECATED ***
  482. *
  483. * Mac OS X threading:
  484. * Not thread safe
  485. *
  486. * Availability:
  487. * Mac OS X: in version 10.0 and later in ApplicationServices.framework [32-bit only] but deprecated in 10.4
  488. * CarbonLib: in CarbonLib 1.0 and later
  489. * Non-Carbon CFM: not available
  490. }
  491. procedure SetClip( rgn: RgnHandle ); external name '_SetClip';
  492. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 *)
  493. {
  494. * GetClip() *** DEPRECATED ***
  495. *
  496. * Mac OS X threading:
  497. * Not thread safe
  498. *
  499. * Availability:
  500. * Mac OS X: in version 10.0 and later in ApplicationServices.framework [32-bit only] but deprecated in 10.4
  501. * CarbonLib: in CarbonLib 1.0 and later
  502. * Non-Carbon CFM: not available
  503. }
  504. procedure GetClip( rgn: RgnHandle ); external name '_GetClip';
  505. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 *)
  506. {
  507. * ClipRect() *** DEPRECATED ***
  508. *
  509. * Mac OS X threading:
  510. * Not thread safe
  511. *
  512. * Availability:
  513. * Mac OS X: in version 10.0 and later in ApplicationServices.framework [32-bit only] but deprecated in 10.4
  514. * CarbonLib: in CarbonLib 1.0 and later
  515. * Non-Carbon CFM: not available
  516. }
  517. procedure ClipRect( const (*var*) r: Rect ); external name '_ClipRect';
  518. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 *)
  519. {
  520. * BackPat() *** DEPRECATED ***
  521. *
  522. * Mac OS X threading:
  523. * Not thread safe
  524. *
  525. * Availability:
  526. * Mac OS X: in version 10.0 and later in ApplicationServices.framework [32-bit only] but deprecated in 10.4
  527. * CarbonLib: in CarbonLib 1.0 and later
  528. * Non-Carbon CFM: not available
  529. }
  530. procedure BackPat( const (*var*) pat: Pattern ); external name '_BackPat';
  531. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 *)
  532. {
  533. * InitCursor()
  534. *
  535. * Mac OS X threading:
  536. * Not thread safe
  537. *
  538. * Availability:
  539. * Mac OS X: in version 10.0 and later in ApplicationServices.framework [32-bit only]
  540. * CarbonLib: in CarbonLib 1.0 and later
  541. * Non-Carbon CFM: not available
  542. }
  543. procedure InitCursor; external name '_InitCursor';
  544. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  545. { NOTE: InitCursor used to be called to initialize Quickdraw. This is not necessary
  546. on Mac OS X. Use SetThemeCursor (in Appearance.h) to set the cursor to one of the predefined
  547. system cursors.
  548. }
  549. {
  550. * [Mac]SetCursor() *** DEPRECATED ***
  551. *
  552. * Mac OS X threading:
  553. * Not thread safe
  554. *
  555. * Availability:
  556. * Mac OS X: in version 10.0 and later in ApplicationServices.framework [32-bit only] but deprecated in 10.4
  557. * CarbonLib: in CarbonLib 1.0 and later
  558. * Non-Carbon CFM: not available
  559. }
  560. procedure MacSetCursor( const (*var*) crsr: Cursor ); external name '_SetCursor';
  561. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 *)
  562. procedure SetCursor( const (*var*) crsr: Cursor ); external name '_SetCursor';
  563. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 *)
  564. {
  565. * HideCursor()
  566. *
  567. * Mac OS X threading:
  568. * Not thread safe
  569. *
  570. * Availability:
  571. * Mac OS X: in version 10.0 and later in ApplicationServices.framework [32-bit only]
  572. * CarbonLib: in CarbonLib 1.0 and later
  573. * Non-Carbon CFM: not available
  574. }
  575. procedure HideCursor; external name '_HideCursor';
  576. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  577. {
  578. * [Mac]ShowCursor()
  579. *
  580. * Mac OS X threading:
  581. * Not thread safe
  582. *
  583. * Availability:
  584. * Mac OS X: in version 10.0 and later in ApplicationServices.framework [32-bit only]
  585. * CarbonLib: in CarbonLib 1.0 and later
  586. * Non-Carbon CFM: not available
  587. }
  588. procedure MacShowCursor__NAMED_ShowCursor; external name '_MacShowCursor__NAMED_ShowCursor';
  589. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  590. procedure ShowCursor; external name '_ShowCursor';
  591. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  592. {
  593. * ObscureCursor()
  594. *
  595. * Mac OS X threading:
  596. * Not thread safe
  597. *
  598. * Availability:
  599. * Mac OS X: in version 10.0 and later in ApplicationServices.framework [32-bit only]
  600. * CarbonLib: in CarbonLib 1.0 and later
  601. * Non-Carbon CFM: not available
  602. }
  603. procedure ObscureCursor; external name '_ObscureCursor';
  604. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  605. {
  606. * HidePen() *** DEPRECATED ***
  607. *
  608. * Mac OS X threading:
  609. * Not thread safe
  610. *
  611. * Availability:
  612. * Mac OS X: in version 10.0 and later in ApplicationServices.framework [32-bit only] but deprecated in 10.4
  613. * CarbonLib: in CarbonLib 1.0 and later
  614. * Non-Carbon CFM: not available
  615. }
  616. procedure HidePen; external name '_HidePen';
  617. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 *)
  618. {
  619. * ShowPen() *** DEPRECATED ***
  620. *
  621. * Mac OS X threading:
  622. * Not thread safe
  623. *
  624. * Availability:
  625. * Mac OS X: in version 10.0 and later in ApplicationServices.framework [32-bit only] but deprecated in 10.4
  626. * CarbonLib: in CarbonLib 1.0 and later
  627. * Non-Carbon CFM: not available
  628. }
  629. procedure ShowPen; external name '_ShowPen';
  630. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 *)
  631. {
  632. * GetPen() *** DEPRECATED ***
  633. *
  634. * Mac OS X threading:
  635. * Not thread safe
  636. *
  637. * Availability:
  638. * Mac OS X: in version 10.0 and later in ApplicationServices.framework [32-bit only] but deprecated in 10.4
  639. * CarbonLib: in CarbonLib 1.0 and later
  640. * Non-Carbon CFM: not available
  641. }
  642. procedure GetPen( var pt: Point ); external name '_GetPen';
  643. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 *)
  644. {
  645. * GetPenState() *** DEPRECATED ***
  646. *
  647. * Mac OS X threading:
  648. * Not thread safe
  649. *
  650. * Availability:
  651. * Mac OS X: in version 10.0 and later in ApplicationServices.framework [32-bit only] but deprecated in 10.4
  652. * CarbonLib: in CarbonLib 1.0 and later
  653. * Non-Carbon CFM: not available
  654. }
  655. procedure GetPenState( var pnState: PenState ); external name '_GetPenState';
  656. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 *)
  657. {
  658. * SetPenState() *** DEPRECATED ***
  659. *
  660. * Mac OS X threading:
  661. * Not thread safe
  662. *
  663. * Availability:
  664. * Mac OS X: in version 10.0 and later in ApplicationServices.framework [32-bit only] but deprecated in 10.4
  665. * CarbonLib: in CarbonLib 1.0 and later
  666. * Non-Carbon CFM: not available
  667. }
  668. procedure SetPenState( const (*var*) pnState: PenState ); external name '_SetPenState';
  669. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 *)
  670. {
  671. * PenSize() *** DEPRECATED ***
  672. *
  673. * Mac OS X threading:
  674. * Not thread safe
  675. *
  676. * Availability:
  677. * Mac OS X: in version 10.0 and later in ApplicationServices.framework [32-bit only] but deprecated in 10.4
  678. * CarbonLib: in CarbonLib 1.0 and later
  679. * Non-Carbon CFM: not available
  680. }
  681. procedure PenSize( width: SInt16; height: SInt16 ); external name '_PenSize';
  682. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 *)
  683. {
  684. * PenMode() *** DEPRECATED ***
  685. *
  686. * Mac OS X threading:
  687. * Not thread safe
  688. *
  689. * Availability:
  690. * Mac OS X: in version 10.0 and later in ApplicationServices.framework [32-bit only] but deprecated in 10.4
  691. * CarbonLib: in CarbonLib 1.0 and later
  692. * Non-Carbon CFM: not available
  693. }
  694. procedure PenMode( mode: SInt16 ); external name '_PenMode';
  695. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 *)
  696. {
  697. * PenPat() *** DEPRECATED ***
  698. *
  699. * Mac OS X threading:
  700. * Not thread safe
  701. *
  702. * Availability:
  703. * Mac OS X: in version 10.0 and later in ApplicationServices.framework [32-bit only] but deprecated in 10.4
  704. * CarbonLib: in CarbonLib 1.0 and later
  705. * Non-Carbon CFM: not available
  706. }
  707. procedure PenPat( const (*var*) pat: Pattern ); external name '_PenPat';
  708. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 *)
  709. {
  710. * PenNormal() *** DEPRECATED ***
  711. *
  712. * Mac OS X threading:
  713. * Not thread safe
  714. *
  715. * Availability:
  716. * Mac OS X: in version 10.0 and later in ApplicationServices.framework [32-bit only] but deprecated in 10.4
  717. * CarbonLib: in CarbonLib 1.0 and later
  718. * Non-Carbon CFM: not available
  719. }
  720. procedure PenNormal; external name '_PenNormal';
  721. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 *)
  722. {
  723. * MoveTo() *** DEPRECATED ***
  724. *
  725. * Mac OS X threading:
  726. * Not thread safe
  727. *
  728. * Availability:
  729. * Mac OS X: in version 10.0 and later in ApplicationServices.framework [32-bit only] but deprecated in 10.4
  730. * CarbonLib: in CarbonLib 1.0 and later
  731. * Non-Carbon CFM: not available
  732. }
  733. procedure MoveTo( h: SInt16; v: SInt16 ); external name '_MoveTo';
  734. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 *)
  735. {
  736. * Move() *** DEPRECATED ***
  737. *
  738. * Mac OS X threading:
  739. * Not thread safe
  740. *
  741. * Availability:
  742. * Mac OS X: in version 10.0 and later in ApplicationServices.framework [32-bit only] but deprecated in 10.4
  743. * CarbonLib: in CarbonLib 1.0 and later
  744. * Non-Carbon CFM: not available
  745. }
  746. procedure Move( dh: SInt16; dv: SInt16 ); external name '_Move';
  747. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 *)
  748. {
  749. * [Mac]LineTo() *** DEPRECATED ***
  750. *
  751. * Mac OS X threading:
  752. * Not thread safe
  753. *
  754. * Availability:
  755. * Mac OS X: in version 10.0 and later in ApplicationServices.framework [32-bit only] but deprecated in 10.4
  756. * CarbonLib: in CarbonLib 1.0 and later
  757. * Non-Carbon CFM: not available
  758. }
  759. procedure MacLineTo__NAMED_LineTo( h: SInt16; v: SInt16 ); external name '_MacLineTo__NAMED_LineTo';
  760. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 *)
  761. procedure LineTo( h: SInt16; v: SInt16 ); external name '_LineTo';
  762. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 *)
  763. {
  764. * Line() *** DEPRECATED ***
  765. *
  766. * Mac OS X threading:
  767. * Not thread safe
  768. *
  769. * Availability:
  770. * Mac OS X: in version 10.0 and later in ApplicationServices.framework [32-bit only] but deprecated in 10.4
  771. * CarbonLib: in CarbonLib 1.0 and later
  772. * Non-Carbon CFM: not available
  773. }
  774. procedure Line( dh: SInt16; dv: SInt16 ); external name '_Line';
  775. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 *)
  776. {
  777. * ForeColor() *** DEPRECATED ***
  778. *
  779. * Mac OS X threading:
  780. * Not thread safe
  781. *
  782. * Availability:
  783. * Mac OS X: in version 10.0 and later in ApplicationServices.framework [32-bit only] but deprecated in 10.4
  784. * CarbonLib: in CarbonLib 1.0 and later
  785. * Non-Carbon CFM: not available
  786. }
  787. procedure ForeColor( color: SIGNEDLONG ); external name '_ForeColor';
  788. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 *)
  789. {
  790. * BackColor() *** DEPRECATED ***
  791. *
  792. * Mac OS X threading:
  793. * Not thread safe
  794. *
  795. * Availability:
  796. * Mac OS X: in version 10.0 and later in ApplicationServices.framework [32-bit only] but deprecated in 10.4
  797. * CarbonLib: in CarbonLib 1.0 and later
  798. * Non-Carbon CFM: not available
  799. }
  800. procedure BackColor( color: SIGNEDLONG ); external name '_BackColor';
  801. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 *)
  802. {
  803. * ColorBit() *** DEPRECATED ***
  804. *
  805. * Mac OS X threading:
  806. * Not thread safe
  807. *
  808. * Availability:
  809. * Mac OS X: in version 10.0 and later in ApplicationServices.framework [32-bit only] but deprecated in 10.4
  810. * CarbonLib: in CarbonLib 1.0 and later
  811. * Non-Carbon CFM: not available
  812. }
  813. procedure ColorBit( whichBit: SInt16 ); external name '_ColorBit';
  814. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 *)
  815. {$endc} {not TARGET_CPU_64}
  816. {
  817. * [Mac]SetRect()
  818. *
  819. * Mac OS X threading:
  820. * Not thread safe
  821. *
  822. * Availability:
  823. * Mac OS X: in version 10.0 and later in ApplicationServices.framework
  824. * CarbonLib: in CarbonLib 1.0 and later
  825. * Non-Carbon CFM: not available
  826. }
  827. procedure MacSetRect( var r: Rect; left: SInt16; top: SInt16; right: SInt16; bottom: SInt16 ); external name '_SetRect';
  828. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  829. procedure SetRect( var r: Rect; left: SInt16; top: SInt16; right: SInt16; bottom: SInt16 ); external name '_SetRect';
  830. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  831. {
  832. * [Mac]OffsetRect()
  833. *
  834. * Mac OS X threading:
  835. * Not thread safe
  836. *
  837. * Availability:
  838. * Mac OS X: in version 10.0 and later in ApplicationServices.framework
  839. * CarbonLib: in CarbonLib 1.0 and later
  840. * Non-Carbon CFM: not available
  841. }
  842. procedure MacOffsetRect( var r: Rect; dh: SInt16; dv: SInt16 ); external name '_OffsetRect';
  843. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  844. procedure OffsetRect( var r: Rect; dh: SInt16; dv: SInt16 ); external name '_OffsetRect';
  845. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  846. {
  847. * [Mac]InsetRect()
  848. *
  849. * Mac OS X threading:
  850. * Not thread safe
  851. *
  852. * Availability:
  853. * Mac OS X: in version 10.0 and later in ApplicationServices.framework
  854. * CarbonLib: in CarbonLib 1.0 and later
  855. * Non-Carbon CFM: not available
  856. }
  857. procedure MacInsetRect( var r: Rect; dh: SInt16; dv: SInt16 ); external name '_InsetRect';
  858. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  859. procedure InsetRect( var r: Rect; dh: SInt16; dv: SInt16 ); external name '_InsetRect';
  860. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  861. {
  862. * SectRect()
  863. *
  864. * Mac OS X threading:
  865. * Not thread safe
  866. *
  867. * Availability:
  868. * Mac OS X: in version 10.0 and later in ApplicationServices.framework
  869. * CarbonLib: in CarbonLib 1.0 and later
  870. * Non-Carbon CFM: not available
  871. }
  872. function SectRect( const (*var*) src1: Rect; const (*var*) src2: Rect; var dstRect: Rect ): Boolean; external name '_SectRect';
  873. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  874. {
  875. * [Mac]UnionRect()
  876. *
  877. * Mac OS X threading:
  878. * Not thread safe
  879. *
  880. * Availability:
  881. * Mac OS X: in version 10.0 and later in ApplicationServices.framework
  882. * CarbonLib: in CarbonLib 1.0 and later
  883. * Non-Carbon CFM: not available
  884. }
  885. procedure MacUnionRect( const (*var*) src1: Rect; const (*var*) src2: Rect; var dstRect: Rect ); external name '_UnionRect';
  886. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  887. procedure UnionRect( const (*var*) src1: Rect; const (*var*) src2: Rect; var dstRect: Rect ); external name '_UnionRect';
  888. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  889. {
  890. * [Mac]EqualRect()
  891. *
  892. * Mac OS X threading:
  893. * Not thread safe
  894. *
  895. * Availability:
  896. * Mac OS X: in version 10.0 and later in ApplicationServices.framework
  897. * CarbonLib: in CarbonLib 1.0 and later
  898. * Non-Carbon CFM: not available
  899. }
  900. function MacEqualRect( const (*var*) rect1: Rect; const (*var*) rect2: Rect ): Boolean; external name '_EqualRect';
  901. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  902. function EqualRect( const (*var*) rect1: Rect; const (*var*) rect2: Rect ): Boolean; external name '_EqualRect';
  903. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  904. {
  905. * EmptyRect()
  906. *
  907. * Mac OS X threading:
  908. * Not thread safe
  909. *
  910. * Availability:
  911. * Mac OS X: in version 10.0 and later in ApplicationServices.framework
  912. * CarbonLib: in CarbonLib 1.0 and later
  913. * Non-Carbon CFM: not available
  914. }
  915. function EmptyRect( const (*var*) r: Rect ): Boolean; external name '_EmptyRect';
  916. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  917. {$ifc not TARGET_CPU_64}
  918. {
  919. * [Mac]FrameRect() *** DEPRECATED ***
  920. *
  921. * Mac OS X threading:
  922. * Not thread safe
  923. *
  924. * Availability:
  925. * Mac OS X: in version 10.0 and later in ApplicationServices.framework [32-bit only] but deprecated in 10.4
  926. * CarbonLib: in CarbonLib 1.0 and later
  927. * Non-Carbon CFM: not available
  928. }
  929. procedure MacFrameRect( const (*var*) r: Rect ); external name '_FrameRect';
  930. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 *)
  931. procedure FrameRect( const (*var*) r: Rect ); external name '_FrameRect';
  932. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 *)
  933. {
  934. * PaintRect() *** DEPRECATED ***
  935. *
  936. * Mac OS X threading:
  937. * Not thread safe
  938. *
  939. * Availability:
  940. * Mac OS X: in version 10.0 and later in ApplicationServices.framework [32-bit only] but deprecated in 10.4
  941. * CarbonLib: in CarbonLib 1.0 and later
  942. * Non-Carbon CFM: not available
  943. }
  944. procedure PaintRect( const (*var*) r: Rect ); external name '_PaintRect';
  945. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 *)
  946. {
  947. * EraseRect() *** DEPRECATED ***
  948. *
  949. * Mac OS X threading:
  950. * Not thread safe
  951. *
  952. * Availability:
  953. * Mac OS X: in version 10.0 and later in ApplicationServices.framework [32-bit only] but deprecated in 10.4
  954. * CarbonLib: in CarbonLib 1.0 and later
  955. * Non-Carbon CFM: not available
  956. }
  957. procedure EraseRect( const (*var*) r: Rect ); external name '_EraseRect';
  958. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 *)
  959. {
  960. * [Mac]InvertRect() *** DEPRECATED ***
  961. *
  962. * Mac OS X threading:
  963. * Not thread safe
  964. *
  965. * Availability:
  966. * Mac OS X: in version 10.0 and later in ApplicationServices.framework [32-bit only] but deprecated in 10.4
  967. * CarbonLib: in CarbonLib 1.0 and later
  968. * Non-Carbon CFM: not available
  969. }
  970. procedure MacInvertRect( const (*var*) r: Rect ); external name '_InvertRect';
  971. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 *)
  972. procedure InvertRect( const (*var*) r: Rect ); external name '_InvertRect';
  973. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 *)
  974. {
  975. * [Mac]FillRect() *** DEPRECATED ***
  976. *
  977. * Mac OS X threading:
  978. * Not thread safe
  979. *
  980. * Availability:
  981. * Mac OS X: in version 10.0 and later in ApplicationServices.framework [32-bit only] but deprecated in 10.4
  982. * CarbonLib: in CarbonLib 1.0 and later
  983. * Non-Carbon CFM: not available
  984. }
  985. procedure MacFillRect( const (*var*) r: Rect; const (*var*) pat: Pattern ); external name '_FillRect';
  986. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 *)
  987. procedure FillRect( const (*var*) r: Rect; const (*var*) pat: Pattern ); external name '_FillRect';
  988. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 *)
  989. {
  990. * FrameOval() *** DEPRECATED ***
  991. *
  992. * Mac OS X threading:
  993. * Not thread safe
  994. *
  995. * Availability:
  996. * Mac OS X: in version 10.0 and later in ApplicationServices.framework [32-bit only] but deprecated in 10.4
  997. * CarbonLib: in CarbonLib 1.0 and later
  998. * Non-Carbon CFM: not available
  999. }
  1000. procedure FrameOval( const (*var*) r: Rect ); external name '_FrameOval';
  1001. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 *)
  1002. {
  1003. * PaintOval() *** DEPRECATED ***
  1004. *
  1005. * Mac OS X threading:
  1006. * Not thread safe
  1007. *
  1008. * Availability:
  1009. * Mac OS X: in version 10.0 and later in ApplicationServices.framework [32-bit only] but deprecated in 10.4
  1010. * CarbonLib: in CarbonLib 1.0 and later
  1011. * Non-Carbon CFM: not available
  1012. }
  1013. procedure PaintOval( const (*var*) r: Rect ); external name '_PaintOval';
  1014. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 *)
  1015. {
  1016. * EraseOval() *** DEPRECATED ***
  1017. *
  1018. * Mac OS X threading:
  1019. * Not thread safe
  1020. *
  1021. * Availability:
  1022. * Mac OS X: in version 10.0 and later in ApplicationServices.framework [32-bit only] but deprecated in 10.4
  1023. * CarbonLib: in CarbonLib 1.0 and later
  1024. * Non-Carbon CFM: not available
  1025. }
  1026. procedure EraseOval( const (*var*) r: Rect ); external name '_EraseOval';
  1027. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 *)
  1028. {
  1029. * InvertOval() *** DEPRECATED ***
  1030. *
  1031. * Mac OS X threading:
  1032. * Not thread safe
  1033. *
  1034. * Availability:
  1035. * Mac OS X: in version 10.0 and later in ApplicationServices.framework [32-bit only] but deprecated in 10.4
  1036. * CarbonLib: in CarbonLib 1.0 and later
  1037. * Non-Carbon CFM: not available
  1038. }
  1039. procedure InvertOval( const (*var*) r: Rect ); external name '_InvertOval';
  1040. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 *)
  1041. {
  1042. * FillOval() *** DEPRECATED ***
  1043. *
  1044. * Mac OS X threading:
  1045. * Not thread safe
  1046. *
  1047. * Availability:
  1048. * Mac OS X: in version 10.0 and later in ApplicationServices.framework [32-bit only] but deprecated in 10.4
  1049. * CarbonLib: in CarbonLib 1.0 and later
  1050. * Non-Carbon CFM: not available
  1051. }
  1052. procedure FillOval( const (*var*) r: Rect; const (*var*) pat: Pattern ); external name '_FillOval';
  1053. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 *)
  1054. {
  1055. * FrameRoundRect() *** DEPRECATED ***
  1056. *
  1057. * Mac OS X threading:
  1058. * Not thread safe
  1059. *
  1060. * Availability:
  1061. * Mac OS X: in version 10.0 and later in ApplicationServices.framework [32-bit only] but deprecated in 10.4
  1062. * CarbonLib: in CarbonLib 1.0 and later
  1063. * Non-Carbon CFM: not available
  1064. }
  1065. procedure FrameRoundRect( const (*var*) r: Rect; ovalWidth: SInt16; ovalHeight: SInt16 ); external name '_FrameRoundRect';
  1066. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 *)
  1067. {
  1068. * PaintRoundRect() *** DEPRECATED ***
  1069. *
  1070. * Mac OS X threading:
  1071. * Not thread safe
  1072. *
  1073. * Availability:
  1074. * Mac OS X: in version 10.0 and later in ApplicationServices.framework [32-bit only] but deprecated in 10.4
  1075. * CarbonLib: in CarbonLib 1.0 and later
  1076. * Non-Carbon CFM: not available
  1077. }
  1078. procedure PaintRoundRect( const (*var*) r: Rect; ovalWidth: SInt16; ovalHeight: SInt16 ); external name '_PaintRoundRect';
  1079. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 *)
  1080. {
  1081. * EraseRoundRect() *** DEPRECATED ***
  1082. *
  1083. * Mac OS X threading:
  1084. * Not thread safe
  1085. *
  1086. * Availability:
  1087. * Mac OS X: in version 10.0 and later in ApplicationServices.framework [32-bit only] but deprecated in 10.4
  1088. * CarbonLib: in CarbonLib 1.0 and later
  1089. * Non-Carbon CFM: not available
  1090. }
  1091. procedure EraseRoundRect( const (*var*) r: Rect; ovalWidth: SInt16; ovalHeight: SInt16 ); external name '_EraseRoundRect';
  1092. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 *)
  1093. {
  1094. * InvertRoundRect() *** DEPRECATED ***
  1095. *
  1096. * Mac OS X threading:
  1097. * Not thread safe
  1098. *
  1099. * Availability:
  1100. * Mac OS X: in version 10.0 and later in ApplicationServices.framework [32-bit only] but deprecated in 10.4
  1101. * CarbonLib: in CarbonLib 1.0 and later
  1102. * Non-Carbon CFM: not available
  1103. }
  1104. procedure InvertRoundRect( const (*var*) r: Rect; ovalWidth: SInt16; ovalHeight: SInt16 ); external name '_InvertRoundRect';
  1105. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 *)
  1106. {
  1107. * FillRoundRect() *** DEPRECATED ***
  1108. *
  1109. * Mac OS X threading:
  1110. * Not thread safe
  1111. *
  1112. * Availability:
  1113. * Mac OS X: in version 10.0 and later in ApplicationServices.framework [32-bit only] but deprecated in 10.4
  1114. * CarbonLib: in CarbonLib 1.0 and later
  1115. * Non-Carbon CFM: not available
  1116. }
  1117. procedure FillRoundRect( const (*var*) r: Rect; ovalWidth: SInt16; ovalHeight: SInt16; const (*var*) pat: Pattern ); external name '_FillRoundRect';
  1118. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 *)
  1119. {
  1120. * FrameArc() *** DEPRECATED ***
  1121. *
  1122. * Mac OS X threading:
  1123. * Not thread safe
  1124. *
  1125. * Availability:
  1126. * Mac OS X: in version 10.0 and later in ApplicationServices.framework [32-bit only] but deprecated in 10.4
  1127. * CarbonLib: in CarbonLib 1.0 and later
  1128. * Non-Carbon CFM: not available
  1129. }
  1130. procedure FrameArc( const (*var*) r: Rect; startAngle: SInt16; arcAngle: SInt16 ); external name '_FrameArc';
  1131. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 *)
  1132. {
  1133. * PaintArc() *** DEPRECATED ***
  1134. *
  1135. * Mac OS X threading:
  1136. * Not thread safe
  1137. *
  1138. * Availability:
  1139. * Mac OS X: in version 10.0 and later in ApplicationServices.framework [32-bit only] but deprecated in 10.4
  1140. * CarbonLib: in CarbonLib 1.0 and later
  1141. * Non-Carbon CFM: not available
  1142. }
  1143. procedure PaintArc( const (*var*) r: Rect; startAngle: SInt16; arcAngle: SInt16 ); external name '_PaintArc';
  1144. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 *)
  1145. {
  1146. * EraseArc() *** DEPRECATED ***
  1147. *
  1148. * Mac OS X threading:
  1149. * Not thread safe
  1150. *
  1151. * Availability:
  1152. * Mac OS X: in version 10.0 and later in ApplicationServices.framework [32-bit only] but deprecated in 10.4
  1153. * CarbonLib: in CarbonLib 1.0 and later
  1154. * Non-Carbon CFM: not available
  1155. }
  1156. procedure EraseArc( const (*var*) r: Rect; startAngle: SInt16; arcAngle: SInt16 ); external name '_EraseArc';
  1157. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 *)
  1158. {
  1159. * InvertArc() *** DEPRECATED ***
  1160. *
  1161. * Mac OS X threading:
  1162. * Not thread safe
  1163. *
  1164. * Availability:
  1165. * Mac OS X: in version 10.0 and later in ApplicationServices.framework [32-bit only] but deprecated in 10.4
  1166. * CarbonLib: in CarbonLib 1.0 and later
  1167. * Non-Carbon CFM: not available
  1168. }
  1169. procedure InvertArc( const (*var*) r: Rect; startAngle: SInt16; arcAngle: SInt16 ); external name '_InvertArc';
  1170. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 *)
  1171. {
  1172. * FillArc() *** DEPRECATED ***
  1173. *
  1174. * Mac OS X threading:
  1175. * Not thread safe
  1176. *
  1177. * Availability:
  1178. * Mac OS X: in version 10.0 and later in ApplicationServices.framework [32-bit only] but deprecated in 10.4
  1179. * CarbonLib: in CarbonLib 1.0 and later
  1180. * Non-Carbon CFM: not available
  1181. }
  1182. procedure FillArc( const (*var*) r: Rect; startAngle: SInt16; arcAngle: SInt16; const (*var*) pat: Pattern ); external name '_FillArc';
  1183. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 *)
  1184. {
  1185. * NewRgn()
  1186. *
  1187. * Mac OS X threading:
  1188. * Not thread safe
  1189. *
  1190. * Availability:
  1191. * Mac OS X: in version 10.0 and later in ApplicationServices.framework [32-bit only]
  1192. * CarbonLib: in CarbonLib 1.0 and later
  1193. * Non-Carbon CFM: not available
  1194. }
  1195. function NewRgn: RgnHandle; external name '_NewRgn';
  1196. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1197. {
  1198. * OpenRgn() *** DEPRECATED ***
  1199. *
  1200. * Mac OS X threading:
  1201. * Not thread safe
  1202. *
  1203. * Availability:
  1204. * Mac OS X: in version 10.0 and later in ApplicationServices.framework [32-bit only] but deprecated in 10.4
  1205. * CarbonLib: in CarbonLib 1.0 and later
  1206. * Non-Carbon CFM: not available
  1207. }
  1208. procedure OpenRgn; external name '_OpenRgn';
  1209. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 *)
  1210. {
  1211. * CloseRgn() *** DEPRECATED ***
  1212. *
  1213. * Mac OS X threading:
  1214. * Not thread safe
  1215. *
  1216. * Availability:
  1217. * Mac OS X: in version 10.0 and later in ApplicationServices.framework [32-bit only] but deprecated in 10.4
  1218. * CarbonLib: in CarbonLib 1.0 and later
  1219. * Non-Carbon CFM: not available
  1220. }
  1221. procedure CloseRgn( dstRgn: RgnHandle ); external name '_CloseRgn';
  1222. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 *)
  1223. {
  1224. * BitMapToRegion() *** DEPRECATED ***
  1225. *
  1226. * Mac OS X threading:
  1227. * Not thread safe
  1228. *
  1229. * Availability:
  1230. * Mac OS X: in version 10.0 and later in ApplicationServices.framework [32-bit only] but deprecated in 10.4
  1231. * CarbonLib: in CarbonLib 1.0 and later
  1232. * Non-Carbon CFM: not available
  1233. }
  1234. function BitMapToRegion( region: RgnHandle; const (*var*) bMap: BitMap ): OSErr; external name '_BitMapToRegion';
  1235. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 *)
  1236. {
  1237. * RgnToHandle()
  1238. *
  1239. * Summary:
  1240. * Allows to "flatten" the opaque region data, for persistent
  1241. * storage. HandleToRgn is the reciprocal call.
  1242. *
  1243. * Discussion:
  1244. * These calls were introduced to facilitate Carbonization of
  1245. * applications, that relied on the undocumented format of region
  1246. * data. Since the internal (opaque) region format changed in 10.3,
  1247. * the purpose of these functions became questionable at best. They
  1248. * should be considered deprecated. Applications that need to
  1249. * preserve region data within their documents should convert the
  1250. * regions to a sequence of rectangles, using QDRegionToRects. The
  1251. * original region can then be rebuilt using RectRgn() and
  1252. * UnionRgn() calls.
  1253. *
  1254. * Mac OS X threading:
  1255. * Not thread safe
  1256. *
  1257. * Parameters:
  1258. *
  1259. * region:
  1260. * The input RgnHandle
  1261. *
  1262. * flattenedRgnDataHdl:
  1263. * A valid Handle that gets resized and filled with the region
  1264. * data.
  1265. *
  1266. * Availability:
  1267. * Mac OS X: in version 10.1 and later in ApplicationServices.framework [32-bit only]
  1268. * CarbonLib: in CarbonLib 1.3 and later
  1269. * Non-Carbon CFM: not available
  1270. }
  1271. procedure RgnToHandle( region: RgnHandle; flattenedRgnDataHdl: Handle ); external name '_RgnToHandle';
  1272. (* AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER *)
  1273. {
  1274. * HandleToRgn()
  1275. *
  1276. * Mac OS X threading:
  1277. * Not thread safe
  1278. *
  1279. * Availability:
  1280. * Mac OS X: in version 10.0 and later in ApplicationServices.framework [32-bit only]
  1281. * CarbonLib: in CarbonLib 1.1 and later
  1282. * Non-Carbon CFM: not available
  1283. }
  1284. procedure HandleToRgn( oldRegion: Handle; region: RgnHandle ); external name '_HandleToRgn';
  1285. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1286. {
  1287. * DisposeRgn()
  1288. *
  1289. * Mac OS X threading:
  1290. * Not thread safe
  1291. *
  1292. * Availability:
  1293. * Mac OS X: in version 10.0 and later in ApplicationServices.framework [32-bit only]
  1294. * CarbonLib: in CarbonLib 1.0 and later
  1295. * Non-Carbon CFM: not available
  1296. }
  1297. procedure DisposeRgn( rgn: RgnHandle ); external name '_DisposeRgn';
  1298. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1299. {
  1300. * [Mac]CopyRgn()
  1301. *
  1302. * Mac OS X threading:
  1303. * Not thread safe
  1304. *
  1305. * Availability:
  1306. * Mac OS X: in version 10.0 and later in ApplicationServices.framework [32-bit only]
  1307. * CarbonLib: in CarbonLib 1.0 and later
  1308. * Non-Carbon CFM: not available
  1309. }
  1310. procedure MacCopyRgn( srcRgn: RgnHandle; dstRgn: RgnHandle ); external name '_CopyRgn';
  1311. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1312. procedure CopyRgn( srcRgn: RgnHandle; dstRgn: RgnHandle ); external name '_CopyRgn';
  1313. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1314. {
  1315. * SetEmptyRgn()
  1316. *
  1317. * Mac OS X threading:
  1318. * Not thread safe
  1319. *
  1320. * Availability:
  1321. * Mac OS X: in version 10.0 and later in ApplicationServices.framework [32-bit only]
  1322. * CarbonLib: in CarbonLib 1.0 and later
  1323. * Non-Carbon CFM: not available
  1324. }
  1325. procedure SetEmptyRgn( rgn: RgnHandle ); external name '_SetEmptyRgn';
  1326. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1327. {
  1328. * [Mac]SetRectRgn()
  1329. *
  1330. * Mac OS X threading:
  1331. * Not thread safe
  1332. *
  1333. * Availability:
  1334. * Mac OS X: in version 10.0 and later in ApplicationServices.framework [32-bit only]
  1335. * CarbonLib: in CarbonLib 1.0 and later
  1336. * Non-Carbon CFM: not available
  1337. }
  1338. procedure MacSetRectRgn( rgn: RgnHandle; left: SInt16; top: SInt16; right: SInt16; bottom: SInt16 ); external name '_SetRectRgn';
  1339. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1340. procedure SetRectRgn( rgn: RgnHandle; left: SInt16; top: SInt16; right: SInt16; bottom: SInt16 ); external name '_SetRectRgn';
  1341. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1342. {
  1343. * RectRgn()
  1344. *
  1345. * Mac OS X threading:
  1346. * Not thread safe
  1347. *
  1348. * Availability:
  1349. * Mac OS X: i…