source/NewDriverProtos.h

/*
    copyright © 1992-1996 Apple Computer Inc.  All rights reserved.
    
    NewDriverProtos.h
    
    This file implements old application message overrides for the specific driver.
    
    Included in this file is the old PrintRecord emulation.  Note that the ImageWriter
    PrintRecord is a wonder of misdirection and special cases.  You'll have fun
    figuring out the code - so unless you really want to exactly emulate the ImageWriter
    pages, you shouldn't spend too much time looking at this code.
    
    Modification history
    7/23/92         TED             New file today
    12/20/93        dmh             Sync'd with the shipping 1.0b3 GX driver.
     8/26/94        dmh             Sync'd with the shipping 1.0.1 GX driver.
    28/03/96        JHH             
    05/21/96        Jason H-H       Updated for ETO#19/MW.
    05/21/96        Don Swatman     Modifications for halftoning, dithering and plane seperations.
*/
 
#ifndef __NUDRVRPROTOSHEADER__
#define __NUDRVRPROTOSHEADER__
 
/****   Macintosh Toolbox Headers   ****/
 
#ifndef __GXPRINTERDRIVERS__
#include <GXPrinterDrivers.h>
#endif
 
 
/****   NewApp.c prototypes     ****/
 
void DoDebug(Str255 theStr);
void Long2Dec(long aLong, Ptr emitHere);
Boolean PrinterHasColorRibbon(gxPrinter thePrinter);
gxViewDevice    NewDeviceResolutionViewDevice(void);
Boolean JobIsBest(long *imagewriterOptions);
OSErr   DoTheQuery(unsigned short * statusReturn, Boolean papStatus);
OSErr FetchStatusString(unsigned short * statusReturn, Boolean papStatus, Boolean doRetry);
OSErr UpdateConfiguration(void);
OSErr WriteDraftChars(long **draftTable, unsigned char *draftChar, long numChars);
OSErr GetPointerThisBig(Ptr *theBuff, long numBytes);
OSErr GetTextAndPosition(   gxShape         theShape, 
                            Ptr             *theChars, 
                            long            *numChars, 
                            gxPoint         *textPosition);
OSErr PrintPageInDraftMode(gxShape thePage, gxRasterImageDataHdl imageData);
OSErr SD_Initialize (void); 
OSErr SD_ShutDown(void);
OSErr   SD_DefaultPrinter(gxPrinter thePrinter);
OSErr SD_DefaultFormat(gxFormat theFormat);
OSErr SD_DefaultJob(void);
OSErr SD_OpenConnection(void);
OSErr SD_CloseConnection(void);
OSErr SD_JobIdle(void);
OSErr SD_FreeBuffer(gxPrintingBuffer * theBuffer);
OSErr SD_DumpBuffer(gxPrintingBuffer * theBuffer);
OSErr SD_StartSendPage(gxFormat pageFormat);
OSErr SD_FinishSendPage(void);
OSErr SD_JobFormatDialog(gxDialogResult*    theResult);
OSErr SD_JobFormatModeQuery(    gxQueryType     theQuery,
                                void*           srcData,
                                void*           dstData);
OSErr SD_SetupImageData(gxRasterImageDataHdl hImageData);
OSErr SD_FetchDriverData(
    ResType         theType,
    short           theID,
    Handle*         theData);
OSErr SD_RenderPage(    gxFormat                theFormat,
                        gxShape                 thePage,
                        gxPageInfoRecord        *pageInfo,
                        gxRasterImageDataHdl    imageInfo);
OSErr SD_LineFeed (
    long *lineFeedSize,
    Ptr buffer, unsigned long   * bufferPos,
    gxRasterImageDataHdl hImageData);
OSErr SD_PackageBitmap (gxRasterPackageBitmapRec    *pPackage,
                        Ptr                         buffer,
                        unsigned long               *bufferPos,
                        gxRasterImageDataHdl        hImageData);
Boolean PrintThisBand ( short printerBand );
OSErr SetUpPrintPanel( void );
OSErr SD_JobPrintDialog(gxDialogResult *dlogResult );
void SetDialogControl( DialogPtr pDlg, short theItem, Boolean theState );
Boolean GetDialogControl( DialogPtr pDlg, short theItem );
void SetDialogCtrlGray ( DialogPtr pDlg, short theItem, Boolean isGray);
void GrayDitherDialog ( DialogPtr pDlg, short itemCount, Boolean isDither);
OSErr OpenDitherPanel(DialogPtr pDlg, short itemCount);
OSErr SD_HandlePanelEvent( gxPanelInfoRecord *panelInfo );
pascal void DrawBoundBox( WindowPtr theWindow, short theItem );
 
 
#endif //__NUDRVRPROTOSHEADER__