[comp.sys.mac] Screen Dumping to a LaserWriter

waldman@endor.harvard.edu (benjamin Waldman) (01/31/88)

An application I'm working on permits the user to perform a screendump
to the printer.  However, it only works on an ImageWriter.  This didn't
surprise me, since Apple's FKEY #4 doesn't work on the LaserWriter either,
and I presume we were both printing the same way - calling PrCtlCall with
the parameters that would cause a screen dump.

How can I screendump to the LW, then (in a way that would be compatible
with the IW as well)?

Would something like this work?  Open a printing port, and then do a 
copybits from the screen's bitmap to the printing port's bitmap?

Any help, hints, and/or sample code (preferably LSC) would be greatly
appreciated.
			Thanks a lot,
			Ben Waldman
			waldman@endor.harvard.edu

holt@apple.UUCP (Bayles Holt) (02/03/88)

>In Article 12911 (benjamin Waldman) writes:
>How can I screendump to the LW, then (in a way that would be compatible
>with the IW as well)?

The "FKEY #4" command for printing dumps of the Macintosh screen is in the
process of being abandoned in all Print drivers for the Mac.  There are
several reasons for this, which I can elaborate on if anyone is interested,
but for starters it just plain doesn't work under some conditions not the
least of which is:
  * low memory (applications assume 10k is plenty for any printer)
  * multi-finder (how do you print dynamically changing screens? 2 screens?)
  * self portraits (how do you prevent FKEY #4 nesting?)
Though these may be considered soluble at some level, it is not considered
worth it since low-level print driver calls are being phased out.

The recommended way of printing screen dumps is to execute an FKEY #3 
(which saves the screen to a file) then printing the file like any other
bitmap file.  This is not only cleaner, its easier and is just as fast as
the FKEY #4.

--Bayles Holt
holt@apple.UUCP

--------------------------
As always...
--------------------------

dorner@uxc.cso.uiuc.edu (02/04/88)

>The recommended way of printing screen dumps is to execute an FKEY #3 
>(which saves the screen to a file) then printing the file like any other
>bitmap file.  This is not only cleaner, its easier and is just as fast as
                                ^^^^^^^      ^^^^^^        ^^^^^^^^^^^^
>the FKEY #4.

Cleaner and easier and just as fast for who?  Apple System Software Progammers.
As for the end user, let's compare the methods:

	FKEY #4				FKEY #3
	-------				-------
	press cmd-shft-4		press cmd-shft-3
	pick up printout		start Paint program
					open screen dump
					choose print
					quit paint program
					throw away screen dump
					pick up printout

I think it is clear which method is cleaner and easier for the user.

While I realize that Mr. Holt is not an official Apple spokesman, I must
say that if Apple's position is the same as his, I am very disappointed.

>
>--Bayles Holt
>holt@apple.UUCP

Steve Dorner, U of Illinois Computing Services Office
Internet: dorner@uxc.cso.uiuc.edu  UUCP: ihnp4!uiucuxc!dorner
IfUMust:  (217) 333-3339

gae@osupyr.UUCP (Gerald Edgar) (02/04/88)

In article <7315@apple.UUCP> holt@apple.UUCP (Bayles Holt) writes:
>The recommended way of printing screen dumps is to execute an FKEY #3 
>(which saves the screen to a file) then printing the file like any other
>bitmap file.  This is not only cleaner, its easier and is just as fast as
>the FKEY #4.

Is it true that FKEY #3 dumps are limited to the size of a MacPaint file?
-- 
  Gerald A. Edgar                               TS1871@OHSTVMA.bitnet
  Department of Mathematics                     gae@osupyr.UUCP
  The Ohio State University  ...{akgua,gatech,ihnp4,ulysses}!cbosgd!osupyr!gae
  Columbus, OH 43210                            70715,1324  CompuServe

holt@apple.UUCP (Bayles Holt) (02/06/88)

>>The recommended way of printing screen dumps is to execute an FKEY #3
>>(which saves the screen to a file) then printing the file like any other
>>bitmap file.  This is not only cleaner, its easier and is just as fast as
>                                ^^^^^^^      ^^^^^^        ^^^^^^^^^^^^
>>the FKEY #4.
> 
>Cleaner and easier and just as fast for who?  Apple System ...

Your point is well taken and I agree with it.  When I said it was simpler
to do an FKEY 3 I was referring to the application developer as the
client because it is better for her to do the printing by calling the
high level driver rather then simply executing a low level control
call.  But that isn't your concern.  Perhaps I misspoke on this aspect.
It is true, however, that the more correct way for the FKEY code to
implement the print feature is to print via the high level print
driver essentially duplicating the FKEY-3-then-print sequence and I'm
not sure if that will ever happen because after all the FKEY stuff
is not supposed to be an application.  Whats it doing printing for anyway?

As far as print software is concerned, we will still support the feature
for anyone who wants to program the process correctly, but we are
definitely going to phase out the low level call through which
FKEYs currently implements that feature.  The reason: it just doesn't
work right.  With background printing around the corner for all printers
we cannot continue to support the low-level driver the way it stands,
and it's the low-level driver through which the FKEY stuff does
its printing.

--Bayles
holt@apple.UUCP

:wq

isle@eleazar.Dartmouth.EDU (Ken Hancock) (02/07/88)

In article <174400099@uxc.cso.uiuc.edu> dorner@uxc.cso.uiuc.edu writes:
:
::The recommended way of printing screen dumps is to execute an FKEY #3 
::(which saves the screen to a file) then printing the file like any other
::bitmap file.  This is not only cleaner, its easier and is just as fast as
:                                ^^^^^^^      ^^^^^^        ^^^^^^^^^^^^
::the FKEY #4.
:
:Cleaner and easier and just as fast for who?  Apple System Software Progammers.
:As for the end user, let's compare the methods:
:
:	FKEY #4				FKEY #3
:	-------				-------
:	press cmd-shft-4		press cmd-shft-3
:	pick up printout		start Paint program
:					open screen dump
:					choose print
:					quit paint program
:					throw away screen dump
:					pick up printout
:
:I think it is clear which method is cleaner and easier for the user.
:
:While I realize that Mr. Holt is not an official Apple spokesman, I must
:say that if Apple's position is the same as his, I am very disappointed.

Let me also remind you that MacPaint is no longer system software.  So,
to do a simple screen dump, you have to go out and buy a graphics program
of some kind.

C'mon Apple -- just give us a screen dump that will work on both
ImageWriters and LaserWriters....

Ken


-- 
Ken Hancock      UUCP: isle@eleazar.dartmouth.edu
               BITNET: isle@eleazar.dartmouth.edu

DISCLAIMER: If people weren't so sue-happy, I wouldn't need one!

howard@cpocd2.UUCP (Howard A. Landman) (02/11/88)

In article <174400099@uxc.cso.uiuc.edu> dorner@uxc.cso.uiuc.edu writes:
>	FKEY #4				FKEY #3
>	-------				-------
>	press cmd-shft-4		press cmd-shft-3
>	pick up printout		start Paint program
>					open screen dump
>					choose print
>					quit paint program
>					throw away screen dump
>					pick up printout

Steve has a point, but he's distorted the FKEY #3 sequence to make it look
worse than it needs to be.  There is an easier way, namely:

					FKEY #3
					-------
					press cmd-shft-3
					select screen dump
					choose "Print" from menu
					pick up printout

I would consider the "throw away screen dump" step to be optional.  Some times
I want to keep it around, some times I don't.  In the case where you *want*
to keep it around, the FKEY #4 menu needs to include "press cmd-shift-3"!!!

-- 
	Howard A. Landman
	{oliveb,hplabs}!intelca!mipos3!cpocd2!howard
	howard%cpocd2.intel.com@RELAY.CS.NET
	"... no one knows what they mean, everyone just ignores them."

isle@eleazar.Dartmouth.EDU (Ken Hancock) (02/22/88)

In article <1112@cpocd2.UUCP> howard@cpocd2.UUCP (Howard A. Landman) writes:
>In article <174400099@uxc.cso.uiuc.edu> dorner@uxc.cso.uiuc.edu writes:
>>	FKEY #4				FKEY #3
>>	-------				-------
>>	press cmd-shft-4		press cmd-shft-3
>>	pick up printout		start Paint program
>>					open screen dump
>>					choose print
>>					quit paint program
>>					throw away screen dump
>>					pick up printout
>
>Steve has a point, but he's distorted the FKEY #3 sequence to make it look
>worse than it needs to be.  There is an easier way, namely:
>
>					FKEY #3
>					-------
>					press cmd-shft-3
>					select screen dump
>					choose "Print" from menu
>					pick up printout
>
>I would consider the "throw away screen dump" step to be optional.  Some times
>I want to keep it around, some times I don't.  In the case where you *want*
>to keep it around, the FKEY #4 menu needs to include "press cmd-shift-3"!!!

In Steve's defense, I think you've made it easier than you think.

You assume two things:
             1. A person has bought some graphics program.
                (If they didn't buy one, then they're out of luck...)
             2. That they've bought MacPaint specifically.  (Otherwise you
                DO have to start it up, load it, print it)

Either way, the debate is silly.  A point is a point.  I think it's stupid
that Apple is doing away with the screen dump FKey when it'd take them 10
minutes to write a very good one that would make everyone happy.

Fortunately, some people go ahead and do it without waiting for Apple.
(No, I'm not Apple-Bashing, but I don't agree with their view of
obliterating FKey-4.)  Thanks to Rich Siegel (you know, the guy who's
always there to answer your Lightspeed Pascal/C questions...), he's
provided one which works beautifully on a LaserWriter, ImageWriter,
ImageWriter LQ, and I'm sure the new line of LaserWriters.  Even lets you
reduce the size of the screen dump...

Thanks again, Rich!

Ken


-- 
Ken Hancock                        |    UUCP: isle@eleazar.dartmouth.edu
Personal Computing Ctr. Consultant |  BITNET: isle@eleazar.dartmouth.edu
__________________________________/ \____________________________________
DISCLAIMER: If people weren't so sue-happy, I wouldn't need one!