mirror of
https://github.com/nillerusr/source-engine.git
synced 2024-12-22 14:16:50 +00:00
867 lines
27 KiB
C
867 lines
27 KiB
C
|
/*
|
||
|
File: Printing.h
|
||
|
|
||
|
Contains: Print Manager Interfaces.
|
||
|
|
||
|
Version: Technology: System 7.5
|
||
|
Release: QuickTime 7.3
|
||
|
|
||
|
Copyright: (c) 2007 (c) 1985-1999 by Apple Computer, Inc., all rights reserved
|
||
|
|
||
|
Bugs?: For bug reports, consult the following page on
|
||
|
the World Wide Web:
|
||
|
|
||
|
http://developer.apple.com/bugreporter/
|
||
|
|
||
|
*/
|
||
|
#ifndef __PRINTING__
|
||
|
#define __PRINTING__
|
||
|
|
||
|
#ifndef __MACERRORS__
|
||
|
#include <MacErrors.h>
|
||
|
#endif
|
||
|
|
||
|
#ifndef __QUICKDRAW__
|
||
|
#include <Quickdraw.h>
|
||
|
#endif
|
||
|
|
||
|
#ifndef __DIALOGS__
|
||
|
#include <Dialogs.h>
|
||
|
#endif
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
#if PRAGMA_ONCE
|
||
|
#pragma once
|
||
|
#endif
|
||
|
|
||
|
#ifdef __cplusplus
|
||
|
extern "C" {
|
||
|
#endif
|
||
|
|
||
|
#if PRAGMA_IMPORT
|
||
|
#pragma import on
|
||
|
#endif
|
||
|
|
||
|
#if PRAGMA_STRUCT_ALIGN
|
||
|
#pragma options align=mac68k
|
||
|
#elif PRAGMA_STRUCT_PACKPUSH
|
||
|
#pragma pack(push, 2)
|
||
|
#elif PRAGMA_STRUCT_PACK
|
||
|
#pragma pack(2)
|
||
|
#endif
|
||
|
|
||
|
enum {
|
||
|
kFirstPageMin = 1, /* min value for first page */
|
||
|
kLastPageMax = 32767 /* max value for last page */
|
||
|
};
|
||
|
|
||
|
enum {
|
||
|
iPFMaxPgs = 128,
|
||
|
iPrPgFract = 120, /*Page scale factor. ptPgSize (below) is in units of 1/iPrPgFract*/
|
||
|
iPrPgFst = 1, /*Page range constants*/
|
||
|
iPrPgMax = 9999,
|
||
|
iPrRelease = 3, /*Current version number of the code.*/
|
||
|
iPrSavPFil = -1,
|
||
|
iPrAbort = 0x0080,
|
||
|
iPrDevCtl = 7, /*The PrDevCtl Proc's ctl number*/
|
||
|
lPrReset = 0x00010000, /*The PrDevCtl Proc's CParam for reset*/
|
||
|
lPrLineFeed = 0x00030000,
|
||
|
lPrLFStd = 0x0003FFFF, /*The PrDevCtl Proc's CParam for std paper advance*/
|
||
|
lPrLFSixth = 0x0003FFFF,
|
||
|
lPrPageEnd = 0x00020000, /*The PrDevCtl Proc's CParam for end page*/
|
||
|
lPrDocOpen = 0x00010000,
|
||
|
lPrPageOpen = 0x00040000,
|
||
|
lPrPageClose = 0x00020000,
|
||
|
lPrDocClose = 0x00050000,
|
||
|
iFMgrCtl = 8, /*The FMgr's Tail-hook Proc's ctl number*/
|
||
|
iMscCtl = 9, /*The FMgr's Tail-hook Proc's ctl number*/
|
||
|
iPvtCtl = 10 /*The FMgr's Tail-hook Proc's ctl number*/
|
||
|
};
|
||
|
|
||
|
#define sPrDrvr ".Print"
|
||
|
/* Error Codes moved to Errors.(hap) */
|
||
|
enum {
|
||
|
pPrGlobals = 0x00000944, /*The PrVars lo mem area:*/
|
||
|
bDraftLoop = 0,
|
||
|
bSpoolLoop = 1,
|
||
|
bUser1Loop = 2,
|
||
|
bUser2Loop = 3,
|
||
|
fNewRunBit = 2,
|
||
|
fHiResOK = 3,
|
||
|
fWeOpenedRF = 4, /*Driver constants */
|
||
|
iPrBitsCtl = 4,
|
||
|
lScreenBits = 0,
|
||
|
lPaintBits = 1,
|
||
|
lHiScreenBits = 0x00000002, /*The Bitmap Print Proc's Screen Bitmap param*/
|
||
|
lHiPaintBits = 0x00000003, /*The Bitmap Print Proc's Paint [sq pix] param*/
|
||
|
iPrIOCtl = 5,
|
||
|
iPrEvtCtl = 6, /*The PrEvent Proc's ctl number*/
|
||
|
lPrEvtAll = 0x0002FFFD, /*The PrEvent Proc's CParam for the entire screen*/
|
||
|
lPrEvtTop = 0x0001FFFD, /*The PrEvent Proc's CParam for the top folder*/
|
||
|
iPrDrvrRef = -3
|
||
|
};
|
||
|
|
||
|
enum {
|
||
|
getRslDataOp = 4,
|
||
|
setRslOp = 5,
|
||
|
draftBitsOp = 6,
|
||
|
noDraftBitsOp = 7,
|
||
|
getRotnOp = 8,
|
||
|
NoSuchRsl = 1,
|
||
|
OpNotImpl = 2, /*the driver doesn't support this opcode*/
|
||
|
RgType1 = 1
|
||
|
};
|
||
|
|
||
|
enum {
|
||
|
feedCut = 0,
|
||
|
feedFanfold = 1,
|
||
|
feedMechCut = 2,
|
||
|
feedOther = 3
|
||
|
};
|
||
|
|
||
|
typedef SInt8 TFeed;
|
||
|
enum {
|
||
|
scanTB = 0,
|
||
|
scanBT = 1,
|
||
|
scanLR = 2,
|
||
|
scanRL = 3
|
||
|
};
|
||
|
|
||
|
typedef SInt8 TScan;
|
||
|
/* A Rect Ptr */
|
||
|
typedef Rect * TPRect;
|
||
|
typedef CALLBACK_API( void , PrIdleProcPtr )(void);
|
||
|
typedef CALLBACK_API( void , PItemProcPtr )(DialogPtr theDialog, short item);
|
||
|
typedef STACK_UPP_TYPE(PrIdleProcPtr) PrIdleUPP;
|
||
|
typedef STACK_UPP_TYPE(PItemProcPtr) PItemUPP;
|
||
|
#if CALL_NOT_IN_CARBON
|
||
|
/*
|
||
|
* NewPrIdleUPP()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: available as macro/inline
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API_C( PrIdleUPP )
|
||
|
NewPrIdleUPP(PrIdleProcPtr userRoutine);
|
||
|
#if !OPAQUE_UPP_TYPES
|
||
|
enum { uppPrIdleProcInfo = 0x00000000 }; /* pascal no_return_value Func() */
|
||
|
#ifdef __cplusplus
|
||
|
inline DEFINE_API_C(PrIdleUPP) NewPrIdleUPP(PrIdleProcPtr userRoutine) { return (PrIdleUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppPrIdleProcInfo, GetCurrentArchitecture()); }
|
||
|
#else
|
||
|
#define NewPrIdleUPP(userRoutine) (PrIdleUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppPrIdleProcInfo, GetCurrentArchitecture())
|
||
|
#endif
|
||
|
#endif
|
||
|
|
||
|
/*
|
||
|
* NewPItemUPP()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: available as macro/inline
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API_C( PItemUPP )
|
||
|
NewPItemUPP(PItemProcPtr userRoutine);
|
||
|
#if !OPAQUE_UPP_TYPES
|
||
|
enum { uppPItemProcInfo = 0x000002C0 }; /* pascal no_return_value Func(4_bytes, 2_bytes) */
|
||
|
#ifdef __cplusplus
|
||
|
inline DEFINE_API_C(PItemUPP) NewPItemUPP(PItemProcPtr userRoutine) { return (PItemUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppPItemProcInfo, GetCurrentArchitecture()); }
|
||
|
#else
|
||
|
#define NewPItemUPP(userRoutine) (PItemUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppPItemProcInfo, GetCurrentArchitecture())
|
||
|
#endif
|
||
|
#endif
|
||
|
|
||
|
/*
|
||
|
* DisposePrIdleUPP()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: available as macro/inline
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API_C( void )
|
||
|
DisposePrIdleUPP(PrIdleUPP userUPP);
|
||
|
#if !OPAQUE_UPP_TYPES
|
||
|
#ifdef __cplusplus
|
||
|
inline DEFINE_API_C(void) DisposePrIdleUPP(PrIdleUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
|
||
|
#else
|
||
|
#define DisposePrIdleUPP(userUPP) DisposeRoutineDescriptor(userUPP)
|
||
|
#endif
|
||
|
#endif
|
||
|
|
||
|
/*
|
||
|
* DisposePItemUPP()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: available as macro/inline
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API_C( void )
|
||
|
DisposePItemUPP(PItemUPP userUPP);
|
||
|
#if !OPAQUE_UPP_TYPES
|
||
|
#ifdef __cplusplus
|
||
|
inline DEFINE_API_C(void) DisposePItemUPP(PItemUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
|
||
|
#else
|
||
|
#define DisposePItemUPP(userUPP) DisposeRoutineDescriptor(userUPP)
|
||
|
#endif
|
||
|
#endif
|
||
|
|
||
|
/*
|
||
|
* InvokePrIdleUPP()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: available as macro/inline
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API_C( void )
|
||
|
InvokePrIdleUPP(PrIdleUPP userUPP);
|
||
|
#if !OPAQUE_UPP_TYPES
|
||
|
#ifdef __cplusplus
|
||
|
inline DEFINE_API_C(void) InvokePrIdleUPP(PrIdleUPP userUPP) { CALL_ZERO_PARAMETER_UPP(userUPP, uppPrIdleProcInfo); }
|
||
|
#else
|
||
|
#define InvokePrIdleUPP(userUPP) CALL_ZERO_PARAMETER_UPP((userUPP), uppPrIdleProcInfo)
|
||
|
#endif
|
||
|
#endif
|
||
|
|
||
|
/*
|
||
|
* InvokePItemUPP()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: available as macro/inline
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API_C( void )
|
||
|
InvokePItemUPP(
|
||
|
DialogPtr theDialog,
|
||
|
short item,
|
||
|
PItemUPP userUPP);
|
||
|
#if !OPAQUE_UPP_TYPES
|
||
|
#ifdef __cplusplus
|
||
|
inline DEFINE_API_C(void) InvokePItemUPP(DialogPtr theDialog, short item, PItemUPP userUPP) { CALL_TWO_PARAMETER_UPP(userUPP, uppPItemProcInfo, theDialog, item); }
|
||
|
#else
|
||
|
#define InvokePItemUPP(theDialog, item, userUPP) CALL_TWO_PARAMETER_UPP((userUPP), uppPItemProcInfo, (theDialog), (item))
|
||
|
#endif
|
||
|
#endif
|
||
|
|
||
|
#endif /* CALL_NOT_IN_CARBON */
|
||
|
|
||
|
#if CALL_NOT_IN_CARBON || OLDROUTINENAMES
|
||
|
/* support for pre-Carbon UPP routines: New...Proc and Call...Proc */
|
||
|
#define NewPrIdleProc(userRoutine) NewPrIdleUPP(userRoutine)
|
||
|
#define NewPItemProc(userRoutine) NewPItemUPP(userRoutine)
|
||
|
#define CallPrIdleProc(userRoutine) InvokePrIdleUPP(userRoutine)
|
||
|
#define CallPItemProc(userRoutine, theDialog, item) InvokePItemUPP(theDialog, item, userRoutine)
|
||
|
#endif /* CALL_NOT_IN_CARBON */
|
||
|
|
||
|
#if !OPAQUE_TOOLBOX_STRUCTS
|
||
|
struct TPrPort {
|
||
|
GrafPort gPort; /*The Printer's graf port.*/
|
||
|
QDProcs gProcs; /*..and its procs*/
|
||
|
long lGParam1; /*16 bytes for private parameter storage.*/
|
||
|
long lGParam2;
|
||
|
long lGParam3;
|
||
|
long lGParam4;
|
||
|
Boolean fOurPtr; /*Whether the PrPort allocation was done by us.*/
|
||
|
Boolean fOurBits; /*Whether the BitMap allocation was done by us.*/
|
||
|
};
|
||
|
typedef struct TPrPort TPrPort;
|
||
|
typedef TPrPort * TPPrPort;
|
||
|
#else
|
||
|
typedef struct OpaqueTPPrPort* TPPrPort;
|
||
|
#endif /* !OPAQUE_TOOLBOX_STRUCTS */
|
||
|
|
||
|
typedef TPPrPort TPPrPortRef;
|
||
|
/* Printing Graf Port. All printer imaging, whether spooling, banding, etc, happens "thru" a GrafPort.
|
||
|
This is the "PrPeek" record. */
|
||
|
struct TPrInfo {
|
||
|
short iDev; /*Font mgr/QuickDraw device code*/
|
||
|
short iVRes; /*Resolution of device, in device coordinates*/
|
||
|
short iHRes; /*..note: V before H => compatable with Point.*/
|
||
|
Rect rPage; /*The page (printable) rectangle in device coordinates.*/
|
||
|
};
|
||
|
typedef struct TPrInfo TPrInfo;
|
||
|
typedef TPrInfo * TPPrInfo;
|
||
|
/* Print Info Record: The parameters needed for page composition. */
|
||
|
struct TPrStl {
|
||
|
short wDev;
|
||
|
short iPageV;
|
||
|
short iPageH;
|
||
|
SInt8 bPort;
|
||
|
TFeed feed;
|
||
|
};
|
||
|
typedef struct TPrStl TPrStl;
|
||
|
typedef TPrStl * TPPrStl;
|
||
|
struct TPrXInfo {
|
||
|
short iRowBytes;
|
||
|
short iBandV;
|
||
|
short iBandH;
|
||
|
short iDevBytes;
|
||
|
short iBands;
|
||
|
SInt8 bPatScale;
|
||
|
SInt8 bUlThick;
|
||
|
SInt8 bUlOffset;
|
||
|
SInt8 bUlShadow;
|
||
|
TScan scan;
|
||
|
SInt8 bXInfoX;
|
||
|
};
|
||
|
typedef struct TPrXInfo TPrXInfo;
|
||
|
typedef TPrXInfo * TPPrXInfo;
|
||
|
struct TPrJob {
|
||
|
short iFstPage; /*Page Range.*/
|
||
|
short iLstPage;
|
||
|
short iCopies; /*No. copies.*/
|
||
|
SInt8 bJDocLoop; /*The Doc style: Draft, Spool, .., and ..*/
|
||
|
Boolean fFromUsr; /*Printing from an User's App (not PrApp) flag*/
|
||
|
PrIdleUPP pIdleProc; /*The Proc called while waiting on IO etc.*/
|
||
|
StringPtr pFileName; /*Spool File Name: NIL for default.*/
|
||
|
short iFileVol; /*Spool File vol, set to 0 initially*/
|
||
|
SInt8 bFileVers; /*Spool File version, set to 0 initially*/
|
||
|
SInt8 bJobX; /*An eXtra byte.*/
|
||
|
};
|
||
|
typedef struct TPrJob TPrJob;
|
||
|
typedef TPrJob * TPPrJob;
|
||
|
/* Print Job: Print "form" for a single print request. */
|
||
|
struct TPrint {
|
||
|
short iPrVersion; /*(2) Printing software version*/
|
||
|
TPrInfo prInfo; /*(14) the PrInfo data associated with the current style.*/
|
||
|
Rect rPaper; /*(8) The paper rectangle [offset from rPage]*/
|
||
|
TPrStl prStl; /*(8) This print request's style.*/
|
||
|
TPrInfo prInfoPT; /*(14) Print Time Imaging metrics*/
|
||
|
TPrXInfo prXInfo; /*(16) Print-time (expanded) Print info record.*/
|
||
|
TPrJob prJob; /*(20) The Print Job request (82) Total of the above; 120-82 = 38 bytes needed to fill 120*/
|
||
|
short printX[19]; /*Spare to fill to 120 bytes!*/
|
||
|
};
|
||
|
typedef struct TPrint TPrint;
|
||
|
typedef TPrint * TPPrint;
|
||
|
typedef TPPrint * THPrint;
|
||
|
struct TPrStatus {
|
||
|
short iTotPages; /*Total pages in Print File.*/
|
||
|
short iCurPage; /*Current page number*/
|
||
|
short iTotCopies; /*Total copies requested*/
|
||
|
short iCurCopy; /*Current copy number*/
|
||
|
short iTotBands; /*Total bands per page.*/
|
||
|
short iCurBand; /*Current band number*/
|
||
|
Boolean fPgDirty; /*True if current page has been written to.*/
|
||
|
Boolean fImaging; /*Set while in band's DrawPic call.*/
|
||
|
THPrint hPrint; /*Handle to the active Printer record*/
|
||
|
TPPrPort pPrPort; /*Ptr to the active PrPort*/
|
||
|
PicHandle hPic; /*Handle to the active Picture*/
|
||
|
};
|
||
|
typedef struct TPrStatus TPrStatus;
|
||
|
typedef TPrStatus * TPPrStatus;
|
||
|
typedef TPPrStatus TPPrStatusRef;
|
||
|
|
||
|
/* Print Status: Print information during printing. */
|
||
|
struct TPfPgDir {
|
||
|
short iPages;
|
||
|
long iPgPos[129]; /*ARRAY [0..iPfMaxPgs] OF LONGINT*/
|
||
|
};
|
||
|
typedef struct TPfPgDir TPfPgDir;
|
||
|
typedef TPfPgDir * TPPfPgDir;
|
||
|
typedef TPPfPgDir * THPfPgDir;
|
||
|
/* PicFile = a TPfHeader followed by n QuickDraw Pics (whose PicSize is invalid!) */
|
||
|
/* This is the Printing Dialog Record. Only used by folks appending their own
|
||
|
DITLs to the print dialogs. Print Dialog: The Dialog Stream object. */
|
||
|
#if !OPAQUE_TOOLBOX_STRUCTS
|
||
|
struct TPrDlg {
|
||
|
DialogRecord Dlg; /*The Dialog window*/
|
||
|
ModalFilterUPP pFltrProc; /*The Filter Proc.*/
|
||
|
PItemUPP pItemProc; /*The Item evaluating proc.*/
|
||
|
THPrint hPrintUsr; /*The user's print record.*/
|
||
|
Boolean fDoIt;
|
||
|
Boolean fDone;
|
||
|
long lUser1; /*Four longs for apps to hang global data.*/
|
||
|
long lUser2; /*Plus more stuff needed by the particular*/
|
||
|
long lUser3; /*printing dialog.*/
|
||
|
long lUser4;
|
||
|
};
|
||
|
typedef struct TPrDlg TPrDlg;
|
||
|
typedef TPrDlg * TPPrDlg;
|
||
|
#else
|
||
|
typedef struct OpaqueTPPrDlg* TPPrDlg;
|
||
|
#endif /* !OPAQUE_TOOLBOX_STRUCTS */
|
||
|
|
||
|
typedef TPPrDlg TPPrDlgRef;
|
||
|
typedef CALLBACK_API( TPPrDlgRef , PDlgInitProcPtr )(THPrint hPrint);
|
||
|
typedef STACK_UPP_TYPE(PDlgInitProcPtr) PDlgInitUPP;
|
||
|
#if CALL_NOT_IN_CARBON
|
||
|
/*
|
||
|
* NewPDlgInitUPP()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: available as macro/inline
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API_C( PDlgInitUPP )
|
||
|
NewPDlgInitUPP(PDlgInitProcPtr userRoutine);
|
||
|
#if !OPAQUE_UPP_TYPES
|
||
|
enum { uppPDlgInitProcInfo = 0x000000F0 }; /* pascal 4_bytes Func(4_bytes) */
|
||
|
#ifdef __cplusplus
|
||
|
inline DEFINE_API_C(PDlgInitUPP) NewPDlgInitUPP(PDlgInitProcPtr userRoutine) { return (PDlgInitUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppPDlgInitProcInfo, GetCurrentArchitecture()); }
|
||
|
#else
|
||
|
#define NewPDlgInitUPP(userRoutine) (PDlgInitUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppPDlgInitProcInfo, GetCurrentArchitecture())
|
||
|
#endif
|
||
|
#endif
|
||
|
|
||
|
/*
|
||
|
* DisposePDlgInitUPP()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: available as macro/inline
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API_C( void )
|
||
|
DisposePDlgInitUPP(PDlgInitUPP userUPP);
|
||
|
#if !OPAQUE_UPP_TYPES
|
||
|
#ifdef __cplusplus
|
||
|
inline DEFINE_API_C(void) DisposePDlgInitUPP(PDlgInitUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
|
||
|
#else
|
||
|
#define DisposePDlgInitUPP(userUPP) DisposeRoutineDescriptor(userUPP)
|
||
|
#endif
|
||
|
#endif
|
||
|
|
||
|
/*
|
||
|
* InvokePDlgInitUPP()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: available as macro/inline
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API_C( TPPrDlgRef )
|
||
|
InvokePDlgInitUPP(
|
||
|
THPrint hPrint,
|
||
|
PDlgInitUPP userUPP);
|
||
|
#if !OPAQUE_UPP_TYPES
|
||
|
#ifdef __cplusplus
|
||
|
inline DEFINE_API_C(TPPrDlgRef) InvokePDlgInitUPP(THPrint hPrint, PDlgInitUPP userUPP) { return (TPPrDlgRef)CALL_ONE_PARAMETER_UPP(userUPP, uppPDlgInitProcInfo, hPrint); }
|
||
|
#else
|
||
|
#define InvokePDlgInitUPP(hPrint, userUPP) (TPPrDlgRef)CALL_ONE_PARAMETER_UPP((userUPP), uppPDlgInitProcInfo, (hPrint))
|
||
|
#endif
|
||
|
#endif
|
||
|
|
||
|
#endif /* CALL_NOT_IN_CARBON */
|
||
|
|
||
|
#if CALL_NOT_IN_CARBON || OLDROUTINENAMES
|
||
|
/* support for pre-Carbon UPP routines: New...Proc and Call...Proc */
|
||
|
#define NewPDlgInitProc(userRoutine) NewPDlgInitUPP(userRoutine)
|
||
|
#define CallPDlgInitProc(userRoutine, hPrint) InvokePDlgInitUPP(hPrint, userRoutine)
|
||
|
#endif /* CALL_NOT_IN_CARBON */
|
||
|
|
||
|
struct TGnlData {
|
||
|
short iOpCode;
|
||
|
short iError;
|
||
|
long lReserved; /*more fields here depending on call*/
|
||
|
};
|
||
|
typedef struct TGnlData TGnlData;
|
||
|
struct TRslRg {
|
||
|
short iMin;
|
||
|
short iMax;
|
||
|
};
|
||
|
typedef struct TRslRg TRslRg;
|
||
|
struct TRslRec {
|
||
|
short iXRsl;
|
||
|
short iYRsl;
|
||
|
};
|
||
|
typedef struct TRslRec TRslRec;
|
||
|
struct TGetRslBlk {
|
||
|
short iOpCode;
|
||
|
short iError;
|
||
|
long lReserved;
|
||
|
short iRgType;
|
||
|
TRslRg xRslRg;
|
||
|
TRslRg yRslRg;
|
||
|
short iRslRecCnt;
|
||
|
TRslRec rgRslRec[27];
|
||
|
};
|
||
|
typedef struct TGetRslBlk TGetRslBlk;
|
||
|
struct TSetRslBlk {
|
||
|
short iOpCode;
|
||
|
short iError;
|
||
|
long lReserved;
|
||
|
THPrint hPrint;
|
||
|
short iXRsl;
|
||
|
short iYRsl;
|
||
|
};
|
||
|
typedef struct TSetRslBlk TSetRslBlk;
|
||
|
struct TDftBitsBlk {
|
||
|
short iOpCode;
|
||
|
short iError;
|
||
|
long lReserved;
|
||
|
THPrint hPrint;
|
||
|
};
|
||
|
typedef struct TDftBitsBlk TDftBitsBlk;
|
||
|
struct TGetRotnBlk {
|
||
|
short iOpCode;
|
||
|
short iError;
|
||
|
long lReserved;
|
||
|
THPrint hPrint;
|
||
|
Boolean fLandscape;
|
||
|
SInt8 bXtra;
|
||
|
};
|
||
|
typedef struct TGetRotnBlk TGetRotnBlk;
|
||
|
#if CALL_NOT_IN_CARBON
|
||
|
/*
|
||
|
* PrPurge()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in InterfaceLib 7.1 and later
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API( void )
|
||
|
PrPurge(void) FOURWORDINLINE(0x2F3C, 0xA800, 0x0000, 0xA8FD);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* PrNoPurge()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in InterfaceLib 7.1 and later
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API( void )
|
||
|
PrNoPurge(void) FOURWORDINLINE(0x2F3C, 0xB000, 0x0000, 0xA8FD);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* PrOpen()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in InterfaceLib 7.1 and later
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API( void )
|
||
|
PrOpen(void) FOURWORDINLINE(0x2F3C, 0xC800, 0x0000, 0xA8FD);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* PrClose()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in InterfaceLib 7.1 and later
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API( void )
|
||
|
PrClose(void) FOURWORDINLINE(0x2F3C, 0xD000, 0x0000, 0xA8FD);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* PrintDefault()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in InterfaceLib 7.1 and later
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API( void )
|
||
|
PrintDefault(THPrint hPrint) FOURWORDINLINE(0x2F3C, 0x2004, 0x0480, 0xA8FD);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* PrValidate()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in InterfaceLib 7.1 and later
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API( Boolean )
|
||
|
PrValidate(THPrint hPrint) FOURWORDINLINE(0x2F3C, 0x5204, 0x0498, 0xA8FD);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* PrStlDialog()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in InterfaceLib 7.1 and later
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API( Boolean )
|
||
|
PrStlDialog(THPrint hPrint) FOURWORDINLINE(0x2F3C, 0x2A04, 0x0484, 0xA8FD);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* PrJobDialog()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in InterfaceLib 7.1 and later
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API( Boolean )
|
||
|
PrJobDialog(THPrint hPrint) FOURWORDINLINE(0x2F3C, 0x3204, 0x0488, 0xA8FD);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* PrStlInit()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in InterfaceLib 7.1 and later
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API( TPPrDlgRef )
|
||
|
PrStlInit(THPrint hPrint) FOURWORDINLINE(0x2F3C, 0x3C04, 0x040C, 0xA8FD);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* PrJobInit()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in InterfaceLib 7.1 and later
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API( TPPrDlgRef )
|
||
|
PrJobInit(THPrint hPrint) FOURWORDINLINE(0x2F3C, 0x4404, 0x0410, 0xA8FD);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* PrJobMerge()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in InterfaceLib 7.1 and later
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API( void )
|
||
|
PrJobMerge(
|
||
|
THPrint hPrintSrc,
|
||
|
THPrint hPrintDst) FOURWORDINLINE(0x2F3C, 0x5804, 0x089C, 0xA8FD);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* PrDlgMain()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in InterfaceLib 7.1 and later
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API( Boolean )
|
||
|
PrDlgMain(
|
||
|
THPrint hPrint,
|
||
|
PDlgInitUPP pDlgInit) FOURWORDINLINE(0x2F3C, 0x4A04, 0x0894, 0xA8FD);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* PrOpenDoc()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in InterfaceLib 7.1 and later
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API( TPPrPort )
|
||
|
PrOpenDoc(
|
||
|
THPrint hPrint,
|
||
|
TPPrPort pPrPort, /* can be NULL */
|
||
|
Ptr pIOBuf) FOURWORDINLINE(0x2F3C, 0x0400, 0x0C00, 0xA8FD);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* PrCloseDoc()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in InterfaceLib 7.1 and later
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API( void )
|
||
|
PrCloseDoc(TPPrPort pPrPort) FOURWORDINLINE(0x2F3C, 0x0800, 0x0484, 0xA8FD);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* PrOpenPage()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in InterfaceLib 7.1 and later
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API( void )
|
||
|
PrOpenPage(
|
||
|
TPPrPort pPrPort,
|
||
|
TPRect pPageFrame) FOURWORDINLINE(0x2F3C, 0x1000, 0x0808, 0xA8FD);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* PrClosePage()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in InterfaceLib 7.1 and later
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API( void )
|
||
|
PrClosePage(TPPrPort pPrPort) FOURWORDINLINE(0x2F3C, 0x1800, 0x040C, 0xA8FD);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* PrPicFile()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in InterfaceLib 7.1 and later
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API( void )
|
||
|
PrPicFile(
|
||
|
THPrint hPrint,
|
||
|
TPPrPort pPrPort,
|
||
|
Ptr pIOBuf,
|
||
|
Ptr pDevBuf,
|
||
|
TPPrStatus prStatus) FOURWORDINLINE(0x2F3C, 0x6005, 0x1480, 0xA8FD);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* PrError()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in InterfaceLib 7.1 and later
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API( short )
|
||
|
PrError(void) FOURWORDINLINE(0x2F3C, 0xBA00, 0x0000, 0xA8FD);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* PrSetError()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in InterfaceLib 7.1 and later
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API( void )
|
||
|
PrSetError(short iErr) FOURWORDINLINE(0x2F3C, 0xC000, 0x0200, 0xA8FD);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* PrGeneral()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in InterfaceLib 7.1 and later
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API( void )
|
||
|
PrGeneral(Ptr pData) FOURWORDINLINE(0x2F3C, 0x7007, 0x0480, 0xA8FD);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* PrDrvrOpen()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in InterfaceLib 7.1 and later
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API( void )
|
||
|
PrDrvrOpen(void) FOURWORDINLINE(0x2F3C, 0x8000, 0x0000, 0xA8FD);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* PrDrvrClose()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in InterfaceLib 7.1 and later
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API( void )
|
||
|
PrDrvrClose(void) FOURWORDINLINE(0x2F3C, 0x8800, 0x0000, 0xA8FD);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* PrCtlCall()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in InterfaceLib 7.1 and later
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API( void )
|
||
|
PrCtlCall(
|
||
|
short iWhichCtl,
|
||
|
long lParam1,
|
||
|
long lParam2,
|
||
|
long lParam3) FOURWORDINLINE(0x2F3C, 0xA000, 0x0E00, 0xA8FD);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* PrDrvrDCE()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in InterfaceLib 7.1 and later
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API( Handle )
|
||
|
PrDrvrDCE(void) FOURWORDINLINE(0x2F3C, 0x9400, 0x0000, 0xA8FD);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* PrDrvrVers()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in InterfaceLib 7.1 and later
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API( short )
|
||
|
PrDrvrVers(void) FOURWORDINLINE(0x2F3C, 0x9A00, 0x0000, 0xA8FD);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* PrLoadDriver()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: not available
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API( short )
|
||
|
PrLoadDriver(void) FOURWORDINLINE(0x2F3C, 0xD800, 0x0000, 0xA8FD);
|
||
|
|
||
|
|
||
|
|
||
|
#endif /* CALL_NOT_IN_CARBON */
|
||
|
|
||
|
|
||
|
#if PRAGMA_STRUCT_ALIGN
|
||
|
#pragma options align=reset
|
||
|
#elif PRAGMA_STRUCT_PACKPUSH
|
||
|
#pragma pack(pop)
|
||
|
#elif PRAGMA_STRUCT_PACK
|
||
|
#pragma pack()
|
||
|
#endif
|
||
|
|
||
|
#ifdef PRAGMA_IMPORT_OFF
|
||
|
#pragma import off
|
||
|
#elif PRAGMA_IMPORT
|
||
|
#pragma import reset
|
||
|
#endif
|
||
|
|
||
|
#ifdef __cplusplus
|
||
|
}
|
||
|
#endif
|
||
|
|
||
|
#endif /* __PRINTING__ */
|
||
|
|