Printing.pas 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797
  1. {
  2. File: Printing.p
  3. Contains: Print Manager Interfaces.
  4. Version: Technology: System 7.5
  5. Release: Universal Interfaces 3.4.2
  6. Copyright: © 1985-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 Printing;
  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,MacErrors,Quickdraw,Dialogs;
  92. {$ALIGN MAC68K}
  93. const
  94. kFirstPageMin = 1; { min value for first page }
  95. kLastPageMax = 32767; { max value for last page }
  96. iPFMaxPgs = 128;
  97. iPrPgFract = 120; { Page scale factor. ptPgSize (below) is in units of 1/iPrPgFract }
  98. iPrPgFst = 1; { Page range constants }
  99. iPrPgMax = 9999;
  100. iPrRelease = 3; { Current version number of the code. }
  101. iPrSavPFil = -1;
  102. iPrAbort = $0080;
  103. iPrDevCtl = 7; { The PrDevCtl Proc's ctl number }
  104. lPrReset = $00010000; { The PrDevCtl Proc's CParam for reset }
  105. lPrLineFeed = $00030000;
  106. lPrLFStd = $0003FFFF; { The PrDevCtl Proc's CParam for std paper advance }
  107. lPrLFSixth = $0003FFFF;
  108. lPrPageEnd = $00020000; { The PrDevCtl Proc's CParam for end page }
  109. lPrDocOpen = $00010000;
  110. lPrPageOpen = $00040000;
  111. lPrPageClose = $00020000;
  112. lPrDocClose = $00050000;
  113. iFMgrCtl = 8; { The FMgr's Tail-hook Proc's ctl number }
  114. iMscCtl = 9; { The FMgr's Tail-hook Proc's ctl number }
  115. iPvtCtl = 10; { The FMgr's Tail-hook Proc's ctl number }
  116. { Error Codes moved to Errors.(hap) }
  117. pPrGlobals = $00000944; { The PrVars lo mem area: }
  118. bDraftLoop = 0;
  119. bSpoolLoop = 1;
  120. bUser1Loop = 2;
  121. bUser2Loop = 3;
  122. fNewRunBit = 2;
  123. fHiResOK = 3;
  124. fWeOpenedRF = 4; { Driver constants }
  125. iPrBitsCtl = 4;
  126. lScreenBits = 0;
  127. lPaintBits = 1;
  128. lHiScreenBits = $00000002; { The Bitmap Print Proc's Screen Bitmap param }
  129. lHiPaintBits = $00000003; { The Bitmap Print Proc's Paint [sq pix] param }
  130. iPrIOCtl = 5;
  131. iPrEvtCtl = 6; { The PrEvent Proc's ctl number }
  132. lPrEvtAll = $0002FFFD; { The PrEvent Proc's CParam for the entire screen }
  133. lPrEvtTop = $0001FFFD; { The PrEvent Proc's CParam for the top folder }
  134. iPrDrvrRef = -3;
  135. getRslDataOp = 4;
  136. setRslOp = 5;
  137. draftBitsOp = 6;
  138. noDraftBitsOp = 7;
  139. getRotnOp = 8;
  140. NoSuchRsl = 1;
  141. OpNotImpl = 2; { the driver doesn't support this opcode }
  142. RgType1 = 1;
  143. type
  144. TFeed = SInt8;
  145. const
  146. feedCut = 0;
  147. feedFanfold = 1;
  148. feedMechCut = 2;
  149. feedOther = 3;
  150. type
  151. TScan = SInt8;
  152. const
  153. scanTB = 0;
  154. scanBT = 1;
  155. scanLR = 2;
  156. scanRL = 3;
  157. { A Rect Ptr }
  158. type
  159. TPRect = ^Rect;
  160. TPRectPtr = ^TPRect;
  161. {$ifc TYPED_FUNCTION_POINTERS}
  162. PrIdleProcPtr = procedure;
  163. {$elsec}
  164. PrIdleProcPtr = ProcPtr;
  165. {$endc}
  166. {$ifc TYPED_FUNCTION_POINTERS}
  167. PItemProcPtr = procedure(theDialog: DialogRef; item: SInt16);
  168. {$elsec}
  169. PItemProcPtr = ProcPtr;
  170. {$endc}
  171. {$ifc OPAQUE_UPP_TYPES}
  172. PrIdleUPP = ^SInt32; { an opaque UPP }
  173. {$elsec}
  174. PrIdleUPP = UniversalProcPtr;
  175. {$endc}
  176. {$ifc OPAQUE_UPP_TYPES}
  177. PItemUPP = ^SInt32; { an opaque UPP }
  178. {$elsec}
  179. PItemUPP = UniversalProcPtr;
  180. {$endc}
  181. const
  182. uppPrIdleProcInfo = $00000000;
  183. uppPItemProcInfo = $000002C0;
  184. {$ifc CALL_NOT_IN_CARBON}
  185. {
  186. * NewPrIdleUPP()
  187. *
  188. * Availability:
  189. * Non-Carbon CFM: available as macro/inline
  190. * CarbonLib: not available
  191. * Mac OS X: not available
  192. }
  193. function NewPrIdleUPP(userRoutine: PrIdleProcPtr): PrIdleUPP; external name '_NewPrIdleUPP'; { old name was NewPrIdleProc }
  194. {
  195. * NewPItemUPP()
  196. *
  197. * Availability:
  198. * Non-Carbon CFM: available as macro/inline
  199. * CarbonLib: not available
  200. * Mac OS X: not available
  201. }
  202. function NewPItemUPP(userRoutine: PItemProcPtr): PItemUPP; external name '_NewPItemUPP'; { old name was NewPItemProc }
  203. {
  204. * DisposePrIdleUPP()
  205. *
  206. * Availability:
  207. * Non-Carbon CFM: available as macro/inline
  208. * CarbonLib: not available
  209. * Mac OS X: not available
  210. }
  211. procedure DisposePrIdleUPP(userUPP: PrIdleUPP); external name '_DisposePrIdleUPP';
  212. {
  213. * DisposePItemUPP()
  214. *
  215. * Availability:
  216. * Non-Carbon CFM: available as macro/inline
  217. * CarbonLib: not available
  218. * Mac OS X: not available
  219. }
  220. procedure DisposePItemUPP(userUPP: PItemUPP); external name '_DisposePItemUPP';
  221. {
  222. * InvokePrIdleUPP()
  223. *
  224. * Availability:
  225. * Non-Carbon CFM: available as macro/inline
  226. * CarbonLib: not available
  227. * Mac OS X: not available
  228. }
  229. procedure InvokePrIdleUPP(userRoutine: PrIdleUPP); external name '_InvokePrIdleUPP'; { old name was CallPrIdleProc }
  230. {
  231. * InvokePItemUPP()
  232. *
  233. * Availability:
  234. * Non-Carbon CFM: available as macro/inline
  235. * CarbonLib: not available
  236. * Mac OS X: not available
  237. }
  238. procedure InvokePItemUPP(theDialog: DialogRef; item: SInt16; userRoutine: PItemUPP); external name '_InvokePItemUPP'; { old name was CallPItemProc }
  239. {$endc} {CALL_NOT_IN_CARBON}
  240. {$ifc NOT OPAQUE_TOOLBOX_STRUCTS}
  241. type
  242. TPrPortPtr = ^TPrPort;
  243. TPrPort = record
  244. gPort: GrafPort; { The Printer's graf port. }
  245. gProcs: QDProcs; { ..and its procs }
  246. lGParam1: SInt32; { 16 bytes for private parameter storage. }
  247. lGParam2: SInt32;
  248. lGParam3: SInt32;
  249. lGParam4: SInt32;
  250. fOurPtr: boolean; { Whether the PrPort allocation was done by us. }
  251. fOurBits: boolean; { Whether the BitMap allocation was done by us. }
  252. end;
  253. TPPrPort = ^TPrPort;
  254. {$elsec}
  255. type
  256. TPPrPort = ^SInt32; { an opaque 32-bit type }
  257. TPPrPortPtr = ^TPPrPort; { when a var xx:TPPrPort parameter can be nil, it is changed to xx: TPPrPortPtr }
  258. {$endc}
  259. TPPrPortRef = TPPrPort;
  260. { Printing Graf Port. All printer imaging, whether spooling, banding, etc, happens "thru" a GrafPort.
  261. This is the "PrPeek" record. }
  262. TPrInfoPtr = ^TPrInfo;
  263. TPrInfo = record
  264. iDev: SInt16; { Font mgr/QuickDraw device code }
  265. iVRes: SInt16; { Resolution of device, in device coordinates }
  266. iHRes: SInt16; { ..note: V before H => compatable with Point. }
  267. rPage: Rect; { The page (printable) rectangle in device coordinates. }
  268. end;
  269. TPPrInfo = ^TPrInfo;
  270. { Print Info Record: The parameters needed for page composition. }
  271. TPrStlPtr = ^TPrStl;
  272. TPrStl = record
  273. wDev: SInt16;
  274. iPageV: SInt16;
  275. iPageH: SInt16;
  276. bPort: SInt8;
  277. feed: SInt8;
  278. end;
  279. TPPrStl = ^TPrStl;
  280. TPrXInfoPtr = ^TPrXInfo;
  281. TPrXInfo = record
  282. iRowBytes: SInt16;
  283. iBandV: SInt16;
  284. iBandH: SInt16;
  285. iDevBytes: SInt16;
  286. iBands: SInt16;
  287. bPatScale: SInt8;
  288. bUlThick: SInt8;
  289. bUlOffset: SInt8;
  290. bUlShadow: SInt8;
  291. scan: SInt8;
  292. bXInfoX: SInt8;
  293. end;
  294. TPPrXInfo = ^TPrXInfo;
  295. TPrJobPtr = ^TPrJob;
  296. TPrJob = record
  297. iFstPage: SInt16; { Page Range. }
  298. iLstPage: SInt16;
  299. iCopies: SInt16; { No. copies. }
  300. bJDocLoop: SInt8; { The Doc style: Draft, Spool, .., and .. }
  301. fFromUsr: boolean; { Printing from an User's App (not PrApp) flag }
  302. pIdleProc: PrIdleUPP; { The Proc called while waiting on IO etc. }
  303. pFileName: StringPtr; { Spool File Name: NIL for default. }
  304. iFileVol: SInt16; { Spool File vol, set to 0 initially }
  305. bFileVers: SInt8; { Spool File version, set to 0 initially }
  306. bJobX: SInt8; { An eXtra byte. }
  307. end;
  308. TPPrJob = ^TPrJob;
  309. { Print Job: Print "form" for a single print request. }
  310. TPrFlag1Ptr = ^TPrFlag1;
  311. TPrFlag1 = packed record
  312. f15: boolean;
  313. f14: boolean;
  314. f13: boolean;
  315. f12: boolean;
  316. f11: boolean;
  317. f10: boolean;
  318. f9: boolean;
  319. f8: boolean;
  320. f7: boolean;
  321. f6: boolean;
  322. f5: boolean;
  323. f4: boolean;
  324. f3: boolean;
  325. f2: boolean;
  326. fLstPgFst: boolean;
  327. fUserScale: boolean;
  328. end;
  329. TPrintPtr = ^TPrint;
  330. TPrint = record
  331. iPrVersion: SInt16; { (2) Printing software version }
  332. prInfo: TPrInfo; { (14) the PrInfo data associated with the current style. }
  333. rPaper: Rect; { (8) The paper rectangle [offset from rPage] }
  334. prStl: TPrStl; { (8) This print request's style. }
  335. prInfoPT: TPrInfo; { (14) Print Time Imaging metrics }
  336. prXInfo: TPrXInfo; { (16) Print-time (expanded) Print info record. }
  337. prJob: TPrJob; { (20) The Print Job request (82) Total of the above; 120-82 = 38 bytes needed to fill 120 }
  338. case SInt16 of
  339. 0: (
  340. printX: array [1..19] of SInt16;
  341. );
  342. 1: (
  343. prFlag1: TPrFlag1;
  344. iZoomMin: SInt16;
  345. iZoomMax: SInt16;
  346. hDocName: StringHandle;
  347. );
  348. end;
  349. TPPrint = ^TPrint;
  350. THPrint = ^TPPrint;
  351. TPrStatusPtr = ^TPrStatus;
  352. TPrStatus = record
  353. iTotPages: SInt16; { Total pages in Print File. }
  354. iCurPage: SInt16; { Current page number }
  355. iTotCopies: SInt16; { Total copies requested }
  356. iCurCopy: SInt16; { Current copy number }
  357. iTotBands: SInt16; { Total bands per page. }
  358. iCurBand: SInt16; { Current band number }
  359. fPgDirty: boolean; { True if current page has been written to. }
  360. fImaging: boolean; { Set while in band's DrawPic call. }
  361. hPrint: THPrint; { Handle to the active Printer record }
  362. pPrPort: TPPrPort; { Ptr to the active PrPort }
  363. hPic: PicHandle; { Handle to the active Picture }
  364. end;
  365. TPPrStatus = ^TPrStatus;
  366. TPPrStatusRef = TPPrStatus;
  367. { Print Status: Print information during printing. }
  368. TPfPgDirPtr = ^TPfPgDir;
  369. TPfPgDir = record
  370. iPages: SInt16;
  371. iPgPos: array [0..128] of SInt32; { array [0..iPfMaxPgs] of SInt32 }
  372. end;
  373. TPPfPgDir = ^TPfPgDir;
  374. THPfPgDir = ^TPPfPgDir;
  375. { PicFile = a TPfHeader followed by n QuickDraw Pics (whose PicSize is invalid!) }
  376. { This is the Printing Dialog Record. Only used by folks appending their own
  377. DITLs to the print dialogs. Print Dialog: The Dialog Stream object. }
  378. {$ifc NOT OPAQUE_TOOLBOX_STRUCTS}
  379. TPrDlgPtr = ^TPrDlg;
  380. TPrDlg = record
  381. Dlg: DialogRecord; { The Dialog window }
  382. pFltrProc: ModalFilterUPP; { The Filter Proc. }
  383. pItemProc: PItemUPP; { The Item evaluating proc. }
  384. hPrintUsr: THPrint; { The user's print record. }
  385. fDoIt: boolean;
  386. fDone: boolean;
  387. lUser1: SInt32; { Four longs for apps to hang global data. }
  388. lUser2: SInt32; { Plus more stuff needed by the particular }
  389. lUser3: SInt32; { printing dialog. }
  390. lUser4: SInt32;
  391. end;
  392. TPPrDlg = ^TPrDlg;
  393. {$elsec}
  394. TPPrDlg = ^SInt32; { an opaque 32-bit type }
  395. TPPrDlgPtr = ^TPPrDlg; { when a var xx:TPPrDlg parameter can be nil, it is changed to xx: TPPrDlgPtr }
  396. {$endc}
  397. TPPrDlgRef = TPPrDlg;
  398. {$ifc TYPED_FUNCTION_POINTERS}
  399. PDlgInitProcPtr = function(hPrint: THPrint): TPPrDlgRef;
  400. {$elsec}
  401. PDlgInitProcPtr = ProcPtr;
  402. {$endc}
  403. {$ifc OPAQUE_UPP_TYPES}
  404. PDlgInitUPP = ^SInt32; { an opaque UPP }
  405. {$elsec}
  406. PDlgInitUPP = UniversalProcPtr;
  407. {$endc}
  408. const
  409. uppPDlgInitProcInfo = $000000F0;
  410. {$ifc CALL_NOT_IN_CARBON}
  411. {
  412. * NewPDlgInitUPP()
  413. *
  414. * Availability:
  415. * Non-Carbon CFM: available as macro/inline
  416. * CarbonLib: not available
  417. * Mac OS X: not available
  418. }
  419. function NewPDlgInitUPP(userRoutine: PDlgInitProcPtr): PDlgInitUPP; external name '_NewPDlgInitUPP'; { old name was NewPDlgInitProc }
  420. {
  421. * DisposePDlgInitUPP()
  422. *
  423. * Availability:
  424. * Non-Carbon CFM: available as macro/inline
  425. * CarbonLib: not available
  426. * Mac OS X: not available
  427. }
  428. procedure DisposePDlgInitUPP(userUPP: PDlgInitUPP); external name '_DisposePDlgInitUPP';
  429. {
  430. * InvokePDlgInitUPP()
  431. *
  432. * Availability:
  433. * Non-Carbon CFM: available as macro/inline
  434. * CarbonLib: not available
  435. * Mac OS X: not available
  436. }
  437. function InvokePDlgInitUPP(hPrint: THPrint; userRoutine: PDlgInitUPP): TPPrDlgRef; external name '_InvokePDlgInitUPP'; { old name was CallPDlgInitProc }
  438. {$endc} {CALL_NOT_IN_CARBON}
  439. type
  440. TGnlDataPtr = ^TGnlData;
  441. TGnlData = record
  442. iOpCode: SInt16;
  443. iError: SInt16;
  444. lReserved: SInt32; { more fields here depending on call }
  445. end;
  446. TRslRgPtr = ^TRslRg;
  447. TRslRg = record
  448. iMin: SInt16;
  449. iMax: SInt16;
  450. end;
  451. TRslRecPtr = ^TRslRec;
  452. TRslRec = record
  453. iXRsl: SInt16;
  454. iYRsl: SInt16;
  455. end;
  456. TGetRslBlkPtr = ^TGetRslBlk;
  457. TGetRslBlk = record
  458. iOpCode: SInt16;
  459. iError: SInt16;
  460. lReserved: SInt32;
  461. iRgType: SInt16;
  462. xRslRg: TRslRg;
  463. yRslRg: TRslRg;
  464. iRslRecCnt: SInt16;
  465. rgRslRec: array [1..27] of TRslRec;
  466. end;
  467. TSetRslBlkPtr = ^TSetRslBlk;
  468. TSetRslBlk = record
  469. iOpCode: SInt16;
  470. iError: SInt16;
  471. lReserved: SInt32;
  472. hPrint: THPrint;
  473. iXRsl: SInt16;
  474. iYRsl: SInt16;
  475. end;
  476. TDftBitsBlkPtr = ^TDftBitsBlk;
  477. TDftBitsBlk = record
  478. iOpCode: SInt16;
  479. iError: SInt16;
  480. lReserved: SInt32;
  481. hPrint: THPrint;
  482. end;
  483. TGetRotnBlkPtr = ^TGetRotnBlk;
  484. TGetRotnBlk = record
  485. iOpCode: SInt16;
  486. iError: SInt16;
  487. lReserved: SInt32;
  488. hPrint: THPrint;
  489. fLandscape: boolean;
  490. bXtra: SInt8;
  491. end;
  492. {$ifc CALL_NOT_IN_CARBON}
  493. {
  494. * PrPurge()
  495. *
  496. * Availability:
  497. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  498. * CarbonLib: not available
  499. * Mac OS X: not available
  500. }
  501. procedure PrPurge; external name '_PrPurge';
  502. {
  503. * PrNoPurge()
  504. *
  505. * Availability:
  506. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  507. * CarbonLib: not available
  508. * Mac OS X: not available
  509. }
  510. procedure PrNoPurge; external name '_PrNoPurge';
  511. {
  512. * PrOpen()
  513. *
  514. * Availability:
  515. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  516. * CarbonLib: not available
  517. * Mac OS X: not available
  518. }
  519. procedure PrOpen; external name '_PrOpen';
  520. {
  521. * PrClose()
  522. *
  523. * Availability:
  524. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  525. * CarbonLib: not available
  526. * Mac OS X: not available
  527. }
  528. procedure PrClose; external name '_PrClose';
  529. {
  530. * PrintDefault()
  531. *
  532. * Availability:
  533. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  534. * CarbonLib: not available
  535. * Mac OS X: not available
  536. }
  537. procedure PrintDefault(hPrint: THPrint); external name '_PrintDefault';
  538. {
  539. * PrValidate()
  540. *
  541. * Availability:
  542. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  543. * CarbonLib: not available
  544. * Mac OS X: not available
  545. }
  546. function PrValidate(hPrint: THPrint): boolean; external name '_PrValidate';
  547. {
  548. * PrStlDialog()
  549. *
  550. * Availability:
  551. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  552. * CarbonLib: not available
  553. * Mac OS X: not available
  554. }
  555. function PrStlDialog(hPrint: THPrint): boolean; external name '_PrStlDialog';
  556. {
  557. * PrJobDialog()
  558. *
  559. * Availability:
  560. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  561. * CarbonLib: not available
  562. * Mac OS X: not available
  563. }
  564. function PrJobDialog(hPrint: THPrint): boolean; external name '_PrJobDialog';
  565. {
  566. * PrStlInit()
  567. *
  568. * Availability:
  569. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  570. * CarbonLib: not available
  571. * Mac OS X: not available
  572. }
  573. function PrStlInit(hPrint: THPrint): TPPrDlgRef; external name '_PrStlInit';
  574. {
  575. * PrJobInit()
  576. *
  577. * Availability:
  578. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  579. * CarbonLib: not available
  580. * Mac OS X: not available
  581. }
  582. function PrJobInit(hPrint: THPrint): TPPrDlgRef; external name '_PrJobInit';
  583. {
  584. * PrJobMerge()
  585. *
  586. * Availability:
  587. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  588. * CarbonLib: not available
  589. * Mac OS X: not available
  590. }
  591. procedure PrJobMerge(hPrintSrc: THPrint; hPrintDst: THPrint); external name '_PrJobMerge';
  592. {
  593. * PrDlgMain()
  594. *
  595. * Availability:
  596. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  597. * CarbonLib: not available
  598. * Mac OS X: not available
  599. }
  600. function PrDlgMain(hPrint: THPrint; pDlgInit: PDlgInitUPP): boolean; external name '_PrDlgMain';
  601. {
  602. * PrOpenDoc()
  603. *
  604. * Availability:
  605. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  606. * CarbonLib: not available
  607. * Mac OS X: not available
  608. }
  609. function PrOpenDoc(hPrint: THPrint; pPrPort: TPPrPort; pIOBuf: Ptr): TPPrPort; external name '_PrOpenDoc';
  610. {
  611. * PrCloseDoc()
  612. *
  613. * Availability:
  614. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  615. * CarbonLib: not available
  616. * Mac OS X: not available
  617. }
  618. procedure PrCloseDoc(pPrPort: TPPrPort); external name '_PrCloseDoc';
  619. {
  620. * PrOpenPage()
  621. *
  622. * Availability:
  623. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  624. * CarbonLib: not available
  625. * Mac OS X: not available
  626. }
  627. procedure PrOpenPage(pPrPort: TPPrPort; pPageFrame: TPRect); external name '_PrOpenPage';
  628. {
  629. * PrClosePage()
  630. *
  631. * Availability:
  632. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  633. * CarbonLib: not available
  634. * Mac OS X: not available
  635. }
  636. procedure PrClosePage(pPrPort: TPPrPort); external name '_PrClosePage';
  637. {
  638. * PrPicFile()
  639. *
  640. * Availability:
  641. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  642. * CarbonLib: not available
  643. * Mac OS X: not available
  644. }
  645. procedure PrPicFile(hPrint: THPrint; pPrPort: TPPrPort; pIOBuf: Ptr; pDevBuf: Ptr; prStatus: TPPrStatus); external name '_PrPicFile';
  646. {
  647. * PrError()
  648. *
  649. * Availability:
  650. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  651. * CarbonLib: not available
  652. * Mac OS X: not available
  653. }
  654. function PrError: SInt16; external name '_PrError';
  655. {
  656. * PrSetError()
  657. *
  658. * Availability:
  659. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  660. * CarbonLib: not available
  661. * Mac OS X: not available
  662. }
  663. procedure PrSetError(iErr: SInt16); external name '_PrSetError';
  664. {$endc} {CALL_NOT_IN_CARBON}
  665. {$ifc CALL_NOT_IN_CARBON}
  666. {
  667. * PrGeneral()
  668. *
  669. * Availability:
  670. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  671. * CarbonLib: not available
  672. * Mac OS X: not available
  673. }
  674. procedure PrGeneral(pData: Ptr); external name '_PrGeneral';
  675. {$endc} {CALL_NOT_IN_CARBON}
  676. {$ifc CALL_NOT_IN_CARBON}
  677. {
  678. * PrDrvrOpen()
  679. *
  680. * Availability:
  681. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  682. * CarbonLib: not available
  683. * Mac OS X: not available
  684. }
  685. procedure PrDrvrOpen; external name '_PrDrvrOpen';
  686. {
  687. * PrDrvrClose()
  688. *
  689. * Availability:
  690. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  691. * CarbonLib: not available
  692. * Mac OS X: not available
  693. }
  694. procedure PrDrvrClose; external name '_PrDrvrClose';
  695. {
  696. * PrCtlCall()
  697. *
  698. * Availability:
  699. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  700. * CarbonLib: not available
  701. * Mac OS X: not available
  702. }
  703. procedure PrCtlCall(iWhichCtl: SInt16; lParam1: SInt32; lParam2: SInt32; lParam3: SInt32); external name '_PrCtlCall';
  704. {
  705. * PrDrvrDCE()
  706. *
  707. * Availability:
  708. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  709. * CarbonLib: not available
  710. * Mac OS X: not available
  711. }
  712. function PrDrvrDCE: Handle; external name '_PrDrvrDCE';
  713. {
  714. * PrDrvrVers()
  715. *
  716. * Availability:
  717. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  718. * CarbonLib: not available
  719. * Mac OS X: not available
  720. }
  721. function PrDrvrVers: SInt16; external name '_PrDrvrVers';
  722. {
  723. * PrLoadDriver()
  724. *
  725. * Availability:
  726. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  727. * CarbonLib: not available
  728. * Mac OS X: not available
  729. }
  730. function PrLoadDriver: SInt16; external name '_PrLoadDriver';
  731. {$endc} {CALL_NOT_IN_CARBON}
  732. {$ALIGN MAC68K}
  733. end.