Article View: comp.sys.mac
Article #18595Re: Writing a Printing Manager (sarcastic portions rot13'd)
From: earleh
Date: Sat, 29 Aug 1987 19:27
Date: Sat, 29 Aug 1987 19:27
81 lines
5084 bytes
5084 bytes
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 *
*********************************************************************
Technical Details
Message-ID:
<6968@dartvax.UUCP>Path:
arc1-ca.pugleaf.net!utzoo!utgpu!water!watmath!clyde!rutgers!husc6!bloom-beacon!oberon!cit-vax!ucla-cs!zen!ucbvax!decvax!dartvax!earlehReferences:
<6933@dartvax.UUCP> <3727@sdcsvax.UCSD.EDU>Show Full Headers
Complete Article Headers
Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: arc1-ca.pugleaf.net!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