; ; File: PrPrivate.a ; ; Contains: xxx put contents here xxx ; ; Written by: xxx put writers here xxx ; ; Copyright: © 1991 by Apple Computer, Inc., all rights reserved. ; ; Change History (most recent first): ; ; <5> 1/30/91 gbm sab, #38: Change the Ôalready including this fileÕ variable to ; all uppercase (for security reasons) ; ; To Do: ; ; Version: 3.13 ; Created: Friday, October 20, 1989 at 9:41:45 PM ; ;File: PrPrivate (Owned and maintained soley by the Print Shop) ; Copyright © 1984, 1985, 1986 Apple Computer, Inc. ; ;_______________________________________________________________________ ; ; Printing Equates -- This file supplements the high-level equates for the ; Macintosh printing software in PrEqu. These equates are private ; to Apple Computer, Inc. and should be used solely for building system ; software such as Apple printer drivers. The lines commented out ; reflect equates which appear in PrEqu and are included here just for ; convenience. ; ; 1.0 CCH 11/ 9/1988 Adding to EASE. ; END EASE MODIFICATION HISTORY ;¥1.1 CCH 9/14/1988 Updated EASE with the current rev of this file. ;_______________________________________________________________________ IF &TYPE('__INCLUDINGPRPRIVATE__') = 'UNDEFINED' THEN __INCLUDINGPRPRIVATE__ SET 1 ; Printing Code Constants ; These are the PrDrvr constants. lPrLFSixth EQU -1 ; The PrDevCtl Proc's CParam for 1/6 th inch paper advance lPrLFEighth EQU -2 ; The PrDevCtl Proc's CParam for 1/8 th inch paper advance iPrDocOpen EQU 1 ; The PrDevCtl Proc's CParam for doc begin iPrPageClose EQU 2 ; The PrDevCtl Proc's CParam for page end ;iPrLineFeed equ 3 ; The PrDevCtl Proc's CParam for paper advance iPrPageOpen EQU 4 ; The PrDevCtl Proc's CParam for page begin iPrDocClose EQU 5 ; The PrDevCtl Proc's CParam for doc end iPrLFStd EQU -1 ; The PrDevCtl Proc's CParam for std paper advance iMscCtl EQU 9 ; Msc Text state / Drvr State ctl number iPvtCtl EQU 10 ; Private Ctls start here ; State Constants bPrDevOpen EQU 1 ; The DevOpen State Indicator bPrDocOpen EQU 2 ; The DocOpen State Indicator bPrPageOpen EQU 3 ; The PageOpen State Indicator bPrPrinting EQU 4 ; The Printing State Indicator bPrPageClose EQU 5 ; The PageClose State Indicator bPrDocClose EQU 6 ; The DocClose State Indicator bPrDevClose EQU 0 ; The DevClose State Indicator ; These are misc Alert & Dialog constants iOK EQU 1 ; OK Button iCancel EQU 2 ; Cancel Button iPrStlDlg EQU $E000 ; {-8192} Style Dialog iPrJobDlg EQU $E001 ; {-8191} Job Dialog iPrCfgDlg EQU $E002 ; {-8190} Configuration Dialog iPgFeedAx EQU $E00A ; {-8182} Page Feed Dialog iPicSizAx EQU $E00B ; {-8181} Pic Size Alert iIOAbrtAx EQU $E00C ; {-8180} IO Timeout Alert iPrPgFst EQU 1 iPrPgMax EQU 9999 iPrSavPFil EQU $FFFF ; Abort but save print file ; Printing data structures ; Print Info data structure ; The parameters needed for page composition. ;iDev already defined in PrEqu.a ;iDev EQU 0 ; Font mgr/QuickDraw device code [word] iVRes EQU 2 ; V Resolution of device, in device coord.[word] iHRes EQU 4 ; H resolution [word] iPrInfoSize EQU 14 ; The PrInfo size.[14] ; Printer Style data structure ; The printer configuration and usage information. ;wDev EQU 0 ; The drvr #, Hi byte=RefNum, Lo byte=variant [word] bPort EQU 6 ; The IO port number [byte] iPrStlSize EQU 8 ; The PrStl size.[8] ; Print eXtra Info data structure ; The print time eXtra information. iRowBytes EQU 0 ; The Band's rowBytes. [word] iBandV EQU 2 ; V Size of band, in device coordinates [word] iBandH EQU 4 ; H size of band [word] iBands EQU 8 ; Number of bands per page. bPatScale EQU 10 ; Pattern scaling [byte] bULThick EQU 11 ; 3 Underscoring parameters [byte] bULOffset EQU 12 ; [byte] bULShadow EQU 13 ; [byte] scan EQU 14 ; Band scan direction [byte] bXInfoX EQU 15 ; An eXtra byte. [byte] iPrXInfoSize EQU 16 ; The PrXInfo size.[16 bytes] ; Print Job data structure ; Print "form" for a single print request. ;iFstPage EQU 0 ; Page Range [word] ;iLstPage EQU 2 ; [word] ;iCopies EQU 4 ; # copies [word] ;bJDocLoop EQU 6 ; Draft quality print flag [byte] ;fFromApp EQU 7 ; Printing from an App (not PrApp) flag [byte] ;pIdleProc EQU 8 ; Idle Proc [pointer] ;pFileName EQU 12 ; Spool File Name: NIL for default [pointer] ;iFileVol EQU 16 ; Spool File vol [word] ;bFileVers EQU 18 ; Spool File version [byte] bJobX EQU 19 ; An eXtra byte [byte] ;iPrJobSize EQU 20 ; The PrJob size.[20] ; Print Port structure ; A graf port, its procs, plus some extra. ;gPort EQU 0 ; The Printer's graf port gProcs EQU 108 ; ..and its procs [13 pointers] lGParam1 EQU 160 ; Some params: Our relocatable stuff etc [long] lGParam2 EQU 164 ; [long] lGParam3 EQU 168 ; [long] lGParam4 EQU 172 ; [long] fOurPtr EQU 176 ; PrPort allocation done by us? [byte] fOurBits EQU 177 ; BitMap allocation done by us? [byte] ;iPrPortSize EQU 178 ; The PrPort size.[178] ; Print Status data structure ;iTotPages EQU 0 ; Total pages in Print File [word] ;iCurPage EQU 2 ; Current page number [word] ;iTotCopies EQU 4 ; Total copies requested [word] ;iCurCopy EQU 6 ; Current copy number [word] ;iTotBands EQU 8 ; Total bands per page [word] ;iCurBand EQU 10 ; Current band number [word] ;fPgDirty EQU 12 ; current page has been written to? [byte] ;fImaging EQU 13 ; in band's DrawPic call? [byte] ;hPrint EQU 14 ; active Printer record [handle] ;pPrPort EQU 18 ; active PrPort [pointer] hPic EQU 22 ; active Picture [handle] ;iPrStatSize EQU 26 ; The PrStatus size[26 bytes] ; Print dialog dlg EQU 0 ; DialogWindow pFltrProc EQU 170 ; filter Proc [pointer] pItemProc EQU 174 ; item evaluating proc [pointer] hPrintUsr EQU 178 ; user's print record [handle] fDoIt EQU 182 ; Boolean fDone EQU 183 ; Boolean lPrDlg1 EQU 184 ; users to hang global data [long] lPrDlg2 EQU 188 ; [long] lPrDlg3 EQU 192 ; [long] lPrDlg4 EQU 196 ; [long] iPrDlgSz EQU 200 ; Less common print code stuff ; These are the definitions for the Print code fPrDbgOK EQU 1 ; Debug enable iPrSystemError EQU 29 ; Printcode System Error ; The Private Print Globals; 16 bytes located at [SysEqu] PrintVars PrintVars EQU $944 ; print code variables [16 bytes] PrintErr EQU $944 ; Current Printer Error ;ChooserBits EQU $946 ; bit 7 = 0 don't run; bit 6 = 0 gray out AppleTalk iPrErr EQU 0 ; Offset to current print error. Set to iPrAbort to abort printing. bDocLoop EQU 2 ; The Doc style: Draft, Spool, .., and .. ; Currently use low 2 bits; the upper 6 are for flags. bUser1 EQU 3 lUser1 EQU 4 lUser2 EQU 8 lUser3 EQU 12 iPrResFileRefNum EQU 14 ; The current print driver's resource file refnum iPrVarSize EQU 16 ; The PrVar's size.[16] iPrError EQU PrintVars+iPrErr ; abs loc of PrintError bPrFlags EQU PrintVars+bDocLoop ; abs loc of pr flags bPrType EQU PrintVars+bUser1 ; abs loc of pr type field = -bDev [default = imagewriter = FF] fNewRunBit EQU 2 ; Bit 2 (3rd bit) in bDocLoop: new JobRun indicator fHiResOK EQU 3 ; Bit 3 (4th bit) is hi res indicator for paint fWeOpenedRF EQU 4 ; Bit 4 (5th bit) is set if driver opend the prres file. iPrRefNum EQU PrintVars+iPrResFileRefNum ; abs loc of the current print driver's resource file refnum ; Printer Type Constants (each new printer has its own index value) bDevCItoh EQU 1 ; Imagewriter bDevDaisy EQU 2 ; Daisy wheel printer (scrapped) bDevLaser EQU 3 ; LaserWriter ; Miscellaneous constants. scanTB EQU 0 ; scan top-bottom scanBT EQU 1 ; scan bottom-top scanLR EQU 2 ; scan left-right scanRL EQU 3 ; scan right-left ;------------------------------------------------------------------------------- ; These are the constants for using resources to swap in the non-driver ; print code. Three numbers are needed: ; ResType ; ResID ; Offset into the seg's jump table ; ; The offset is really a formatted Long that contains three fields: ; Frame Size; Unlock flag; Offset into the seg's jump table ; We could use the topmost byte for further stuff: a stack adjust for ; storing the registers needed by the link code so that it would be re-entrant. ;------------------------------------------------------------------------------- lPDefType EQU $50444546 ; Pr Resource TYPE: "PDEF" iPrDraftID EQU 0 ; Pr Draft Resource ID iPrSpoolID EQU 1 ; Pr Spool Resource ID iPrUser1ID EQU 2 ; Pr Spare1 Resource ID iPrUser2ID EQU 3 ; Pr Spare2 Resource ID lOpenDoc EQU $000C0000 ; PrOpenDoc JumpTable offset lCloseDoc EQU $00048004 ; PrCloseDoc JumpTable offset lOpenPage EQU $00080008 ; PrOpenPage JumpTable offset lClosePage EQU $0004000C ; PrClosePage JumpTable offset iPrDlgsID EQU 4 ; Pr Dialogs Resource ID lDefault EQU $00048000 ; PrintDefault JumpTable offset lStlDialog EQU $00048004 ; PrStlDialog JumpTable offset lJobDialog EQU $00048008 ; PrJobDialog JumpTable offset lStlInit EQU $0004000C ; PrStlInit JumpTable offset lJobInit EQU $00040010 ; PrJobInit JumpTable offset lDlgMain EQU $00088014 ; PrDlgMain JumpTable offset lPrValidate EQU $00048018 ; PrintValidate JumpTable offset lPrJobMerge EQU $0008801C ; PrintValidate JumpTable offset iPrPicID EQU 5 ; Pic Printing Resource ID lPrPicFile EQU $00148000 ; PrPicFile JumpTable offset iCfgDlgID EQU 6 ; Configuration proc Resource ID lCfgDialog EQU $00008000 ; PrCfgDialog JumpTable offset iPrHackID EQU 7 ; The "Oops, I Forgot" Resource ID lPrHack EQU $000C8000 ; PrHack JumpTable offset ENDIF ; ...already included