PMCore.pas 59 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781
  1. {
  2. File: PMCore.p
  3. Contains: Carbon Printing Manager Interfaces.
  4. Version: Technology: Mac OS X
  5. Release: Universal Interfaces 3.4.2
  6. Copyright: © 1998-2002 by Apple Computer, Inc., all rights reserved
  7. Bugs?: For bug reports, consult the following page on
  8. the World Wide Web:
  9. http://www.freepascal.org/bugs.html
  10. }
  11. {
  12. Modified for use with Free Pascal
  13. Version 200
  14. Please report any bugs to <[email protected]>
  15. }
  16. {$mode macpas}
  17. {$packenum 1}
  18. {$macro on}
  19. {$inline on}
  20. {$CALLING MWPASCAL}
  21. unit PMCore;
  22. interface
  23. {$setc UNIVERSAL_INTERFACES_VERSION := $0342}
  24. {$setc GAP_INTERFACES_VERSION := $0200}
  25. {$ifc not defined USE_CFSTR_CONSTANT_MACROS}
  26. {$setc USE_CFSTR_CONSTANT_MACROS := TRUE}
  27. {$endc}
  28. {$ifc defined CPUPOWERPC and defined CPUI386}
  29. {$error Conflicting initial definitions for CPUPOWERPC and CPUI386}
  30. {$endc}
  31. {$ifc defined FPC_BIG_ENDIAN and defined FPC_LITTLE_ENDIAN}
  32. {$error Conflicting initial definitions for FPC_BIG_ENDIAN and FPC_LITTLE_ENDIAN}
  33. {$endc}
  34. {$ifc not defined __ppc__ and defined CPUPOWERPC}
  35. {$setc __ppc__ := 1}
  36. {$elsec}
  37. {$setc __ppc__ := 0}
  38. {$endc}
  39. {$ifc not defined __i386__ and defined CPUI386}
  40. {$setc __i386__ := 1}
  41. {$elsec}
  42. {$setc __i386__ := 0}
  43. {$endc}
  44. {$ifc defined __ppc__ and __ppc__ and defined __i386__ and __i386__}
  45. {$error Conflicting definitions for __ppc__ and __i386__}
  46. {$endc}
  47. {$ifc defined __ppc__ and __ppc__}
  48. {$setc TARGET_CPU_PPC := TRUE}
  49. {$setc TARGET_CPU_X86 := FALSE}
  50. {$elifc defined __i386__ and __i386__}
  51. {$setc TARGET_CPU_PPC := FALSE}
  52. {$setc TARGET_CPU_X86 := TRUE}
  53. {$elsec}
  54. {$error Neither __ppc__ nor __i386__ is defined.}
  55. {$endc}
  56. {$setc TARGET_CPU_PPC_64 := FALSE}
  57. {$ifc defined FPC_BIG_ENDIAN}
  58. {$setc TARGET_RT_BIG_ENDIAN := TRUE}
  59. {$setc TARGET_RT_LITTLE_ENDIAN := FALSE}
  60. {$elifc defined FPC_LITTLE_ENDIAN}
  61. {$setc TARGET_RT_BIG_ENDIAN := FALSE}
  62. {$setc TARGET_RT_LITTLE_ENDIAN := TRUE}
  63. {$elsec}
  64. {$error Neither FPC_BIG_ENDIAN nor FPC_LITTLE_ENDIAN are defined.}
  65. {$endc}
  66. {$setc ACCESSOR_CALLS_ARE_FUNCTIONS := TRUE}
  67. {$setc CALL_NOT_IN_CARBON := FALSE}
  68. {$setc OLDROUTINENAMES := FALSE}
  69. {$setc OPAQUE_TOOLBOX_STRUCTS := TRUE}
  70. {$setc OPAQUE_UPP_TYPES := TRUE}
  71. {$setc OTCARBONAPPLICATION := TRUE}
  72. {$setc OTKERNEL := FALSE}
  73. {$setc PM_USE_SESSION_APIS := TRUE}
  74. {$setc TARGET_API_MAC_CARBON := TRUE}
  75. {$setc TARGET_API_MAC_OS8 := FALSE}
  76. {$setc TARGET_API_MAC_OSX := TRUE}
  77. {$setc TARGET_CARBON := TRUE}
  78. {$setc TARGET_CPU_68K := FALSE}
  79. {$setc TARGET_CPU_MIPS := FALSE}
  80. {$setc TARGET_CPU_SPARC := FALSE}
  81. {$setc TARGET_OS_MAC := TRUE}
  82. {$setc TARGET_OS_UNIX := FALSE}
  83. {$setc TARGET_OS_WIN32 := FALSE}
  84. {$setc TARGET_RT_MAC_68881 := FALSE}
  85. {$setc TARGET_RT_MAC_CFM := FALSE}
  86. {$setc TARGET_RT_MAC_MACHO := TRUE}
  87. {$setc TYPED_FUNCTION_POINTERS := TRUE}
  88. {$setc TYPE_BOOL := FALSE}
  89. {$setc TYPE_EXTENDED := FALSE}
  90. {$setc TYPE_LONGLONG := TRUE}
  91. uses MacTypes,CFBase,CFArray,MacErrors,Files,CFString,CFURL,Quickdraw,CMApplication,PMDefinitions;
  92. {$ALIGN MAC68K}
  93. {$ifc undefined PM_USE_SESSION_APIS}
  94. {$setc PM_USE_SESSION_APIS := 1}
  95. {$endc}
  96. { Callbacks }
  97. type
  98. {$ifc TYPED_FUNCTION_POINTERS}
  99. PMIdleProcPtr = procedure;
  100. {$elsec}
  101. PMIdleProcPtr = ProcPtr;
  102. {$endc}
  103. {$ifc OPAQUE_UPP_TYPES}
  104. PMIdleUPP = ^SInt32; { an opaque UPP }
  105. {$elsec}
  106. PMIdleUPP = UniversalProcPtr;
  107. {$endc}
  108. const
  109. uppPMIdleProcInfo = $00000000;
  110. {
  111. * NewPMIdleUPP()
  112. *
  113. * Availability:
  114. * Non-Carbon CFM: not available
  115. * CarbonLib: in CarbonLib 1.0 and later
  116. * Mac OS X: in version 10.0 and later
  117. }
  118. function NewPMIdleUPP(userRoutine: PMIdleProcPtr): PMIdleUPP; external name '_NewPMIdleUPP';
  119. {
  120. * DisposePMIdleUPP()
  121. *
  122. * Availability:
  123. * Non-Carbon CFM: not available
  124. * CarbonLib: in CarbonLib 1.0 and later
  125. * Mac OS X: in version 10.0 and later
  126. }
  127. procedure DisposePMIdleUPP(userUPP: PMIdleUPP); external name '_DisposePMIdleUPP';
  128. {
  129. * InvokePMIdleUPP()
  130. *
  131. * Availability:
  132. * Non-Carbon CFM: not available
  133. * CarbonLib: in CarbonLib 1.0 and later
  134. * Mac OS X: in version 10.0 and later
  135. }
  136. procedure InvokePMIdleUPP(userRoutine: PMIdleUPP); external name '_InvokePMIdleUPP';
  137. {$ifc PM_USE_SESSION_APIS}
  138. { Session routines }
  139. { Session support }
  140. {
  141. * PMRetain()
  142. *
  143. * Availability:
  144. * Non-Carbon CFM: not available
  145. * CarbonLib: in CarbonLib 1.1 and later
  146. * Mac OS X: in version 10.0 and later
  147. }
  148. function PMRetain(objct: PMObject): OSStatus; external name '_PMRetain';
  149. {
  150. * PMRelease()
  151. *
  152. * Availability:
  153. * Non-Carbon CFM: not available
  154. * CarbonLib: in CarbonLib 1.1 and later
  155. * Mac OS X: in version 10.0 and later
  156. }
  157. function PMRelease(objct: PMObject): OSStatus; external name '_PMRelease';
  158. { Session Print loop }
  159. {**********************}
  160. { A session is created with a refcount of 1. }
  161. {**********************}
  162. {
  163. * PMCreateSession()
  164. *
  165. * Availability:
  166. * Non-Carbon CFM: not available
  167. * CarbonLib: in CarbonLib 1.1 and later
  168. * Mac OS X: in version 10.0 and later
  169. }
  170. function PMCreateSession(var printSession: PMPrintSession): OSStatus; external name '_PMCreateSession';
  171. { Session PMPageFormat }
  172. {**********************}
  173. { A pageformat is created with a refcount of 1. }
  174. {**********************}
  175. {
  176. * PMCreatePageFormat()
  177. *
  178. * Availability:
  179. * Non-Carbon CFM: not available
  180. * CarbonLib: in CarbonLib 1.1 and later
  181. * Mac OS X: in version 10.0 and later
  182. }
  183. function PMCreatePageFormat(var pageFormat: PMPageFormat): OSStatus; external name '_PMCreatePageFormat';
  184. {
  185. * PMSessionDefaultPageFormat()
  186. *
  187. * Availability:
  188. * Non-Carbon CFM: not available
  189. * CarbonLib: in CarbonLib 1.1 and later
  190. * Mac OS X: in version 10.0 and later
  191. }
  192. function PMSessionDefaultPageFormat(printSession: PMPrintSession; pageFormat: PMPageFormat): OSStatus; external name '_PMSessionDefaultPageFormat';
  193. {
  194. * PMSessionValidatePageFormat()
  195. *
  196. * Availability:
  197. * Non-Carbon CFM: not available
  198. * CarbonLib: in CarbonLib 1.1 and later
  199. * Mac OS X: in version 10.0 and later
  200. }
  201. function PMSessionValidatePageFormat(printSession: PMPrintSession; pageFormat: PMPageFormat; result: BooleanPtr): OSStatus; external name '_PMSessionValidatePageFormat';
  202. { Session PMPrintSettings }
  203. {**********************}
  204. { A printSettings is created with a refcount of 1. }
  205. {**********************}
  206. {
  207. * PMCreatePrintSettings()
  208. *
  209. * Availability:
  210. * Non-Carbon CFM: not available
  211. * CarbonLib: in CarbonLib 1.1 and later
  212. * Mac OS X: in version 10.0 and later
  213. }
  214. function PMCreatePrintSettings(var printSettings: PMPrintSettings): OSStatus; external name '_PMCreatePrintSettings';
  215. {
  216. * PMSessionDefaultPrintSettings()
  217. *
  218. * Availability:
  219. * Non-Carbon CFM: not available
  220. * CarbonLib: in CarbonLib 1.1 and later
  221. * Mac OS X: in version 10.0 and later
  222. }
  223. function PMSessionDefaultPrintSettings(printSession: PMPrintSession; printSettings: PMPrintSettings): OSStatus; external name '_PMSessionDefaultPrintSettings';
  224. {
  225. * PMSessionValidatePrintSettings()
  226. *
  227. * Availability:
  228. * Non-Carbon CFM: not available
  229. * CarbonLib: in CarbonLib 1.1 and later
  230. * Mac OS X: in version 10.0 and later
  231. }
  232. function PMSessionValidatePrintSettings(printSession: PMPrintSession; printSettings: PMPrintSettings; result: BooleanPtr): OSStatus; external name '_PMSessionValidatePrintSettings';
  233. { Session Classic support }
  234. {
  235. * PMSessionGeneral()
  236. *
  237. * Availability:
  238. * Non-Carbon CFM: not available
  239. * CarbonLib: in CarbonLib 1.1 and later
  240. * Mac OS X: in version 10.0 and later
  241. }
  242. function PMSessionGeneral(printSession: PMPrintSession; pData: Ptr): OSStatus; external name '_PMSessionGeneral';
  243. {
  244. * PMSessionConvertOldPrintRecord()
  245. *
  246. * Availability:
  247. * Non-Carbon CFM: not available
  248. * CarbonLib: in CarbonLib 1.1 and later
  249. * Mac OS X: in version 10.0 and later
  250. }
  251. function PMSessionConvertOldPrintRecord(printSession: PMPrintSession; printRecordHandle: Handle; var printSettings: PMPrintSettings; var pageFormat: PMPageFormat): OSStatus; external name '_PMSessionConvertOldPrintRecord';
  252. {
  253. * PMSessionMakeOldPrintRecord()
  254. *
  255. * Availability:
  256. * Non-Carbon CFM: not available
  257. * CarbonLib: in CarbonLib 1.1 and later
  258. * Mac OS X: in version 10.0 and later
  259. }
  260. function PMSessionMakeOldPrintRecord(printSession: PMPrintSession; printSettings: PMPrintSettings; pageFormat: PMPageFormat; var printRecordHandle: Handle): OSStatus; external name '_PMSessionMakeOldPrintRecord';
  261. { Session Driver Information }
  262. {
  263. * PMPrinterGetDescriptionURL()
  264. *
  265. * Availability:
  266. * Non-Carbon CFM: not available
  267. * CarbonLib: in CarbonLib 1.1 and later
  268. * Mac OS X: in version 10.0 and later
  269. }
  270. function PMPrinterGetDescriptionURL(printer: PMPrinter; descriptionType: CFStringRef; var fileURL: CFURLRef): OSStatus; external name '_PMPrinterGetDescriptionURL';
  271. {
  272. * PMSessionGetCurrentPrinter()
  273. *
  274. * Availability:
  275. * Non-Carbon CFM: not available
  276. * CarbonLib: in CarbonLib 1.1 and later
  277. * Mac OS X: in version 10.0 and later
  278. }
  279. function PMSessionGetCurrentPrinter(printSession: PMPrintSession; var currentPrinter: PMPrinter): OSStatus; external name '_PMSessionGetCurrentPrinter';
  280. {
  281. * PMPrinterGetLanguageInfo()
  282. *
  283. * Availability:
  284. * Non-Carbon CFM: not available
  285. * CarbonLib: in CarbonLib 1.1 and later
  286. * Mac OS X: in version 10.0 and later
  287. }
  288. function PMPrinterGetLanguageInfo(printer: PMPrinter; var info: PMLanguageInfo): OSStatus; external name '_PMPrinterGetLanguageInfo';
  289. {
  290. * PMPrinterGetDriverCreator()
  291. *
  292. * Availability:
  293. * Non-Carbon CFM: not available
  294. * CarbonLib: in CarbonLib 1.1 and later
  295. * Mac OS X: in version 10.0 and later
  296. }
  297. function PMPrinterGetDriverCreator(printer: PMPrinter; var creator: OSType): OSStatus; external name '_PMPrinterGetDriverCreator';
  298. {
  299. * PMPrinterGetDriverReleaseInfo()
  300. *
  301. * Availability:
  302. * Non-Carbon CFM: not available
  303. * CarbonLib: in CarbonLib 1.1 and later
  304. * Mac OS X: in version 10.0 and later
  305. }
  306. function PMPrinterGetDriverReleaseInfo(printer: PMPrinter; var release: VersRec): OSStatus; external name '_PMPrinterGetDriverReleaseInfo';
  307. {
  308. * PMPrinterGetPrinterResolutionCount()
  309. *
  310. * Availability:
  311. * Non-Carbon CFM: not available
  312. * CarbonLib: in CarbonLib 1.1 and later
  313. * Mac OS X: in version 10.0 and later
  314. }
  315. function PMPrinterGetPrinterResolutionCount(printer: PMPrinter; var count: UInt32): OSStatus; external name '_PMPrinterGetPrinterResolutionCount';
  316. {
  317. * PMPrinterGetPrinterResolution()
  318. *
  319. * Availability:
  320. * Non-Carbon CFM: not available
  321. * CarbonLib: in CarbonLib 1.1 and later
  322. * Mac OS X: in version 10.0 and later
  323. }
  324. function PMPrinterGetPrinterResolution(printer: PMPrinter; tag: PMTag; var res: PMResolution): OSStatus; external name '_PMPrinterGetPrinterResolution';
  325. {
  326. * PMPrinterGetIndexedPrinterResolution()
  327. *
  328. * Availability:
  329. * Non-Carbon CFM: not available
  330. * CarbonLib: in CarbonLib 1.1 and later
  331. * Mac OS X: in version 10.0 and later
  332. }
  333. function PMPrinterGetIndexedPrinterResolution(printer: PMPrinter; index: UInt32; var res: PMResolution): OSStatus; external name '_PMPrinterGetIndexedPrinterResolution';
  334. {
  335. * PMPrinterIsPostScriptCapable()
  336. *
  337. * Availability:
  338. * Non-Carbon CFM: not available
  339. * CarbonLib: in CarbonLib 1.6 and later
  340. * Mac OS X: in version 10.2 and later
  341. }
  342. function PMPrinterIsPostScriptCapable(printer: PMPrinter): boolean; external name '_PMPrinterIsPostScriptCapable';
  343. {
  344. * PMPrinterGetMakeAndModelName()
  345. *
  346. * Availability:
  347. * Non-Carbon CFM: not available
  348. * CarbonLib: in CarbonLib 1.6 and later
  349. * Mac OS X: in version 10.2 and later
  350. }
  351. function PMPrinterGetMakeAndModelName(printer: PMPrinter; var makeAndModel: CFStringRef): OSStatus; external name '_PMPrinterGetMakeAndModelName';
  352. { Session ColorSync & PostScript Support }
  353. {
  354. * PMSessionEnableColorSync()
  355. *
  356. * Availability:
  357. * Non-Carbon CFM: not available
  358. * CarbonLib: in CarbonLib 1.1 and later
  359. * Mac OS X: in version 10.0 and later
  360. }
  361. function PMSessionEnableColorSync(printSession: PMPrintSession): OSStatus; external name '_PMSessionEnableColorSync';
  362. {
  363. * PMSessionDisableColorSync()
  364. *
  365. * Availability:
  366. * Non-Carbon CFM: not available
  367. * CarbonLib: in CarbonLib 1.1 and later
  368. * Mac OS X: in version 10.0 and later
  369. }
  370. function PMSessionDisableColorSync(printSession: PMPrintSession): OSStatus; external name '_PMSessionDisableColorSync';
  371. {
  372. * PMSessionPostScriptBegin()
  373. *
  374. * Availability:
  375. * Non-Carbon CFM: not available
  376. * CarbonLib: in CarbonLib 1.1 and later
  377. * Mac OS X: in version 10.0 and later
  378. }
  379. function PMSessionPostScriptBegin(printSession: PMPrintSession): OSStatus; external name '_PMSessionPostScriptBegin';
  380. {
  381. * PMSessionPostScriptEnd()
  382. *
  383. * Availability:
  384. * Non-Carbon CFM: not available
  385. * CarbonLib: in CarbonLib 1.1 and later
  386. * Mac OS X: in version 10.0 and later
  387. }
  388. function PMSessionPostScriptEnd(printSession: PMPrintSession): OSStatus; external name '_PMSessionPostScriptEnd';
  389. {
  390. * PMSessionPostScriptHandle()
  391. *
  392. * Availability:
  393. * Non-Carbon CFM: not available
  394. * CarbonLib: in CarbonLib 1.1 and later
  395. * Mac OS X: in version 10.0 and later
  396. }
  397. function PMSessionPostScriptHandle(printSession: PMPrintSession; psHandle: Handle): OSStatus; external name '_PMSessionPostScriptHandle';
  398. {
  399. * PMSessionPostScriptData()
  400. *
  401. * Availability:
  402. * Non-Carbon CFM: not available
  403. * CarbonLib: in CarbonLib 1.1 and later
  404. * Mac OS X: in version 10.0 and later
  405. }
  406. function PMSessionPostScriptData(printSession: PMPrintSession; psPtr: Ptr; len: Size): OSStatus; external name '_PMSessionPostScriptData';
  407. {
  408. * PMSessionPostScriptFile()
  409. *
  410. * Availability:
  411. * Non-Carbon CFM: not available
  412. * CarbonLib: in CarbonLib 1.1 and later
  413. * Mac OS X: in version 10.0 and later
  414. }
  415. function PMSessionPostScriptFile(printSession: PMPrintSession; var psFile: FSSpec): OSStatus; external name '_PMSessionPostScriptFile';
  416. {
  417. * PMSessionSetPSInjectionData()
  418. *
  419. * Availability:
  420. * Non-Carbon CFM: not available
  421. * CarbonLib: in CarbonLib 1.1 and later
  422. * Mac OS X: in version 10.0 and later
  423. }
  424. function PMSessionSetPSInjectionData(printSession: PMPrintSession; printSettings: PMPrintSettings; injectionDictArray: CFArrayRef): OSStatus; external name '_PMSessionSetPSInjectionData';
  425. { Session Error }
  426. {
  427. * PMSessionError()
  428. *
  429. * Availability:
  430. * Non-Carbon CFM: not available
  431. * CarbonLib: in CarbonLib 1.1 and later
  432. * Mac OS X: in version 10.0 and later
  433. }
  434. function PMSessionError(printSession: PMPrintSession): OSStatus; external name '_PMSessionError';
  435. {
  436. * PMSessionSetError()
  437. *
  438. * Availability:
  439. * Non-Carbon CFM: not available
  440. * CarbonLib: in CarbonLib 1.1 and later
  441. * Mac OS X: in version 10.0 and later
  442. }
  443. function PMSessionSetError(printSession: PMPrintSession; printError: OSStatus): OSStatus; external name '_PMSessionSetError';
  444. { Other Session routines }
  445. {
  446. * PMSessionGetDocumentFormatGeneration()
  447. *
  448. * Availability:
  449. * Non-Carbon CFM: not available
  450. * CarbonLib: in CarbonLib 1.1 and later
  451. * Mac OS X: in version 10.0 and later
  452. }
  453. function PMSessionGetDocumentFormatGeneration(printSession: PMPrintSession; var docFormats: CFArrayRef): OSStatus; external name '_PMSessionGetDocumentFormatGeneration';
  454. {
  455. * PMSessionSetDocumentFormatGeneration()
  456. *
  457. * Availability:
  458. * Non-Carbon CFM: not available
  459. * CarbonLib: in CarbonLib 1.1 and later
  460. * Mac OS X: in version 10.0 and later
  461. }
  462. function PMSessionSetDocumentFormatGeneration(printSession: PMPrintSession; docFormat: CFStringRef; graphicsContextTypes: CFArrayRef; options: CFTypeRef): OSStatus; external name '_PMSessionSetDocumentFormatGeneration';
  463. {
  464. * PMSessionGetDocumentFormatSupported()
  465. *
  466. * Availability:
  467. * Non-Carbon CFM: not available
  468. * CarbonLib: in CarbonLib 1.1 and later
  469. * Mac OS X: in version 10.0 and later
  470. }
  471. function PMSessionGetDocumentFormatSupported(printSession: PMPrintSession; var docFormats: CFArrayRef; limit: UInt32): OSStatus; external name '_PMSessionGetDocumentFormatSupported';
  472. {
  473. * PMSessionIsDocumentFormatSupported()
  474. *
  475. * Availability:
  476. * Non-Carbon CFM: not available
  477. * CarbonLib: in CarbonLib 1.1 and later
  478. * Mac OS X: in version 10.0 and later
  479. }
  480. function PMSessionIsDocumentFormatSupported(printSession: PMPrintSession; docFormat: CFStringRef; var supported: boolean): OSStatus; external name '_PMSessionIsDocumentFormatSupported';
  481. {
  482. * PMSessionGetGraphicsContext()
  483. *
  484. * Parameters:
  485. *
  486. * printSession:
  487. * the session
  488. *
  489. * graphicsContextType:
  490. * either kPMGraphicsContextQuickdraw or
  491. * kPMGraphicsContextCoreGraphics
  492. *
  493. * graphicsContext:
  494. * returns a GrafPtr or a CGContextRef
  495. *
  496. * Availability:
  497. * Non-Carbon CFM: not available
  498. * CarbonLib: in CarbonLib 1.1 and later
  499. * Mac OS X: in version 10.0 and later
  500. }
  501. function PMSessionGetGraphicsContext(printSession: PMPrintSession; graphicsContextType: CFStringRef; var graphicsContext: UnivPtr): OSStatus; external name '_PMSessionGetGraphicsContext';
  502. {
  503. * PMSessionSetIdleProc()
  504. *
  505. * Availability:
  506. * Non-Carbon CFM: not available
  507. * CarbonLib: in CarbonLib 1.1 and later
  508. * Mac OS X: in version 10.0 and later
  509. }
  510. function PMSessionSetIdleProc(printSession: PMPrintSession; idleProc: PMIdleUPP): OSStatus; external name '_PMSessionSetIdleProc';
  511. {
  512. * PMSessionSetDataInSession()
  513. *
  514. * Availability:
  515. * Non-Carbon CFM: not available
  516. * CarbonLib: in CarbonLib 1.1 and later
  517. * Mac OS X: in version 10.0 and later
  518. }
  519. function PMSessionSetDataInSession(printSession: PMPrintSession; key: CFStringRef; data: CFTypeRef): OSStatus; external name '_PMSessionSetDataInSession';
  520. {
  521. * PMSessionGetDataFromSession()
  522. *
  523. * Availability:
  524. * Non-Carbon CFM: not available
  525. * CarbonLib: in CarbonLib 1.1 and later
  526. * Mac OS X: in version 10.0 and later
  527. }
  528. function PMSessionGetDataFromSession(printSession: PMPrintSession; key: CFStringRef; var data: CFTypeRef): OSStatus; external name '_PMSessionGetDataFromSession';
  529. {
  530. * PMSessionCreatePrinterList()
  531. *
  532. * Availability:
  533. * Non-Carbon CFM: not available
  534. * CarbonLib: in CarbonLib 1.4 and later
  535. * Mac OS X: in version 10.1 and later
  536. }
  537. function PMSessionCreatePrinterList(printSession: PMPrintSession; var printerList: CFArrayRef; var currentIndex: CFIndex; var currentPrinter: PMPrinter): OSStatus; external name '_PMSessionCreatePrinterList';
  538. {
  539. * PMSessionSetCurrentPrinter()
  540. *
  541. * Availability:
  542. * Non-Carbon CFM: not available
  543. * CarbonLib: in CarbonLib 1.4 and later
  544. * Mac OS X: in version 10.1 and later
  545. }
  546. function PMSessionSetCurrentPrinter(session: PMPrintSession; printerName: CFStringRef): OSStatus; external name '_PMSessionSetCurrentPrinter';
  547. {
  548. * PMSessionSetDestination()
  549. *
  550. * Summary:
  551. * Alter a print session and print settings so that an associated
  552. * print job is sent to the provided destination type in the,
  553. * optional, MIME document format.
  554. *
  555. * Discussion:
  556. * This function is most useful when an application would like to
  557. * write its print output to disk without requiring user
  558. * interaction. The list of MIME types that can be sent to the
  559. * provided destination can be obtained from
  560. * PMSessionCopyOutputFormatList and one of these passed to this
  561. * function.
  562. *
  563. * Parameters:
  564. *
  565. * printSession:
  566. * The session to be used for a print job. The session holds the
  567. * preview setting which can override the destination type in the
  568. * print settings.
  569. *
  570. * printSettings:
  571. * The print settings to be used for a print job. The print
  572. * settings specify whether a job will be directed toward a
  573. * printer or to file. It also holds the requested MIME output
  574. * type.
  575. *
  576. * destType:
  577. * The destiation type for a print job associated with the
  578. * provided print session and print settings. Fax is currently not
  579. * supported, but kPMDestinationPrinter, kPMDestinationFile, and
  580. * kPMDestinationPreview can be set.
  581. *
  582. * destFormat:
  583. * The MIME type to be generated for the provided destination
  584. * type. This parameter can be NULL in which the default format
  585. * for the requested destination type is used. To obtain a list of
  586. * valid formats for a given destiation type, use the function
  587. * PMSessionCopyOutputFormatList.
  588. *
  589. * destLocation:
  590. * Some destination types support a destination location. The
  591. * clearest example is the kPMDestinationFile destination type
  592. * which allows a caller to also supply a file URL specifying
  593. * where the output file is to be created.
  594. *
  595. * SPECIAL_AVAILABILITY_NOTE:
  596. * This routine is available in ApplicationsServices.framework in
  597. * Mac OS X version 10.1 and later. On Mac OS X it is available to
  598. * CFM applications through CarbonLib starting with Mac OS X
  599. * version 10.2 and later.
  600. *
  601. * Availability:
  602. * Non-Carbon CFM: not available
  603. * CarbonLib: in CarbonLib 1.5 and later
  604. * Mac OS X: in version 10.1 and later
  605. }
  606. function PMSessionSetDestination(printSession: PMPrintSession; printSettings: PMPrintSettings; destType: PMDestinationType; destFormat: CFStringRef; destLocation: CFURLRef): OSStatus; external name '_PMSessionSetDestination';
  607. {
  608. * PMSessionGetDestinationType()
  609. *
  610. * Summary:
  611. * Hand back the destination type that will be used for a print job
  612. * with the specified print settings and print session.
  613. *
  614. * Discussion:
  615. * Currently there are four destination types:
  616. * kPMDestinationPrinter, kPMDestinationFile, kPMDestinationFax and
  617. * kPMDestinationPreview. The first three destination types are
  618. * stored in the print settings. The switch for preview is stored in
  619. * the print session and, if enabled, overrides the destination in
  620. * the print setting. This function is preferred over
  621. * PMGetDestination as the latter does not take a print session
  622. * parameter and therefore can not indicate whether preview has been
  623. * selected as the destination.
  624. *
  625. * Parameters:
  626. *
  627. * printSession:
  628. * The session to be used for a print job. The session holds the
  629. * preview setting which can override the destination type in the
  630. * print settings.
  631. *
  632. * printSettings:
  633. * The print settings to be used for a print job. The print
  634. * settings specify whether a job will be directed toward a
  635. * printer or to file.
  636. *
  637. * destTypeP:
  638. * A pointer to a caller supplied PMDestinationType variable. If
  639. * this function succeeds then *'destTypeP' will be filled in with
  640. * the destination type for a print job that used the specified
  641. * session and print settings. If this function fails, then
  642. * *'destType' will be set to kPMDestinationInvalid.
  643. *
  644. * SPECIAL_AVAILABILITY_NOTE:
  645. * This routine is available in ApplicationsServices.framework in
  646. * Mac OS X version 10.1 and later. On Mac OS X it is available to
  647. * CFM applications through CarbonLib starting with Mac OS X
  648. * version 10.2 and later.
  649. *
  650. * Availability:
  651. * Non-Carbon CFM: not available
  652. * CarbonLib: in CarbonLib 1.5 and later
  653. * Mac OS X: in version 10.1 and later
  654. }
  655. function PMSessionGetDestinationType(printSession: PMPrintSession; printSettings: PMPrintSettings; var destTypeP: PMDestinationType): OSStatus; external name '_PMSessionGetDestinationType';
  656. {
  657. * PMSessionCopyDestinationFormat()
  658. *
  659. * Summary:
  660. * Hand back the destination output MIME type associated with the
  661. * provided print session and print settings.
  662. *
  663. * Parameters:
  664. *
  665. * printSession:
  666. * A currently open print session.
  667. *
  668. * printSettings:
  669. * The print settings that are to be searched.
  670. *
  671. * destFormatP:
  672. * A pointer to a caller allocated CFStringRef variable. If this
  673. * routine returns noErr then *'destFormatP' will either be a copy
  674. * of a CFStringRef specifying the output format for the print
  675. * job, or NULL indicating that the default output format will be
  676. * used. If this function return an error, then *'destFormatP'
  677. * will be set to NULL.
  678. *
  679. * SPECIAL_AVAILABILITY_NOTE:
  680. * This routine is available in ApplicationsServices.framework in
  681. * Mac OS X version 10.1 and later. On Mac OS X it is available to
  682. * CFM applications through CarbonLib starting with Mac OS X
  683. * version 10.2 and later.
  684. *
  685. * Availability:
  686. * Non-Carbon CFM: not available
  687. * CarbonLib: in CarbonLib 1.5 and later
  688. * Mac OS X: in version 10.1 and later
  689. }
  690. function PMSessionCopyDestinationFormat(printSession: PMPrintSession; printSettings: PMPrintSettings; var destFormatP: CFStringRef): OSStatus; external name '_PMSessionCopyDestinationFormat';
  691. {
  692. * PMSessionCopyDestinationLocation()
  693. *
  694. * Summary:
  695. * Hand back the URL destination location given a print session and
  696. * print settings.
  697. *
  698. * Discussion:
  699. * Some destination type support a destination location which
  700. * further defines where the output from a pritn job should be sent.
  701. * The kPMDestinationFile destiation type, for example, will use a
  702. * file URL to determine where a new file should be created.
  703. *
  704. * Parameters:
  705. *
  706. * printSession:
  707. * A currently open print session.
  708. *
  709. * printSettings:
  710. * The print settings that are to be searched.
  711. *
  712. * destLocationP:
  713. * A pointer to a caller allocated CFURLRef variable. If this
  714. * routine returns noErr then *'outputFileP' will either be NULL
  715. * indicating that the job is using the default destination
  716. * location for the current destination type or a copy of a
  717. * CFURLRef will be placed in *'destLocationP'. If this function
  718. * returns an error then 'destLocationP' will be set to NULL.
  719. *
  720. * SPECIAL_AVAILABILITY_NOTE:
  721. * This routine is available in ApplicationsServices.framework in
  722. * Mac OS X version 10.1 and later. On Mac OS X it is available to
  723. * CFM applications through CarbonLib starting with Mac OS X
  724. * version 10.2 and later.
  725. *
  726. * Availability:
  727. * Non-Carbon CFM: not available
  728. * CarbonLib: in CarbonLib 1.5 and later
  729. * Mac OS X: in version 10.1 and later
  730. }
  731. function PMSessionCopyDestinationLocation(printSession: PMPrintSession; printSettings: PMPrintSettings; var destLocationP: CFURLRef): OSStatus; external name '_PMSessionCopyDestinationLocation';
  732. {
  733. * PMSessionCopyOutputFormatList()
  734. *
  735. * Summary:
  736. * Hands back an an array of MIME types describing the possible
  737. * output formats for the printer module associated with the current
  738. * printer.
  739. *
  740. * Parameters:
  741. *
  742. * printSession:
  743. * This session's current printer's printer module will be queried
  744. * for its supported output MIME types.
  745. *
  746. * destType:
  747. * A print job can have one of several possible destination types.
  748. * The list of valid output formats is dependent upon the
  749. * destination type. This parameter specifies destination type of
  750. * interest when retrieving the output formats list.
  751. *
  752. * documentFormatP:
  753. * A pointer to a caller's CFArrayRef variable. If this routine
  754. * completes successfully, then *'documentFormatP' will be set to
  755. * a CFArrayRef containing CFStringRefs. Each CFStringRef in the
  756. * array is a MIME type specifying a type of output that can be
  757. * generated by the printer module associated with the current
  758. * printer.
  759. *
  760. * SPECIAL_AVAILABILITY_NOTE:
  761. * This routine is available in ApplicationsServices.framework in
  762. * Mac OS X version 10.1 and later. On Mac OS X it is available to
  763. * CFM applications through CarbonLib starting with Mac OS X
  764. * version 10.2 and later. On Mac OS 8/9 using CarbonLib, this
  765. * routine returns kPMNotImplemented
  766. *
  767. * Availability:
  768. * Non-Carbon CFM: not available
  769. * CarbonLib: in CarbonLib 1.6 and later
  770. * Mac OS X: in version 10.1 and later
  771. }
  772. function PMSessionCopyOutputFormatList(printSession: PMPrintSession; destType: PMDestinationType; var documentFormatP: CFArrayRef): OSStatus; external name '_PMSessionCopyOutputFormatList';
  773. {
  774. * PMSessionCreatePageFormatList()
  775. *
  776. * Summary:
  777. * Hand back a list of page format instances. Each page format
  778. * instance describes a paper size available on the specified
  779. * printer.
  780. *
  781. * Parameters:
  782. *
  783. * printSession:
  784. * A currently open print session.
  785. *
  786. * printer:
  787. * The printer whose page size list should be enumerated. To get
  788. * the session's current printer, see PMSessionGetCurrentPrinter().
  789. *
  790. * pageFormatList:
  791. * If this function is successful then noErr will be returned and
  792. * *'pageFormatList' will be set to a newly created CFArray. Each
  793. * element in the array will be a PMPageFormat describing an
  794. * available paper size for the specified printer. If this
  795. * function fails then a non-zero error code will be returned and
  796. * *'pageFormatList' will be set to NULL.
  797. *
  798. * SPECIAL_AVAILABILITY_NOTE:
  799. * This routine is available in ApplicationsServices.framework in
  800. * Mac OS X version 10.1 and later. On Mac OS X it is available to
  801. * CFM applications through CarbonLib starting with Mac OS X
  802. * version 10.2 and later. On Mac OS 8/9 using CarbonLib, this
  803. * routine returns kPMNotImplemented
  804. *
  805. * Availability:
  806. * Non-Carbon CFM: not available
  807. * CarbonLib: in CarbonLib 1.6 and later
  808. * Mac OS X: in version 10.1 and later
  809. }
  810. function PMSessionCreatePageFormatList(printSession: PMPrintSession; printer: PMPrinter; var pageFormatList: CFArrayRef): OSStatus; external name '_PMSessionCreatePageFormatList';
  811. {
  812. * SPECIAL AVAILABILITY note: This routine is available in ApplicationsServices.framework in
  813. * Mac OS X version 10.0 and later. On Mac OS X it is available to CFM applications through CarbonLib
  814. * starting with Mac OS X version 10.2 and later.
  815. *
  816. * On Mac OS 8/9 using CarbonLib, this routine returns kPMNotImplemented
  817. }
  818. {
  819. * PMSessionBeginDocumentNoDialog()
  820. *
  821. * Availability:
  822. * Non-Carbon CFM: not available
  823. * CarbonLib: in CarbonLib 1.6 and later
  824. * Mac OS X: in version 10.0 and later
  825. }
  826. function PMSessionBeginDocumentNoDialog(printSession: PMPrintSession; printSettings: PMPrintSettings; pageFormat: PMPageFormat): OSStatus; external name '_PMSessionBeginDocumentNoDialog';
  827. {
  828. * SPECIAL AVAILABILITY note: This routine is available in ApplicationsServices.framework in
  829. * Mac OS X version 10.0 and later. On Mac OS X it is available to CFM applications through CarbonLib
  830. * starting with Mac OS X version 10.2 and later.
  831. *
  832. * On Mac OS 8/9 using CarbonLib, this routine returns kPMNotImplemented
  833. }
  834. {
  835. * PMSessionEndDocumentNoDialog()
  836. *
  837. * Availability:
  838. * Non-Carbon CFM: not available
  839. * CarbonLib: in CarbonLib 1.6 and later
  840. * Mac OS X: in version 10.0 and later
  841. }
  842. function PMSessionEndDocumentNoDialog(printSession: PMPrintSession): OSStatus; external name '_PMSessionEndDocumentNoDialog';
  843. {
  844. * SPECIAL AVAILABILITY note: This routine is available in ApplicationsServices.framework in
  845. * Mac OS X version 10.0 and later. On Mac OS X it is available to CFM applications through CarbonLib
  846. * starting with Mac OS X version 10.2 and later.
  847. *
  848. * On Mac OS 8/9 using CarbonLib, this routine returns kPMNotImplemented
  849. }
  850. {
  851. * PMSessionBeginPageNoDialog()
  852. *
  853. * Availability:
  854. * Non-Carbon CFM: not available
  855. * CarbonLib: in CarbonLib 1.6 and later
  856. * Mac OS X: in version 10.0 and later
  857. }
  858. function PMSessionBeginPageNoDialog(printSession: PMPrintSession; pageFormat: PMPageFormat; pageFrame: PMRectPtr): OSStatus; external name '_PMSessionBeginPageNoDialog';
  859. {
  860. * SPECIAL AVAILABILITY note: This routine is available in ApplicationsServices.framework in
  861. * Mac OS X version 10.0 and later. On Mac OS X it is available to CFM applications through CarbonLib
  862. * starting with Mac OS X version 10.2 and later.
  863. *
  864. * On Mac OS 8/9 using CarbonLib, this routine returns kPMNotImplemented
  865. }
  866. {
  867. * PMSessionEndPageNoDialog()
  868. *
  869. * Availability:
  870. * Non-Carbon CFM: not available
  871. * CarbonLib: in CarbonLib 1.6 and later
  872. * Mac OS X: in version 10.0 and later
  873. }
  874. function PMSessionEndPageNoDialog(printSession: PMPrintSession): OSStatus; external name '_PMSessionEndPageNoDialog';
  875. {$elsec}
  876. {
  877. * PMSetIdleProc()
  878. *
  879. * Availability:
  880. * Non-Carbon CFM: not available
  881. * CarbonLib: in CarbonLib 1.0 and later
  882. * Mac OS X: in version 10.0 and later
  883. }
  884. function PMSetIdleProc(idleProc: PMIdleUPP): OSStatus; external name '_PMSetIdleProc';
  885. { Print loop }
  886. {
  887. * PMBegin()
  888. *
  889. * Availability:
  890. * Non-Carbon CFM: not available
  891. * CarbonLib: in CarbonLib 1.0 and later
  892. * Mac OS X: in version 10.0 and later
  893. }
  894. function PMBegin: OSStatus; external name '_PMBegin';
  895. {
  896. * PMEnd()
  897. *
  898. * Availability:
  899. * Non-Carbon CFM: not available
  900. * CarbonLib: in CarbonLib 1.0 and later
  901. * Mac OS X: in version 10.0 and later
  902. }
  903. function PMEnd: OSStatus; external name '_PMEnd';
  904. {**********************}
  905. { Valid only within a PMBeginPage/PMEndPage block. You should retrieve the printing }
  906. { port with this call and set it before imaging a page. }
  907. {**********************}
  908. {
  909. * PMGetGrafPtr()
  910. *
  911. * Availability:
  912. * Non-Carbon CFM: not available
  913. * CarbonLib: in CarbonLib 1.0 and later
  914. * Mac OS X: in version 10.0 and later
  915. }
  916. function PMGetGrafPtr(printContext: PMPrintContext; var grafPort: GrafPtr): OSStatus; external name '_PMGetGrafPtr';
  917. { PMPageFormat }
  918. {
  919. * PMNewPageFormat()
  920. *
  921. * Availability:
  922. * Non-Carbon CFM: not available
  923. * CarbonLib: in CarbonLib 1.0 and later
  924. * Mac OS X: in version 10.0 and later
  925. }
  926. function PMNewPageFormat(var pageFormat: PMPageFormat): OSStatus; external name '_PMNewPageFormat';
  927. {
  928. * PMDisposePageFormat()
  929. *
  930. * Availability:
  931. * Non-Carbon CFM: not available
  932. * CarbonLib: in CarbonLib 1.0 and later
  933. * Mac OS X: in version 10.0 and later
  934. }
  935. function PMDisposePageFormat(pageFormat: PMPageFormat): OSStatus; external name '_PMDisposePageFormat';
  936. {
  937. * PMDefaultPageFormat()
  938. *
  939. * Availability:
  940. * Non-Carbon CFM: not available
  941. * CarbonLib: in CarbonLib 1.0 and later
  942. * Mac OS X: in version 10.0 and later
  943. }
  944. function PMDefaultPageFormat(pageFormat: PMPageFormat): OSStatus; external name '_PMDefaultPageFormat';
  945. {
  946. * PMValidatePageFormat()
  947. *
  948. * Availability:
  949. * Non-Carbon CFM: not available
  950. * CarbonLib: in CarbonLib 1.0 and later
  951. * Mac OS X: in version 10.0 and later
  952. }
  953. function PMValidatePageFormat(pageFormat: PMPageFormat; var result: boolean): OSStatus; external name '_PMValidatePageFormat';
  954. { PMPrintSettings }
  955. {
  956. * PMNewPrintSettings()
  957. *
  958. * Availability:
  959. * Non-Carbon CFM: not available
  960. * CarbonLib: in CarbonLib 1.0 and later
  961. * Mac OS X: in version 10.0 and later
  962. }
  963. function PMNewPrintSettings(var printSettings: PMPrintSettings): OSStatus; external name '_PMNewPrintSettings';
  964. {
  965. * PMDisposePrintSettings()
  966. *
  967. * Availability:
  968. * Non-Carbon CFM: not available
  969. * CarbonLib: in CarbonLib 1.0 and later
  970. * Mac OS X: in version 10.0 and later
  971. }
  972. function PMDisposePrintSettings(printSettings: PMPrintSettings): OSStatus; external name '_PMDisposePrintSettings';
  973. {
  974. * PMDefaultPrintSettings()
  975. *
  976. * Availability:
  977. * Non-Carbon CFM: not available
  978. * CarbonLib: in CarbonLib 1.0 and later
  979. * Mac OS X: in version 10.0 and later
  980. }
  981. function PMDefaultPrintSettings(printSettings: PMPrintSettings): OSStatus; external name '_PMDefaultPrintSettings';
  982. {
  983. * PMValidatePrintSettings()
  984. *
  985. * Availability:
  986. * Non-Carbon CFM: not available
  987. * CarbonLib: in CarbonLib 1.0 and later
  988. * Mac OS X: in version 10.0 and later
  989. }
  990. function PMValidatePrintSettings(printSettings: PMPrintSettings; var result: boolean): OSStatus; external name '_PMValidatePrintSettings';
  991. { Classic Support }
  992. {
  993. * PMGeneral()
  994. *
  995. * Availability:
  996. * Non-Carbon CFM: not available
  997. * CarbonLib: in CarbonLib 1.0 and later
  998. * Mac OS X: in version 10.0 and later
  999. }
  1000. function PMGeneral(pData: Ptr): OSStatus; external name '_PMGeneral';
  1001. {
  1002. * PMConvertOldPrintRecord()
  1003. *
  1004. * Availability:
  1005. * Non-Carbon CFM: not available
  1006. * CarbonLib: in CarbonLib 1.0 and later
  1007. * Mac OS X: in version 10.0 and later
  1008. }
  1009. function PMConvertOldPrintRecord(printRecordHandle: Handle; var printSettings: PMPrintSettings; var pageFormat: PMPageFormat): OSStatus; external name '_PMConvertOldPrintRecord';
  1010. {
  1011. * PMMakeOldPrintRecord()
  1012. *
  1013. * Availability:
  1014. * Non-Carbon CFM: not available
  1015. * CarbonLib: in CarbonLib 1.0 and later
  1016. * Mac OS X: in version 10.0 and later
  1017. }
  1018. function PMMakeOldPrintRecord(printSettings: PMPrintSettings; pageFormat: PMPageFormat; var printRecordHandle: Handle): OSStatus; external name '_PMMakeOldPrintRecord';
  1019. { Driver Information }
  1020. {
  1021. * PMIsPostScriptDriver()
  1022. *
  1023. * Availability:
  1024. * Non-Carbon CFM: not available
  1025. * CarbonLib: in CarbonLib 1.0 and later
  1026. * Mac OS X: in version 10.0 and later
  1027. }
  1028. function PMIsPostScriptDriver(var isPostScript: boolean): OSStatus; external name '_PMIsPostScriptDriver';
  1029. {
  1030. * PMGetLanguageInfo()
  1031. *
  1032. * Availability:
  1033. * Non-Carbon CFM: not available
  1034. * CarbonLib: in CarbonLib 1.0 and later
  1035. * Mac OS X: in version 10.0 and later
  1036. }
  1037. function PMGetLanguageInfo(var info: PMLanguageInfo): OSStatus; external name '_PMGetLanguageInfo';
  1038. {
  1039. * PMGetDriverCreator()
  1040. *
  1041. * Availability:
  1042. * Non-Carbon CFM: not available
  1043. * CarbonLib: in CarbonLib 1.0 and later
  1044. * Mac OS X: in version 10.0 and later
  1045. }
  1046. function PMGetDriverCreator(var creator: OSType): OSStatus; external name '_PMGetDriverCreator';
  1047. {
  1048. * PMGetDriverReleaseInfo()
  1049. *
  1050. * Availability:
  1051. * Non-Carbon CFM: not available
  1052. * CarbonLib: in CarbonLib 1.0 and later
  1053. * Mac OS X: in version 10.0 and later
  1054. }
  1055. function PMGetDriverReleaseInfo(var release: VersRec): OSStatus; external name '_PMGetDriverReleaseInfo';
  1056. {
  1057. * PMGetPrinterResolutionCount()
  1058. *
  1059. * Availability:
  1060. * Non-Carbon CFM: not available
  1061. * CarbonLib: in CarbonLib 1.0 and later
  1062. * Mac OS X: in version 10.0 and later
  1063. }
  1064. function PMGetPrinterResolutionCount(var count: UInt32): OSStatus; external name '_PMGetPrinterResolutionCount';
  1065. {
  1066. * PMGetPrinterResolution()
  1067. *
  1068. * Availability:
  1069. * Non-Carbon CFM: not available
  1070. * CarbonLib: in CarbonLib 1.0 and later
  1071. * Mac OS X: in version 10.0 and later
  1072. }
  1073. function PMGetPrinterResolution(tag: PMTag; var res: PMResolution): OSStatus; external name '_PMGetPrinterResolution';
  1074. {
  1075. * PMGetIndexedPrinterResolution()
  1076. *
  1077. * Availability:
  1078. * Non-Carbon CFM: not available
  1079. * CarbonLib: in CarbonLib 1.0 and later
  1080. * Mac OS X: in version 10.0 and later
  1081. }
  1082. function PMGetIndexedPrinterResolution(index: UInt32; var res: PMResolution): OSStatus; external name '_PMGetIndexedPrinterResolution';
  1083. {**********************}
  1084. { PMEnableColorSync and PMDisableColorSync are valid within }
  1085. { BeginPage/EndPage block }
  1086. {**********************}
  1087. { ColorSync & PostScript Support }
  1088. {
  1089. * PMEnableColorSync()
  1090. *
  1091. * Availability:
  1092. * Non-Carbon CFM: not available
  1093. * CarbonLib: in CarbonLib 1.0 and later
  1094. * Mac OS X: in version 10.0 and later
  1095. }
  1096. function PMEnableColorSync: OSStatus; external name '_PMEnableColorSync';
  1097. {
  1098. * PMDisableColorSync()
  1099. *
  1100. * Availability:
  1101. * Non-Carbon CFM: not available
  1102. * CarbonLib: in CarbonLib 1.0 and later
  1103. * Mac OS X: in version 10.0 and later
  1104. }
  1105. function PMDisableColorSync: OSStatus; external name '_PMDisableColorSync';
  1106. {**********************}
  1107. { The PMPostScriptxxx calls are valid within a }
  1108. { BeginPage/EndPage block }
  1109. {**********************}
  1110. {
  1111. * PMPostScriptBegin()
  1112. *
  1113. * Availability:
  1114. * Non-Carbon CFM: not available
  1115. * CarbonLib: in CarbonLib 1.0 and later
  1116. * Mac OS X: in version 10.0 and later
  1117. }
  1118. function PMPostScriptBegin: OSStatus; external name '_PMPostScriptBegin';
  1119. {
  1120. * PMPostScriptEnd()
  1121. *
  1122. * Availability:
  1123. * Non-Carbon CFM: not available
  1124. * CarbonLib: in CarbonLib 1.0 and later
  1125. * Mac OS X: in version 10.0 and later
  1126. }
  1127. function PMPostScriptEnd: OSStatus; external name '_PMPostScriptEnd';
  1128. {**********************}
  1129. { These PMPostScriptxxx calls are valid within a }
  1130. { PMPostScriptBegin/PMPostScriptEnd block }
  1131. {**********************}
  1132. {
  1133. * PMPostScriptHandle()
  1134. *
  1135. * Availability:
  1136. * Non-Carbon CFM: not available
  1137. * CarbonLib: in CarbonLib 1.0 and later
  1138. * Mac OS X: in version 10.0 and later
  1139. }
  1140. function PMPostScriptHandle(psHandle: Handle): OSStatus; external name '_PMPostScriptHandle';
  1141. {
  1142. * PMPostScriptData()
  1143. *
  1144. * Availability:
  1145. * Non-Carbon CFM: not available
  1146. * CarbonLib: in CarbonLib 1.0 and later
  1147. * Mac OS X: in version 10.0 and later
  1148. }
  1149. function PMPostScriptData(psPtr: Ptr; len: Size): OSStatus; external name '_PMPostScriptData';
  1150. {
  1151. * PMPostScriptFile()
  1152. *
  1153. * Availability:
  1154. * Non-Carbon CFM: not available
  1155. * CarbonLib: in CarbonLib 1.0 and later
  1156. * Mac OS X: in version 10.0 and later
  1157. }
  1158. function PMPostScriptFile(var psFile: FSSpec): OSStatus; external name '_PMPostScriptFile';
  1159. { Error }
  1160. {
  1161. * PMError()
  1162. *
  1163. * Availability:
  1164. * Non-Carbon CFM: not available
  1165. * CarbonLib: in CarbonLib 1.0 and later
  1166. * Mac OS X: in version 10.0 and later
  1167. }
  1168. function PMError: OSStatus; external name '_PMError';
  1169. {
  1170. * PMSetError()
  1171. *
  1172. * Availability:
  1173. * Non-Carbon CFM: not available
  1174. * CarbonLib: in CarbonLib 1.0 and later
  1175. * Mac OS X: in version 10.0 and later
  1176. }
  1177. function PMSetError(printError: OSStatus): OSStatus; external name '_PMSetError';
  1178. {$endc} {PM_USE_SESSION_APIS}
  1179. { PMPageFormat }
  1180. {
  1181. * PMCopyPageFormat()
  1182. *
  1183. * Availability:
  1184. * Non-Carbon CFM: not available
  1185. * CarbonLib: in CarbonLib 1.0 and later
  1186. * Mac OS X: in version 10.0 and later
  1187. }
  1188. function PMCopyPageFormat(formatSrc: PMPageFormat; formatDest: PMPageFormat): OSStatus; external name '_PMCopyPageFormat';
  1189. {**********************}
  1190. { Flattening a page format should only be necessary if you intend to preserve }
  1191. { the object settings along with a document. A page format will persist outside of a }
  1192. { PMBegin/PMEnd block. This will allow you to use any accessors on the object without }
  1193. { the need to flatten and unflatten. Keep in mind accessors make no assumption }
  1194. { on the validity of the value you set. This can only be done thru PMValidatePageFormat }
  1195. { in a PMBegin/PMEnd block or with PMSessionValidatePageFormat with a valid session. }
  1196. { It is your responsibility for disposing of the handle. }
  1197. {**********************}
  1198. {
  1199. * PMFlattenPageFormat()
  1200. *
  1201. * Availability:
  1202. * Non-Carbon CFM: not available
  1203. * CarbonLib: in CarbonLib 1.0 and later
  1204. * Mac OS X: in version 10.0 and later
  1205. }
  1206. function PMFlattenPageFormat(pageFormat: PMPageFormat; var flatFormat: Handle): OSStatus; external name '_PMFlattenPageFormat';
  1207. {
  1208. * PMUnflattenPageFormat()
  1209. *
  1210. * Availability:
  1211. * Non-Carbon CFM: not available
  1212. * CarbonLib: in CarbonLib 1.0 and later
  1213. * Mac OS X: in version 10.0 and later
  1214. }
  1215. function PMUnflattenPageFormat(flatFormat: Handle; var pageFormat: PMPageFormat): OSStatus; external name '_PMUnflattenPageFormat';
  1216. { PMPageFormat Accessors }
  1217. {**********************}
  1218. { PMSetxxx calls only saves the value inside the printing object. They make no assumption on the }
  1219. { validity of the value. This should be done using PMValidatePageFormat/PMSessionValidatePageFormat }
  1220. { Any dependant settings are also updated during a validate call. }
  1221. { For example: }
  1222. { PMGetAdjustedPaperRect - returns a rect of a certain size }
  1223. { PMSetScale( aPageFormat, 500.0 ) }
  1224. { PMGetAdjustedPaperRect - returns the SAME rect as the first call }
  1225. {}
  1226. { PMGetAdjustedPaperRect - returns a rect of a certain size }
  1227. { PMSetScale( aPageFormat, 500.0 ) }
  1228. { PMValidatePageFormat or PMSessionValidatePageFormat }
  1229. { PMGetAdjustedPaperRect - returns a rect thats scaled 500% from the first call }
  1230. {**********************}
  1231. {
  1232. * PMGetPageFormatExtendedData()
  1233. *
  1234. * Availability:
  1235. * Non-Carbon CFM: not available
  1236. * CarbonLib: in CarbonLib 1.0 and later
  1237. * Mac OS X: in version 10.0 and later
  1238. }
  1239. function PMGetPageFormatExtendedData(pageFormat: PMPageFormat; dataID: OSType; var size: UInt32; extendedData: UnivPtr): OSStatus; external name '_PMGetPageFormatExtendedData';
  1240. {
  1241. * PMSetPageFormatExtendedData()
  1242. *
  1243. * Availability:
  1244. * Non-Carbon CFM: not available
  1245. * CarbonLib: in CarbonLib 1.0 and later
  1246. * Mac OS X: in version 10.0 and later
  1247. }
  1248. function PMSetPageFormatExtendedData(pageFormat: PMPageFormat; dataID: OSType; size: UInt32; extendedData: UnivPtr): OSStatus; external name '_PMSetPageFormatExtendedData';
  1249. {**********************}
  1250. { A value of 100.0 means 100% (no scaling). 50.0 means 50% scaling }
  1251. {**********************}
  1252. {
  1253. * PMGetScale()
  1254. *
  1255. * Availability:
  1256. * Non-Carbon CFM: not available
  1257. * CarbonLib: in CarbonLib 1.0 and later
  1258. * Mac OS X: in version 10.0 and later
  1259. }
  1260. function PMGetScale(pageFormat: PMPageFormat; var scale: Double): OSStatus; external name '_PMGetScale';
  1261. {
  1262. * PMSetScale()
  1263. *
  1264. * Availability:
  1265. * Non-Carbon CFM: not available
  1266. * CarbonLib: in CarbonLib 1.0 and later
  1267. * Mac OS X: in version 10.0 and later
  1268. }
  1269. function PMSetScale(pageFormat: PMPageFormat; scale: Double): OSStatus; external name '_PMSetScale';
  1270. {**********************}
  1271. { This is the drawing resolution of an app. This should not be confused with }
  1272. { the resolution of the printer. You can call PMGetPrinterResolution to see }
  1273. { what resolutions are avaliable for the current printer. }
  1274. {**********************}
  1275. {
  1276. * PMGetResolution()
  1277. *
  1278. * Availability:
  1279. * Non-Carbon CFM: not available
  1280. * CarbonLib: in CarbonLib 1.0 and later
  1281. * Mac OS X: in version 10.0 and later
  1282. }
  1283. function PMGetResolution(pageFormat: PMPageFormat; var res: PMResolution): OSStatus; external name '_PMGetResolution';
  1284. {
  1285. * PMSetResolution()
  1286. *
  1287. * Availability:
  1288. * Non-Carbon CFM: not available
  1289. * CarbonLib: in CarbonLib 1.0 and later
  1290. * Mac OS X: in version 10.0 and later
  1291. }
  1292. function PMSetResolution(pageFormat: PMPageFormat; const (*var*) res: PMResolution): OSStatus; external name '_PMSetResolution';
  1293. {**********************}
  1294. { This is the physical size of the paper without regard to resolution, orientation }
  1295. { or scaling. It is returned as a 72dpi value. }
  1296. {**********************}
  1297. {
  1298. * PMGetPhysicalPaperSize()
  1299. *
  1300. * Availability:
  1301. * Non-Carbon CFM: not available
  1302. * CarbonLib: in CarbonLib 1.0 and later
  1303. * Mac OS X: in version 10.0 and later
  1304. }
  1305. function PMGetPhysicalPaperSize(pageFormat: PMPageFormat; var paperSize: PMRect): OSStatus; external name '_PMGetPhysicalPaperSize';
  1306. {
  1307. * PMSetPhysicalPaperSize()
  1308. *
  1309. * Availability:
  1310. * Non-Carbon CFM: not available
  1311. * CarbonLib: in CarbonLib 1.0 and later
  1312. * Mac OS X: in version 10.0 and later
  1313. }
  1314. function PMSetPhysicalPaperSize(pageFormat: PMPageFormat; const (*var*) paperSize: PMRect): OSStatus; external name '_PMSetPhysicalPaperSize';
  1315. {**********************}
  1316. { This is the physical size of the page without regard to resolution, orientation }
  1317. { or scaling. It is returned as a 72dpi value. }
  1318. {**********************}
  1319. {
  1320. * PMGetPhysicalPageSize()
  1321. *
  1322. * Availability:
  1323. * Non-Carbon CFM: not available
  1324. * CarbonLib: in CarbonLib 1.0 and later
  1325. * Mac OS X: in version 10.0 and later
  1326. }
  1327. function PMGetPhysicalPageSize(pageFormat: PMPageFormat; var pageSize: PMRect): OSStatus; external name '_PMGetPhysicalPageSize';
  1328. {
  1329. * PMGetAdjustedPaperRect()
  1330. *
  1331. * Availability:
  1332. * Non-Carbon CFM: not available
  1333. * CarbonLib: in CarbonLib 1.0 and later
  1334. * Mac OS X: in version 10.0 and later
  1335. }
  1336. function PMGetAdjustedPaperRect(pageFormat: PMPageFormat; var paperRect: PMRect): OSStatus; external name '_PMGetAdjustedPaperRect';
  1337. {
  1338. * PMGetAdjustedPageRect()
  1339. *
  1340. * Availability:
  1341. * Non-Carbon CFM: not available
  1342. * CarbonLib: in CarbonLib 1.0 and later
  1343. * Mac OS X: in version 10.0 and later
  1344. }
  1345. function PMGetAdjustedPageRect(pageFormat: PMPageFormat; var pageRect: PMRect): OSStatus; external name '_PMGetAdjustedPageRect';
  1346. {
  1347. * PMGetUnadjustedPaperRect()
  1348. *
  1349. * Availability:
  1350. * Non-Carbon CFM: not available
  1351. * CarbonLib: in CarbonLib 1.1 and later
  1352. * Mac OS X: in version 10.0 and later
  1353. }
  1354. function PMGetUnadjustedPaperRect(pageFormat: PMPageFormat; var paperRect: PMRect): OSStatus; external name '_PMGetUnadjustedPaperRect';
  1355. {
  1356. * PMSetUnadjustedPaperRect()
  1357. *
  1358. * Availability:
  1359. * Non-Carbon CFM: not available
  1360. * CarbonLib: in CarbonLib 1.1 and later
  1361. * Mac OS X: in version 10.0 and later
  1362. }
  1363. function PMSetUnadjustedPaperRect(pageFormat: PMPageFormat; const (*var*) paperRect: PMRect): OSStatus; external name '_PMSetUnadjustedPaperRect';
  1364. {
  1365. * PMGetUnadjustedPageRect()
  1366. *
  1367. * Availability:
  1368. * Non-Carbon CFM: not available
  1369. * CarbonLib: in CarbonLib 1.1 and later
  1370. * Mac OS X: in version 10.0 and later
  1371. }
  1372. function PMGetUnadjustedPageRect(pageFormat: PMPageFormat; var pageRect: PMRect): OSStatus; external name '_PMGetUnadjustedPageRect';
  1373. {
  1374. * PMSetAdjustedPageRect()
  1375. *
  1376. * Availability:
  1377. * Non-Carbon CFM: not available
  1378. * CarbonLib: in CarbonLib 1.1 and later
  1379. * Mac OS X: in version 10.0 and later
  1380. }
  1381. function PMSetAdjustedPageRect(pageFormat: PMPageFormat; const (*var*) pageRect: PMRect): OSStatus; external name '_PMSetAdjustedPageRect';
  1382. {
  1383. * PMGetOrientation()
  1384. *
  1385. * Availability:
  1386. * Non-Carbon CFM: not available
  1387. * CarbonLib: in CarbonLib 1.0 and later
  1388. * Mac OS X: in version 10.0 and later
  1389. }
  1390. function PMGetOrientation(pageFormat: PMPageFormat; var orientation: PMOrientation): OSStatus; external name '_PMGetOrientation';
  1391. {
  1392. * PMSetOrientation()
  1393. *
  1394. * Availability:
  1395. * Non-Carbon CFM: not available
  1396. * CarbonLib: in CarbonLib 1.0 and later
  1397. * Mac OS X: in version 10.0 and later
  1398. }
  1399. function PMSetOrientation(pageFormat: PMPageFormat; orientation: PMOrientation; lock: boolean): OSStatus; external name '_PMSetOrientation';
  1400. { PMPrintSettings }
  1401. {
  1402. * PMCopyPrintSettings()
  1403. *
  1404. * Availability:
  1405. * Non-Carbon CFM: not available
  1406. * CarbonLib: in CarbonLib 1.0 and later
  1407. * Mac OS X: in version 10.0 and later
  1408. }
  1409. function PMCopyPrintSettings(settingSrc: PMPrintSettings; settingDest: PMPrintSettings): OSStatus; external name '_PMCopyPrintSettings';
  1410. {**********************}
  1411. { Flattening a print settings should only be necessary if you intend to preserve }
  1412. { the object settings along with a document. A print settings will persist outside of a }
  1413. { PMBegin/PMEnd block. This allows you to use any accessors on the object without }
  1414. { the need to flatten and unflatten. Keep in mind the accessors make no assumption }
  1415. { on the validity of the value. This can only be done thru PMValidatePrintSettings }
  1416. { in a PMBegin/PMEnd block or with PMSessionValidatePrintSettings with a valid session. }
  1417. { It is your responsibility for disposing of the handle. }
  1418. {**********************}
  1419. {
  1420. * PMFlattenPrintSettings()
  1421. *
  1422. * Availability:
  1423. * Non-Carbon CFM: not available
  1424. * CarbonLib: in CarbonLib 1.0 and later
  1425. * Mac OS X: in version 10.0 and later
  1426. }
  1427. function PMFlattenPrintSettings(printSettings: PMPrintSettings; var flatSettings: Handle): OSStatus; external name '_PMFlattenPrintSettings';
  1428. {
  1429. * PMUnflattenPrintSettings()
  1430. *
  1431. * Availability:
  1432. * Non-Carbon CFM: not available
  1433. * CarbonLib: in CarbonLib 1.0 and later
  1434. * Mac OS X: in version 10.0 and later
  1435. }
  1436. function PMUnflattenPrintSettings(flatSettings: Handle; var printSettings: PMPrintSettings): OSStatus; external name '_PMUnflattenPrintSettings';
  1437. { PMPrintSettings Accessors }
  1438. {
  1439. * PMGetPrintSettingsExtendedData()
  1440. *
  1441. * Availability:
  1442. * Non-Carbon CFM: not available
  1443. * CarbonLib: in CarbonLib 1.0 and later
  1444. * Mac OS X: in version 10.0 and later
  1445. }
  1446. function PMGetPrintSettingsExtendedData(printSettings: PMPrintSettings; dataID: OSType; var size: UInt32; extendedData: UnivPtr): OSStatus; external name '_PMGetPrintSettingsExtendedData';
  1447. {
  1448. * PMSetPrintSettingsExtendedData()
  1449. *
  1450. * Availability:
  1451. * Non-Carbon CFM: not available
  1452. * CarbonLib: in CarbonLib 1.0 and later
  1453. * Mac OS X: in version 10.0 and later
  1454. }
  1455. function PMSetPrintSettingsExtendedData(printSettings: PMPrintSettings; dataID: OSType; size: UInt32; extendedData: UnivPtr): OSStatus; external name '_PMSetPrintSettingsExtendedData';
  1456. {
  1457. * PMGetDestination()
  1458. *
  1459. * Availability:
  1460. * Non-Carbon CFM: not available
  1461. * CarbonLib: in CarbonLib 1.1 and later
  1462. * Mac OS X: in version 10.0 and later
  1463. }
  1464. function PMGetDestination(printSettings: PMPrintSettings; var destType: PMDestinationType; var fileURL: CFURLRef): OSStatus; external name '_PMGetDestination';
  1465. {
  1466. * PMGetJobName()
  1467. *
  1468. * Availability:
  1469. * Non-Carbon CFM: not available
  1470. * CarbonLib: in CarbonLib 1.0 and later
  1471. * Mac OS X: in version 10.0 and later
  1472. }
  1473. function PMGetJobName(printSettings: PMPrintSettings; name: StringPtr): OSStatus; external name '_PMGetJobName';
  1474. {
  1475. * PMSetJobName()
  1476. *
  1477. * Availability:
  1478. * Non-Carbon CFM: not available
  1479. * CarbonLib: in CarbonLib 1.0 and later
  1480. * Mac OS X: in version 10.0 and later
  1481. }
  1482. function PMSetJobName(printSettings: PMPrintSettings; const (*var*) name: Str255): OSStatus; external name '_PMSetJobName';
  1483. {
  1484. * PMGetCopies()
  1485. *
  1486. * Availability:
  1487. * Non-Carbon CFM: not available
  1488. * CarbonLib: in CarbonLib 1.0 and later
  1489. * Mac OS X: in version 10.0 and later
  1490. }
  1491. function PMGetCopies(printSettings: PMPrintSettings; var copies: UInt32): OSStatus; external name '_PMGetCopies';
  1492. {
  1493. * PMSetCopies()
  1494. *
  1495. * Availability:
  1496. * Non-Carbon CFM: not available
  1497. * CarbonLib: in CarbonLib 1.0 and later
  1498. * Mac OS X: in version 10.0 and later
  1499. }
  1500. function PMSetCopies(printSettings: PMPrintSettings; copies: UInt32; lock: boolean): OSStatus; external name '_PMSetCopies';
  1501. {
  1502. * PMGetFirstPage()
  1503. *
  1504. * Availability:
  1505. * Non-Carbon CFM: not available
  1506. * CarbonLib: in CarbonLib 1.0 and later
  1507. * Mac OS X: in version 10.0 and later
  1508. }
  1509. function PMGetFirstPage(printSettings: PMPrintSettings; var first: UInt32): OSStatus; external name '_PMGetFirstPage';
  1510. {
  1511. * PMSetFirstPage()
  1512. *
  1513. * Availability:
  1514. * Non-Carbon CFM: not available
  1515. * CarbonLib: in CarbonLib 1.0 and later
  1516. * Mac OS X: in version 10.0 and later
  1517. }
  1518. function PMSetFirstPage(printSettings: PMPrintSettings; first: UInt32; lock: boolean): OSStatus; external name '_PMSetFirstPage';
  1519. {
  1520. * PMGetLastPage()
  1521. *
  1522. * Availability:
  1523. * Non-Carbon CFM: not available
  1524. * CarbonLib: in CarbonLib 1.0 and later
  1525. * Mac OS X: in version 10.0 and later
  1526. }
  1527. function PMGetLastPage(printSettings: PMPrintSettings; var last: UInt32): OSStatus; external name '_PMGetLastPage';
  1528. {
  1529. * PMSetLastPage()
  1530. *
  1531. * Availability:
  1532. * Non-Carbon CFM: not available
  1533. * CarbonLib: in CarbonLib 1.0 and later
  1534. * Mac OS X: in version 10.0 and later
  1535. }
  1536. function PMSetLastPage(printSettings: PMPrintSettings; last: UInt32; lock: boolean): OSStatus; external name '_PMSetLastPage';
  1537. {**********************}
  1538. { The default page range is from 1-32000. The page range is something that is }
  1539. { set by the application. It is NOT the first and last page to print. It serves }
  1540. { as limits for setting the first and last page. You may pass kPMPrintAllPages for }
  1541. { the maxPage value to specified that all pages are available for printing. }
  1542. {**********************}
  1543. {
  1544. * PMGetPageRange()
  1545. *
  1546. * Availability:
  1547. * Non-Carbon CFM: not available
  1548. * CarbonLib: in CarbonLib 1.0 and later
  1549. * Mac OS X: in version 10.0 and later
  1550. }
  1551. function PMGetPageRange(printSettings: PMPrintSettings; var minPage: UInt32; var maxPage: UInt32): OSStatus; external name '_PMGetPageRange';
  1552. {**********************}
  1553. { The first and last page are immediately clipped to the new range }
  1554. {**********************}
  1555. {
  1556. * PMSetPageRange()
  1557. *
  1558. * Availability:
  1559. * Non-Carbon CFM: not available
  1560. * CarbonLib: in CarbonLib 1.0 and later
  1561. * Mac OS X: in version 10.0 and later
  1562. }
  1563. function PMSetPageRange(printSettings: PMPrintSettings; minPage: UInt32; maxPage: UInt32): OSStatus; external name '_PMSetPageRange';
  1564. {
  1565. * PMSetProfile()
  1566. *
  1567. * Availability:
  1568. * Non-Carbon CFM: not available
  1569. * CarbonLib: in CarbonLib 1.0 and later
  1570. * Mac OS X: in version 10.0 and later
  1571. }
  1572. function PMSetProfile(printSettings: PMPrintSettings; tag: PMTag; const (*var*) profile: CMProfileLocation): OSStatus; external name '_PMSetProfile';
  1573. {
  1574. * PMGetColorMode()
  1575. *
  1576. * Availability:
  1577. * Non-Carbon CFM: not available
  1578. * CarbonLib: in CarbonLib 1.1 and later
  1579. * Mac OS X: in version 10.0 and later
  1580. }
  1581. function PMGetColorMode(printSettings: PMPrintSettings; var colorMode: PMColorMode): OSStatus; external name '_PMGetColorMode';
  1582. {
  1583. * PMSetColorMode()
  1584. *
  1585. * Availability:
  1586. * Non-Carbon CFM: not available
  1587. * CarbonLib: in CarbonLib 1.1 and later
  1588. * Mac OS X: in version 10.0 and later
  1589. }
  1590. function PMSetColorMode(printSettings: PMPrintSettings; colorMode: PMColorMode): OSStatus; external name '_PMSetColorMode';
  1591. {
  1592. * PMGetJobNameCFString()
  1593. *
  1594. * Availability:
  1595. * Non-Carbon CFM: not available
  1596. * CarbonLib: in CarbonLib 1.1 and later
  1597. * Mac OS X: in version 10.0 and later
  1598. }
  1599. function PMGetJobNameCFString(printSettings: PMPrintSettings; var name: CFStringRef): OSStatus; external name '_PMGetJobNameCFString';
  1600. {
  1601. * PMSetJobNameCFString()
  1602. *
  1603. * Availability:
  1604. * Non-Carbon CFM: not available
  1605. * CarbonLib: in CarbonLib 1.1 and later
  1606. * Mac OS X: in version 10.0 and later
  1607. }
  1608. function PMSetJobNameCFString(printSettings: PMPrintSettings; name: CFStringRef): OSStatus; external name '_PMSetJobNameCFString';
  1609. {
  1610. * PMSetCollate()
  1611. *
  1612. * Availability:
  1613. * Non-Carbon CFM: not available
  1614. * CarbonLib: in CarbonLib 1.6 and later
  1615. * Mac OS X: in version 10.2 and later
  1616. }
  1617. function PMSetCollate(printSettings: PMPrintSettings; collate: boolean): OSStatus; external name '_PMSetCollate';
  1618. {
  1619. * PMGetCollate()
  1620. *
  1621. * Availability:
  1622. * Non-Carbon CFM: not available
  1623. * CarbonLib: in CarbonLib 1.6 and later
  1624. * Mac OS X: in version 10.2 and later
  1625. }
  1626. function PMGetCollate(printSettings: PMPrintSettings; var collate: boolean): OSStatus; external name '_PMGetCollate';
  1627. {$ALIGN MAC68K}
  1628. end.