Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!utgpu!water!watmath!clyde!rutgers!husc6!bloom-beacon!oberon!cit-vax!ucla-cs!zen!ucbvax!decvax!dartvax!earleh From: earleh@dartvax.UUCP Newsgroups: comp.sys.mac Subject: Re: Writing a Printing Manager (sarcastic portions rot13'd) Message-ID: <6968@dartvax.UUCP> Date: Sat, 29-Aug-87 15:27:10 EDT Article-I.D.: dartvax.6968 Posted: Sat Aug 29 15:27:10 1987 Date-Received: Sun, 30-Aug-87 23:36:08 EDT References: <6933@dartvax.UUCP> <3727@sdcsvax.UCSD.EDU> Organization: disorganized Lines: 81 Summary: help wanted NOW In article <3727@sdcsvax.UCSD.EDU>, jww@sdcsvax.UCSD.EDU (Joel West) writes: > Apple has diminished the printer documentation over time > because it was obvious that the initial Printing Manager > interface was not well-designed and they wanted to > change it. (PrGeneral, for example, is a great step > in the right direction.) > This is true. I actually have parts of my daisy-wheel printer driver working at this point, and all I have to say about the people who designed the original interface is "nffubyrf!" I must admit, however, that the PACK resource (-4096) which interacts with the Chooser was particularly easy to write, and performed to specifications. There is one problem with that, however. The Chooser insists on disabling the left button in the display, but lets me use the right one. The one I want is obviously the left button, since that is the one that gets highlighted. I am not using any List Manager stuff, I just want the left button. It's annoying to see it come up enabled, but then get disabled right away. The problem is this: I want to write something which works with, say MacWrite and my Tandy printer, and I want to write it NOW! I don't want to buy a commercial product, and I don't want to have to use Microsoft Word (which doesn't work with my printer anyway.) I don't want to wait until the Printing Manager is rewritten in a reasonable manner, since that may be never. Can you imagine Apple coming up with an easy to understand interface, thereby breaking every program which prints? Therefore, what I want is an explanation of how the printing manager responds to calls, and exactly what it is supposed to do and when. For instance: I have stubs installed for all the QuickDraw calls for draft printing. I have the Style and Job dialog code completed according to the specifications in Technical Note 95. I have the driver complete, except I don't know how to implement PrGeneral, since I don't know how it gets called. (Is it a control call, or what?) According to the documentation, when I request an application to print or page setup, it should just think it is doing so, handle the dialogs, and produce nothing. When I select "Page Setup..." from the Finder menu, it says "Can't Print with this disk" but it does go through my style dialog no problem. How does it know it can't print with this disk? When I go through my Job dialog, it says the same thing, but it calls my Job dialog handler and then calls my PRINTING stubs if I click OK. It puts the "printing now" dialog box on the screen, and calls my printing code, and returns normally. All other programs fail. What am I missing here? There is simply no way to find out from the documentation. I can deduce from the meager information that I have, and perhaps with recourse to a disassembler, how most of this stuff is supposed to work. But having to do it this way "fhpxf!" Particularly since it says right there in the original, promotional edition of IM "there exists a different device driver for each printer" ^^^^ Didn't they mean "each printer sold by Apple"? Granted, Apple may not want to document the Printing Manager since the way it was designed and is now implemented "ernyyl rngf vg!" Granted, they don't have to tell anyone how it really works. However, by not doing so they prevent the Macintosh printing interface from really being "device independent". Apple has not written enough Printer drivers to give them the right to claim device independence, and they have made the code so obscure (seemingly by intent) that very few programmers will even attempt this task. Here is my question to Apple, if anyone is listening. Is the printing interface designed to provide true device independence, or is it designed to be as obscure as possible, thereby insuring that most if not all Macintosh owners will be forced to use an Apple printer? I think I already know the answer to this. Note: If you want to see what "SHPX" means in English, then most news reader programs will tell you if you use 'X' or maybe '^X'. Other posters who want to say nasty things, please note. Earle -- ********************************************************************* *Earle R. Horton, H.B. 8000, Dartmouth College, Hanover, NH 03755 * *********************************************************************