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

866 lines
27 KiB

  1. /*
  2. File: Printing.h
  3. Contains: Print Manager Interfaces.
  4. Version: Technology: System 7.5
  5. Release: QuickTime 7.3
  6. Copyright: (c) 2007 (c) 1985-1999 by Apple Computer, Inc., all rights reserved
  7. Bugs?: For bug reports, consult the following page on
  8. the World Wide Web:
  9. http://developer.apple.com/bugreporter/
  10. */
  11. #ifndef __PRINTING__
  12. #define __PRINTING__
  13. #ifndef __MACERRORS__
  14. #include <MacErrors.h>
  15. #endif
  16. #ifndef __QUICKDRAW__
  17. #include <Quickdraw.h>
  18. #endif
  19. #ifndef __DIALOGS__
  20. #include <Dialogs.h>
  21. #endif
  22. #if PRAGMA_ONCE
  23. #pragma once
  24. #endif
  25. #ifdef __cplusplus
  26. extern "C" {
  27. #endif
  28. #if PRAGMA_IMPORT
  29. #pragma import on
  30. #endif
  31. #if PRAGMA_STRUCT_ALIGN
  32. #pragma options align=mac68k
  33. #elif PRAGMA_STRUCT_PACKPUSH
  34. #pragma pack(push, 2)
  35. #elif PRAGMA_STRUCT_PACK
  36. #pragma pack(2)
  37. #endif
  38. enum {
  39. kFirstPageMin = 1, /* min value for first page */
  40. kLastPageMax = 32767 /* max value for last page */
  41. };
  42. enum {
  43. iPFMaxPgs = 128,
  44. iPrPgFract = 120, /*Page scale factor. ptPgSize (below) is in units of 1/iPrPgFract*/
  45. iPrPgFst = 1, /*Page range constants*/
  46. iPrPgMax = 9999,
  47. iPrRelease = 3, /*Current version number of the code.*/
  48. iPrSavPFil = -1,
  49. iPrAbort = 0x0080,
  50. iPrDevCtl = 7, /*The PrDevCtl Proc's ctl number*/
  51. lPrReset = 0x00010000, /*The PrDevCtl Proc's CParam for reset*/
  52. lPrLineFeed = 0x00030000,
  53. lPrLFStd = 0x0003FFFF, /*The PrDevCtl Proc's CParam for std paper advance*/
  54. lPrLFSixth = 0x0003FFFF,
  55. lPrPageEnd = 0x00020000, /*The PrDevCtl Proc's CParam for end page*/
  56. lPrDocOpen = 0x00010000,
  57. lPrPageOpen = 0x00040000,
  58. lPrPageClose = 0x00020000,
  59. lPrDocClose = 0x00050000,
  60. iFMgrCtl = 8, /*The FMgr's Tail-hook Proc's ctl number*/
  61. iMscCtl = 9, /*The FMgr's Tail-hook Proc's ctl number*/
  62. iPvtCtl = 10 /*The FMgr's Tail-hook Proc's ctl number*/
  63. };
  64. #define sPrDrvr ".Print"
  65. /* Error Codes moved to Errors.(hap) */
  66. enum {
  67. pPrGlobals = 0x00000944, /*The PrVars lo mem area:*/
  68. bDraftLoop = 0,
  69. bSpoolLoop = 1,
  70. bUser1Loop = 2,
  71. bUser2Loop = 3,
  72. fNewRunBit = 2,
  73. fHiResOK = 3,
  74. fWeOpenedRF = 4, /*Driver constants */
  75. iPrBitsCtl = 4,
  76. lScreenBits = 0,
  77. lPaintBits = 1,
  78. lHiScreenBits = 0x00000002, /*The Bitmap Print Proc's Screen Bitmap param*/
  79. lHiPaintBits = 0x00000003, /*The Bitmap Print Proc's Paint [sq pix] param*/
  80. iPrIOCtl = 5,
  81. iPrEvtCtl = 6, /*The PrEvent Proc's ctl number*/
  82. lPrEvtAll = 0x0002FFFD, /*The PrEvent Proc's CParam for the entire screen*/
  83. lPrEvtTop = 0x0001FFFD, /*The PrEvent Proc's CParam for the top folder*/
  84. iPrDrvrRef = -3
  85. };
  86. enum {
  87. getRslDataOp = 4,
  88. setRslOp = 5,
  89. draftBitsOp = 6,
  90. noDraftBitsOp = 7,
  91. getRotnOp = 8,
  92. NoSuchRsl = 1,
  93. OpNotImpl = 2, /*the driver doesn't support this opcode*/
  94. RgType1 = 1
  95. };
  96. enum {
  97. feedCut = 0,
  98. feedFanfold = 1,
  99. feedMechCut = 2,
  100. feedOther = 3
  101. };
  102. typedef SInt8 TFeed;
  103. enum {
  104. scanTB = 0,
  105. scanBT = 1,
  106. scanLR = 2,
  107. scanRL = 3
  108. };
  109. typedef SInt8 TScan;
  110. /* A Rect Ptr */
  111. typedef Rect * TPRect;
  112. typedef CALLBACK_API( void , PrIdleProcPtr )(void);
  113. typedef CALLBACK_API( void , PItemProcPtr )(DialogPtr theDialog, short item);
  114. typedef STACK_UPP_TYPE(PrIdleProcPtr) PrIdleUPP;
  115. typedef STACK_UPP_TYPE(PItemProcPtr) PItemUPP;
  116. #if CALL_NOT_IN_CARBON
  117. /*
  118. * NewPrIdleUPP()
  119. *
  120. * Availability:
  121. * Non-Carbon CFM: available as macro/inline
  122. * CarbonLib: not available
  123. * Mac OS X: not available
  124. */
  125. EXTERN_API_C( PrIdleUPP )
  126. NewPrIdleUPP(PrIdleProcPtr userRoutine);
  127. #if !OPAQUE_UPP_TYPES
  128. enum { uppPrIdleProcInfo = 0x00000000 }; /* pascal no_return_value Func() */
  129. #ifdef __cplusplus
  130. inline DEFINE_API_C(PrIdleUPP) NewPrIdleUPP(PrIdleProcPtr userRoutine) { return (PrIdleUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppPrIdleProcInfo, GetCurrentArchitecture()); }
  131. #else
  132. #define NewPrIdleUPP(userRoutine) (PrIdleUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppPrIdleProcInfo, GetCurrentArchitecture())
  133. #endif
  134. #endif
  135. /*
  136. * NewPItemUPP()
  137. *
  138. * Availability:
  139. * Non-Carbon CFM: available as macro/inline
  140. * CarbonLib: not available
  141. * Mac OS X: not available
  142. */
  143. EXTERN_API_C( PItemUPP )
  144. NewPItemUPP(PItemProcPtr userRoutine);
  145. #if !OPAQUE_UPP_TYPES
  146. enum { uppPItemProcInfo = 0x000002C0 }; /* pascal no_return_value Func(4_bytes, 2_bytes) */
  147. #ifdef __cplusplus
  148. inline DEFINE_API_C(PItemUPP) NewPItemUPP(PItemProcPtr userRoutine) { return (PItemUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppPItemProcInfo, GetCurrentArchitecture()); }
  149. #else
  150. #define NewPItemUPP(userRoutine) (PItemUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppPItemProcInfo, GetCurrentArchitecture())
  151. #endif
  152. #endif
  153. /*
  154. * DisposePrIdleUPP()
  155. *
  156. * Availability:
  157. * Non-Carbon CFM: available as macro/inline
  158. * CarbonLib: not available
  159. * Mac OS X: not available
  160. */
  161. EXTERN_API_C( void )
  162. DisposePrIdleUPP(PrIdleUPP userUPP);
  163. #if !OPAQUE_UPP_TYPES
  164. #ifdef __cplusplus
  165. inline DEFINE_API_C(void) DisposePrIdleUPP(PrIdleUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
  166. #else
  167. #define DisposePrIdleUPP(userUPP) DisposeRoutineDescriptor(userUPP)
  168. #endif
  169. #endif
  170. /*
  171. * DisposePItemUPP()
  172. *
  173. * Availability:
  174. * Non-Carbon CFM: available as macro/inline
  175. * CarbonLib: not available
  176. * Mac OS X: not available
  177. */
  178. EXTERN_API_C( void )
  179. DisposePItemUPP(PItemUPP userUPP);
  180. #if !OPAQUE_UPP_TYPES
  181. #ifdef __cplusplus
  182. inline DEFINE_API_C(void) DisposePItemUPP(PItemUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
  183. #else
  184. #define DisposePItemUPP(userUPP) DisposeRoutineDescriptor(userUPP)
  185. #endif
  186. #endif
  187. /*
  188. * InvokePrIdleUPP()
  189. *
  190. * Availability:
  191. * Non-Carbon CFM: available as macro/inline
  192. * CarbonLib: not available
  193. * Mac OS X: not available
  194. */
  195. EXTERN_API_C( void )
  196. InvokePrIdleUPP(PrIdleUPP userUPP);
  197. #if !OPAQUE_UPP_TYPES
  198. #ifdef __cplusplus
  199. inline DEFINE_API_C(void) InvokePrIdleUPP(PrIdleUPP userUPP) { CALL_ZERO_PARAMETER_UPP(userUPP, uppPrIdleProcInfo); }
  200. #else
  201. #define InvokePrIdleUPP(userUPP) CALL_ZERO_PARAMETER_UPP((userUPP), uppPrIdleProcInfo)
  202. #endif
  203. #endif
  204. /*
  205. * InvokePItemUPP()
  206. *
  207. * Availability:
  208. * Non-Carbon CFM: available as macro/inline
  209. * CarbonLib: not available
  210. * Mac OS X: not available
  211. */
  212. EXTERN_API_C( void )
  213. InvokePItemUPP(
  214. DialogPtr theDialog,
  215. short item,
  216. PItemUPP userUPP);
  217. #if !OPAQUE_UPP_TYPES
  218. #ifdef __cplusplus
  219. inline DEFINE_API_C(void) InvokePItemUPP(DialogPtr theDialog, short item, PItemUPP userUPP) { CALL_TWO_PARAMETER_UPP(userUPP, uppPItemProcInfo, theDialog, item); }
  220. #else
  221. #define InvokePItemUPP(theDialog, item, userUPP) CALL_TWO_PARAMETER_UPP((userUPP), uppPItemProcInfo, (theDialog), (item))
  222. #endif
  223. #endif
  224. #endif /* CALL_NOT_IN_CARBON */
  225. #if CALL_NOT_IN_CARBON || OLDROUTINENAMES
  226. /* support for pre-Carbon UPP routines: New...Proc and Call...Proc */
  227. #define NewPrIdleProc(userRoutine) NewPrIdleUPP(userRoutine)
  228. #define NewPItemProc(userRoutine) NewPItemUPP(userRoutine)
  229. #define CallPrIdleProc(userRoutine) InvokePrIdleUPP(userRoutine)
  230. #define CallPItemProc(userRoutine, theDialog, item) InvokePItemUPP(theDialog, item, userRoutine)
  231. #endif /* CALL_NOT_IN_CARBON */
  232. #if !OPAQUE_TOOLBOX_STRUCTS
  233. struct TPrPort {
  234. GrafPort gPort; /*The Printer's graf port.*/
  235. QDProcs gProcs; /*..and its procs*/
  236. long lGParam1; /*16 bytes for private parameter storage.*/
  237. long lGParam2;
  238. long lGParam3;
  239. long lGParam4;
  240. Boolean fOurPtr; /*Whether the PrPort allocation was done by us.*/
  241. Boolean fOurBits; /*Whether the BitMap allocation was done by us.*/
  242. };
  243. typedef struct TPrPort TPrPort;
  244. typedef TPrPort * TPPrPort;
  245. #else
  246. typedef struct OpaqueTPPrPort* TPPrPort;
  247. #endif /* !OPAQUE_TOOLBOX_STRUCTS */
  248. typedef TPPrPort TPPrPortRef;
  249. /* Printing Graf Port. All printer imaging, whether spooling, banding, etc, happens "thru" a GrafPort.
  250. This is the "PrPeek" record. */
  251. struct TPrInfo {
  252. short iDev; /*Font mgr/QuickDraw device code*/
  253. short iVRes; /*Resolution of device, in device coordinates*/
  254. short iHRes; /*..note: V before H => compatable with Point.*/
  255. Rect rPage; /*The page (printable) rectangle in device coordinates.*/
  256. };
  257. typedef struct TPrInfo TPrInfo;
  258. typedef TPrInfo * TPPrInfo;
  259. /* Print Info Record: The parameters needed for page composition. */
  260. struct TPrStl {
  261. short wDev;
  262. short iPageV;
  263. short iPageH;
  264. SInt8 bPort;
  265. TFeed feed;
  266. };
  267. typedef struct TPrStl TPrStl;
  268. typedef TPrStl * TPPrStl;
  269. struct TPrXInfo {
  270. short iRowBytes;
  271. short iBandV;
  272. short iBandH;
  273. short iDevBytes;
  274. short iBands;
  275. SInt8 bPatScale;
  276. SInt8 bUlThick;
  277. SInt8 bUlOffset;
  278. SInt8 bUlShadow;
  279. TScan scan;
  280. SInt8 bXInfoX;
  281. };
  282. typedef struct TPrXInfo TPrXInfo;
  283. typedef TPrXInfo * TPPrXInfo;
  284. struct TPrJob {
  285. short iFstPage; /*Page Range.*/
  286. short iLstPage;
  287. short iCopies; /*No. copies.*/
  288. SInt8 bJDocLoop; /*The Doc style: Draft, Spool, .., and ..*/
  289. Boolean fFromUsr; /*Printing from an User's App (not PrApp) flag*/
  290. PrIdleUPP pIdleProc; /*The Proc called while waiting on IO etc.*/
  291. StringPtr pFileName; /*Spool File Name: NIL for default.*/
  292. short iFileVol; /*Spool File vol, set to 0 initially*/
  293. SInt8 bFileVers; /*Spool File version, set to 0 initially*/
  294. SInt8 bJobX; /*An eXtra byte.*/
  295. };
  296. typedef struct TPrJob TPrJob;
  297. typedef TPrJob * TPPrJob;
  298. /* Print Job: Print "form" for a single print request. */
  299. struct TPrint {
  300. short iPrVersion; /*(2) Printing software version*/
  301. TPrInfo prInfo; /*(14) the PrInfo data associated with the current style.*/
  302. Rect rPaper; /*(8) The paper rectangle [offset from rPage]*/
  303. TPrStl prStl; /*(8) This print request's style.*/
  304. TPrInfo prInfoPT; /*(14) Print Time Imaging metrics*/
  305. TPrXInfo prXInfo; /*(16) Print-time (expanded) Print info record.*/
  306. TPrJob prJob; /*(20) The Print Job request (82) Total of the above; 120-82 = 38 bytes needed to fill 120*/
  307. short printX[19]; /*Spare to fill to 120 bytes!*/
  308. };
  309. typedef struct TPrint TPrint;
  310. typedef TPrint * TPPrint;
  311. typedef TPPrint * THPrint;
  312. struct TPrStatus {
  313. short iTotPages; /*Total pages in Print File.*/
  314. short iCurPage; /*Current page number*/
  315. short iTotCopies; /*Total copies requested*/
  316. short iCurCopy; /*Current copy number*/
  317. short iTotBands; /*Total bands per page.*/
  318. short iCurBand; /*Current band number*/
  319. Boolean fPgDirty; /*True if current page has been written to.*/
  320. Boolean fImaging; /*Set while in band's DrawPic call.*/
  321. THPrint hPrint; /*Handle to the active Printer record*/
  322. TPPrPort pPrPort; /*Ptr to the active PrPort*/
  323. PicHandle hPic; /*Handle to the active Picture*/
  324. };
  325. typedef struct TPrStatus TPrStatus;
  326. typedef TPrStatus * TPPrStatus;
  327. typedef TPPrStatus TPPrStatusRef;
  328. /* Print Status: Print information during printing. */
  329. struct TPfPgDir {
  330. short iPages;
  331. long iPgPos[129]; /*ARRAY [0..iPfMaxPgs] OF LONGINT*/
  332. };
  333. typedef struct TPfPgDir TPfPgDir;
  334. typedef TPfPgDir * TPPfPgDir;
  335. typedef TPPfPgDir * THPfPgDir;
  336. /* PicFile = a TPfHeader followed by n QuickDraw Pics (whose PicSize is invalid!) */
  337. /* This is the Printing Dialog Record. Only used by folks appending their own
  338. DITLs to the print dialogs. Print Dialog: The Dialog Stream object. */
  339. #if !OPAQUE_TOOLBOX_STRUCTS
  340. struct TPrDlg {
  341. DialogRecord Dlg; /*The Dialog window*/
  342. ModalFilterUPP pFltrProc; /*The Filter Proc.*/
  343. PItemUPP pItemProc; /*The Item evaluating proc.*/
  344. THPrint hPrintUsr; /*The user's print record.*/
  345. Boolean fDoIt;
  346. Boolean fDone;
  347. long lUser1; /*Four longs for apps to hang global data.*/
  348. long lUser2; /*Plus more stuff needed by the particular*/
  349. long lUser3; /*printing dialog.*/
  350. long lUser4;
  351. };
  352. typedef struct TPrDlg TPrDlg;
  353. typedef TPrDlg * TPPrDlg;
  354. #else
  355. typedef struct OpaqueTPPrDlg* TPPrDlg;
  356. #endif /* !OPAQUE_TOOLBOX_STRUCTS */
  357. typedef TPPrDlg TPPrDlgRef;
  358. typedef CALLBACK_API( TPPrDlgRef , PDlgInitProcPtr )(THPrint hPrint);
  359. typedef STACK_UPP_TYPE(PDlgInitProcPtr) PDlgInitUPP;
  360. #if CALL_NOT_IN_CARBON
  361. /*
  362. * NewPDlgInitUPP()
  363. *
  364. * Availability:
  365. * Non-Carbon CFM: available as macro/inline
  366. * CarbonLib: not available
  367. * Mac OS X: not available
  368. */
  369. EXTERN_API_C( PDlgInitUPP )
  370. NewPDlgInitUPP(PDlgInitProcPtr userRoutine);
  371. #if !OPAQUE_UPP_TYPES
  372. enum { uppPDlgInitProcInfo = 0x000000F0 }; /* pascal 4_bytes Func(4_bytes) */
  373. #ifdef __cplusplus
  374. inline DEFINE_API_C(PDlgInitUPP) NewPDlgInitUPP(PDlgInitProcPtr userRoutine) { return (PDlgInitUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppPDlgInitProcInfo, GetCurrentArchitecture()); }
  375. #else
  376. #define NewPDlgInitUPP(userRoutine) (PDlgInitUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppPDlgInitProcInfo, GetCurrentArchitecture())
  377. #endif
  378. #endif
  379. /*
  380. * DisposePDlgInitUPP()
  381. *
  382. * Availability:
  383. * Non-Carbon CFM: available as macro/inline
  384. * CarbonLib: not available
  385. * Mac OS X: not available
  386. */
  387. EXTERN_API_C( void )
  388. DisposePDlgInitUPP(PDlgInitUPP userUPP);
  389. #if !OPAQUE_UPP_TYPES
  390. #ifdef __cplusplus
  391. inline DEFINE_API_C(void) DisposePDlgInitUPP(PDlgInitUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
  392. #else
  393. #define DisposePDlgInitUPP(userUPP) DisposeRoutineDescriptor(userUPP)
  394. #endif
  395. #endif
  396. /*
  397. * InvokePDlgInitUPP()
  398. *
  399. * Availability:
  400. * Non-Carbon CFM: available as macro/inline
  401. * CarbonLib: not available
  402. * Mac OS X: not available
  403. */
  404. EXTERN_API_C( TPPrDlgRef )
  405. InvokePDlgInitUPP(
  406. THPrint hPrint,
  407. PDlgInitUPP userUPP);
  408. #if !OPAQUE_UPP_TYPES
  409. #ifdef __cplusplus
  410. inline DEFINE_API_C(TPPrDlgRef) InvokePDlgInitUPP(THPrint hPrint, PDlgInitUPP userUPP) { return (TPPrDlgRef)CALL_ONE_PARAMETER_UPP(userUPP, uppPDlgInitProcInfo, hPrint); }
  411. #else
  412. #define InvokePDlgInitUPP(hPrint, userUPP) (TPPrDlgRef)CALL_ONE_PARAMETER_UPP((userUPP), uppPDlgInitProcInfo, (hPrint))
  413. #endif
  414. #endif
  415. #endif /* CALL_NOT_IN_CARBON */
  416. #if CALL_NOT_IN_CARBON || OLDROUTINENAMES
  417. /* support for pre-Carbon UPP routines: New...Proc and Call...Proc */
  418. #define NewPDlgInitProc(userRoutine) NewPDlgInitUPP(userRoutine)
  419. #define CallPDlgInitProc(userRoutine, hPrint) InvokePDlgInitUPP(hPrint, userRoutine)
  420. #endif /* CALL_NOT_IN_CARBON */
  421. struct TGnlData {
  422. short iOpCode;
  423. short iError;
  424. long lReserved; /*more fields here depending on call*/
  425. };
  426. typedef struct TGnlData TGnlData;
  427. struct TRslRg {
  428. short iMin;
  429. short iMax;
  430. };
  431. typedef struct TRslRg TRslRg;
  432. struct TRslRec {
  433. short iXRsl;
  434. short iYRsl;
  435. };
  436. typedef struct TRslRec TRslRec;
  437. struct TGetRslBlk {
  438. short iOpCode;
  439. short iError;
  440. long lReserved;
  441. short iRgType;
  442. TRslRg xRslRg;
  443. TRslRg yRslRg;
  444. short iRslRecCnt;
  445. TRslRec rgRslRec[27];
  446. };
  447. typedef struct TGetRslBlk TGetRslBlk;
  448. struct TSetRslBlk {
  449. short iOpCode;
  450. short iError;
  451. long lReserved;
  452. THPrint hPrint;
  453. short iXRsl;
  454. short iYRsl;
  455. };
  456. typedef struct TSetRslBlk TSetRslBlk;
  457. struct TDftBitsBlk {
  458. short iOpCode;
  459. short iError;
  460. long lReserved;
  461. THPrint hPrint;
  462. };
  463. typedef struct TDftBitsBlk TDftBitsBlk;
  464. struct TGetRotnBlk {
  465. short iOpCode;
  466. short iError;
  467. long lReserved;
  468. THPrint hPrint;
  469. Boolean fLandscape;
  470. SInt8 bXtra;
  471. };
  472. typedef struct TGetRotnBlk TGetRotnBlk;
  473. #if CALL_NOT_IN_CARBON
  474. /*
  475. * PrPurge()
  476. *
  477. * Availability:
  478. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  479. * CarbonLib: not available
  480. * Mac OS X: not available
  481. */
  482. EXTERN_API( void )
  483. PrPurge(void) FOURWORDINLINE(0x2F3C, 0xA800, 0x0000, 0xA8FD);
  484. /*
  485. * PrNoPurge()
  486. *
  487. * Availability:
  488. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  489. * CarbonLib: not available
  490. * Mac OS X: not available
  491. */
  492. EXTERN_API( void )
  493. PrNoPurge(void) FOURWORDINLINE(0x2F3C, 0xB000, 0x0000, 0xA8FD);
  494. /*
  495. * PrOpen()
  496. *
  497. * Availability:
  498. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  499. * CarbonLib: not available
  500. * Mac OS X: not available
  501. */
  502. EXTERN_API( void )
  503. PrOpen(void) FOURWORDINLINE(0x2F3C, 0xC800, 0x0000, 0xA8FD);
  504. /*
  505. * PrClose()
  506. *
  507. * Availability:
  508. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  509. * CarbonLib: not available
  510. * Mac OS X: not available
  511. */
  512. EXTERN_API( void )
  513. PrClose(void) FOURWORDINLINE(0x2F3C, 0xD000, 0x0000, 0xA8FD);
  514. /*
  515. * PrintDefault()
  516. *
  517. * Availability:
  518. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  519. * CarbonLib: not available
  520. * Mac OS X: not available
  521. */
  522. EXTERN_API( void )
  523. PrintDefault(THPrint hPrint) FOURWORDINLINE(0x2F3C, 0x2004, 0x0480, 0xA8FD);
  524. /*
  525. * PrValidate()
  526. *
  527. * Availability:
  528. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  529. * CarbonLib: not available
  530. * Mac OS X: not available
  531. */
  532. EXTERN_API( Boolean )
  533. PrValidate(THPrint hPrint) FOURWORDINLINE(0x2F3C, 0x5204, 0x0498, 0xA8FD);
  534. /*
  535. * PrStlDialog()
  536. *
  537. * Availability:
  538. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  539. * CarbonLib: not available
  540. * Mac OS X: not available
  541. */
  542. EXTERN_API( Boolean )
  543. PrStlDialog(THPrint hPrint) FOURWORDINLINE(0x2F3C, 0x2A04, 0x0484, 0xA8FD);
  544. /*
  545. * PrJobDialog()
  546. *
  547. * Availability:
  548. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  549. * CarbonLib: not available
  550. * Mac OS X: not available
  551. */
  552. EXTERN_API( Boolean )
  553. PrJobDialog(THPrint hPrint) FOURWORDINLINE(0x2F3C, 0x3204, 0x0488, 0xA8FD);
  554. /*
  555. * PrStlInit()
  556. *
  557. * Availability:
  558. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  559. * CarbonLib: not available
  560. * Mac OS X: not available
  561. */
  562. EXTERN_API( TPPrDlgRef )
  563. PrStlInit(THPrint hPrint) FOURWORDINLINE(0x2F3C, 0x3C04, 0x040C, 0xA8FD);
  564. /*
  565. * PrJobInit()
  566. *
  567. * Availability:
  568. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  569. * CarbonLib: not available
  570. * Mac OS X: not available
  571. */
  572. EXTERN_API( TPPrDlgRef )
  573. PrJobInit(THPrint hPrint) FOURWORDINLINE(0x2F3C, 0x4404, 0x0410, 0xA8FD);
  574. /*
  575. * PrJobMerge()
  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. EXTERN_API( void )
  583. PrJobMerge(
  584. THPrint hPrintSrc,
  585. THPrint hPrintDst) FOURWORDINLINE(0x2F3C, 0x5804, 0x089C, 0xA8FD);
  586. /*
  587. * PrDlgMain()
  588. *
  589. * Availability:
  590. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  591. * CarbonLib: not available
  592. * Mac OS X: not available
  593. */
  594. EXTERN_API( Boolean )
  595. PrDlgMain(
  596. THPrint hPrint,
  597. PDlgInitUPP pDlgInit) FOURWORDINLINE(0x2F3C, 0x4A04, 0x0894, 0xA8FD);
  598. /*
  599. * PrOpenDoc()
  600. *
  601. * Availability:
  602. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  603. * CarbonLib: not available
  604. * Mac OS X: not available
  605. */
  606. EXTERN_API( TPPrPort )
  607. PrOpenDoc(
  608. THPrint hPrint,
  609. TPPrPort pPrPort, /* can be NULL */
  610. Ptr pIOBuf) FOURWORDINLINE(0x2F3C, 0x0400, 0x0C00, 0xA8FD);
  611. /*
  612. * PrCloseDoc()
  613. *
  614. * Availability:
  615. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  616. * CarbonLib: not available
  617. * Mac OS X: not available
  618. */
  619. EXTERN_API( void )
  620. PrCloseDoc(TPPrPort pPrPort) FOURWORDINLINE(0x2F3C, 0x0800, 0x0484, 0xA8FD);
  621. /*
  622. * PrOpenPage()
  623. *
  624. * Availability:
  625. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  626. * CarbonLib: not available
  627. * Mac OS X: not available
  628. */
  629. EXTERN_API( void )
  630. PrOpenPage(
  631. TPPrPort pPrPort,
  632. TPRect pPageFrame) FOURWORDINLINE(0x2F3C, 0x1000, 0x0808, 0xA8FD);
  633. /*
  634. * PrClosePage()
  635. *
  636. * Availability:
  637. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  638. * CarbonLib: not available
  639. * Mac OS X: not available
  640. */
  641. EXTERN_API( void )
  642. PrClosePage(TPPrPort pPrPort) FOURWORDINLINE(0x2F3C, 0x1800, 0x040C, 0xA8FD);
  643. /*
  644. * PrPicFile()
  645. *
  646. * Availability:
  647. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  648. * CarbonLib: not available
  649. * Mac OS X: not available
  650. */
  651. EXTERN_API( void )
  652. PrPicFile(
  653. THPrint hPrint,
  654. TPPrPort pPrPort,
  655. Ptr pIOBuf,
  656. Ptr pDevBuf,
  657. TPPrStatus prStatus) FOURWORDINLINE(0x2F3C, 0x6005, 0x1480, 0xA8FD);
  658. /*
  659. * PrError()
  660. *
  661. * Availability:
  662. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  663. * CarbonLib: not available
  664. * Mac OS X: not available
  665. */
  666. EXTERN_API( short )
  667. PrError(void) FOURWORDINLINE(0x2F3C, 0xBA00, 0x0000, 0xA8FD);
  668. /*
  669. * PrSetError()
  670. *
  671. * Availability:
  672. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  673. * CarbonLib: not available
  674. * Mac OS X: not available
  675. */
  676. EXTERN_API( void )
  677. PrSetError(short iErr) FOURWORDINLINE(0x2F3C, 0xC000, 0x0200, 0xA8FD);
  678. /*
  679. * PrGeneral()
  680. *
  681. * Availability:
  682. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  683. * CarbonLib: not available
  684. * Mac OS X: not available
  685. */
  686. EXTERN_API( void )
  687. PrGeneral(Ptr pData) FOURWORDINLINE(0x2F3C, 0x7007, 0x0480, 0xA8FD);
  688. /*
  689. * PrDrvrOpen()
  690. *
  691. * Availability:
  692. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  693. * CarbonLib: not available
  694. * Mac OS X: not available
  695. */
  696. EXTERN_API( void )
  697. PrDrvrOpen(void) FOURWORDINLINE(0x2F3C, 0x8000, 0x0000, 0xA8FD);
  698. /*
  699. * PrDrvrClose()
  700. *
  701. * Availability:
  702. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  703. * CarbonLib: not available
  704. * Mac OS X: not available
  705. */
  706. EXTERN_API( void )
  707. PrDrvrClose(void) FOURWORDINLINE(0x2F3C, 0x8800, 0x0000, 0xA8FD);
  708. /*
  709. * PrCtlCall()
  710. *
  711. * Availability:
  712. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  713. * CarbonLib: not available
  714. * Mac OS X: not available
  715. */
  716. EXTERN_API( void )
  717. PrCtlCall(
  718. short iWhichCtl,
  719. long lParam1,
  720. long lParam2,
  721. long lParam3) FOURWORDINLINE(0x2F3C, 0xA000, 0x0E00, 0xA8FD);
  722. /*
  723. * PrDrvrDCE()
  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. EXTERN_API( Handle )
  731. PrDrvrDCE(void) FOURWORDINLINE(0x2F3C, 0x9400, 0x0000, 0xA8FD);
  732. /*
  733. * PrDrvrVers()
  734. *
  735. * Availability:
  736. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  737. * CarbonLib: not available
  738. * Mac OS X: not available
  739. */
  740. EXTERN_API( short )
  741. PrDrvrVers(void) FOURWORDINLINE(0x2F3C, 0x9A00, 0x0000, 0xA8FD);
  742. /*
  743. * PrLoadDriver()
  744. *
  745. * Availability:
  746. * Non-Carbon CFM: not available
  747. * CarbonLib: not available
  748. * Mac OS X: not available
  749. */
  750. EXTERN_API( short )
  751. PrLoadDriver(void) FOURWORDINLINE(0x2F3C, 0xD800, 0x0000, 0xA8FD);
  752. #endif /* CALL_NOT_IN_CARBON */
  753. #if PRAGMA_STRUCT_ALIGN
  754. #pragma options align=reset
  755. #elif PRAGMA_STRUCT_PACKPUSH
  756. #pragma pack(pop)
  757. #elif PRAGMA_STRUCT_PACK
  758. #pragma pack()
  759. #endif
  760. #ifdef PRAGMA_IMPORT_OFF
  761. #pragma import off
  762. #elif PRAGMA_IMPORT
  763. #pragma import reset
  764. #endif
  765. #ifdef __cplusplus
  766. }
  767. #endif
  768. #endif /* __PRINTING__ */