home *** CD-ROM | disk | FTP | other *** search
- /*
- * dump.c - routine to dump rastport
- *
- */
-
-
- #include "exec/types.h"
- #include "intuition/intuition.h"
- #include "devices/printer.h"
-
- extern struct IODRPReq *CreateExtIO();
- extern struct MsgPort *CreatePort();
-
- dump(screen)
- struct Screen *screen;
- {
- struct IODRPReq *iodrp;
- struct MsgPort *printerPort;
- struct ViewPort *vp;
- int error = 1;
-
- if(printerPort = CreatePort("CAS_ddmp",0))
- {
- if(iodrp=CreateExtIO(printerPort,sizeof(struct IODRPReq)))
- {
- if(!(error=OpenDevice("printer.device",0,iodrp,0)))
- {
- vp = &screen->ViewPort;
- iodrp->io_Command = PRD_DUMPRPORT;
- iodrp->io_RastPort = &screen->RastPort;
- iodrp->io_ColorMap = vp->ColorMap;
- iodrp->io_Modes = (ULONG)vp->Modes;
- /* iodrp->io_SrcX = 0; MEMF_CLEAR zeroed this */
- /* iodrp->io_SrcY = 0; MEMF_CLEAR zeroed this */
- iodrp->io_SrcWidth = screen->Width;
- iodrp->io_SrcHeight = screen->Height;
- /* iodrp->io_DestCols = 0; MEMF_CLEAR zeroed this */
- /* iodrp->io_DestRows = 0; MEMF_CLEAR zeroed this */
- iodrp->io_Special = SPECIAL_FULLCOLS|SPECIAL_ASPECT;
-
- error = DoIO(iodrp);
- CloseDevice(iodrp);
- }
- DeleteExtIO(iodrp, sizeof(struct IODRPReq));
- }
- DeletePort(printerPort);
- }
- return(error);
- }
-
-
-
-