Path: utzoo!utgpu!watmath!clyde!att!ucbvax!decwrl!decvax!spray!anson From: anson@spray.CalComp.COM (Ed Anson) Newsgroups: comp.sys.mac.programmer Subject: Re: Printer idle proc Message-ID: <2564@spray.CalComp.COM> Date: 11 Jan 89 14:39:41 GMT References: <11605@dartvax.Dartmouth.EDU> <271@berlin.acss.umn.edu> <27318@ucbvax.BERKELEY.EDU> <11623@dartvax.Dartmouth.EDU> <27335@ucbvax.BERKELEY.EDU> <11659@dartvax.Dartmouth.EDU> Reply-To: anson@spray.UUCP (Ed Anson) Organization: CalComp, A Lockheed Company, Hudson, NH, USA Lines: 33 In article <27335@ucbvax.BERKELEY.EDU> oster@dewey.soe.berkeley.edu.UUCP (David Phillip Oster) writes: >... Inside Macintosh leads >one to believe that you can just disable the "page setup" and "print" menu >items, and call your main event loop to let the user do arbitrary things >while a document is printing. I would not be inclined to do any user interaction or drawing in this way. A printer driver can (and does) do strange things to the application's environment during a print job. Remember: Not everything that affects graphics is in the GrafPort. And what about memory allocation? The usual advice is to purge as much as possible from memory prior to the output phase of spooled printing. The driver wants that memory for itself. There may not be enough left for the application to do anything useful without impeding the print job. Then there's the application data structures. Do we really want the user to change them while we're trying to compose a printed page from them? OK, we might get away with it sometimes. I think the user is far better off if we just use a good print spooler. Let the application concentrate entirely on printing for the few seconds it needs to spool the output, and then return to interactive use. This way, there is less code complexity, and fewer opportunities for things to go very seriously wrong. DISCLAIMER: The opinions stated above are my own, and do not necessarily reflect the official policy of my employer. -- ===================================================================== Ed Anson, Calcomp Display Products Division, Hudson NH 03051 (603) 885-8712, anson@elrond.CalComp.COM