[comp.lang.smalltalk] Screendump from Smalltalk-80

shan@tlab1.cs.unc.edu (Yen-Ping Shan) (11/09/89)

	Does anyone have a Smalltalk-80 program that can generate postscript 
screendumps?   
	I am preparing a document with LaTex, and would like to include quite 
a few Smalltalk screen images.  What's the best way to do it?
	Thanks.
		---Shan---

new@udel.edu (Darren New) (11/09/89)

In article <10446@thorin.cs.unc.edu> shan@tlab1.cs.unc.edu (Yen-Ping Shan) writes:
>
>	Does anyone have a Smalltalk-80 program that can generate postscript 
>screendumps?   
>	I am preparing a document with LaTex, and would like to include quite 
>a few Smalltalk screen images.  What's the best way to do it?
>	Thanks.
>		---Shan---

The best way I have found to do it is to use scissors and paste :-(.
Your facilities may vary; void in Goban.

You may file this in and then add "hardcopy" to your screen menu
to make this work.  Sorry if you don't have postscript support...

--------------------- cut here ---------------


'From Smalltalk-80, Version 2.2 of July 4, 1987 on 9 November 1989 at 8:50:28 am'!



!ScreenController methodsFor: 'menu messages'!

hardcopyDisplay
	"This will wait ten seconds, then send a copy of the display to the 
	postscript printer. If the left-shift is down the delay is skipped. The 
	process runs at lowIOPriority so that you can start the 
	hardcopyDisplay method without the left shift, bring up a menu, and 
	have the menu handler interrupted by the hardcopyDisplay routine. 
	Requires the PostScript support that comes with VI2.2 of ParcPlace 
	ST80. First scale_2 may need to be changed for your display. On 
	mine, the right-most inch gets cut off, so check your output before 
	making lots of it. If anybody makes this rotate so that doesn't 
	happen, let me know. -- Darren (new@udel.edu)"

	| document scale form |
	
	[scale _ 2.
	Sensor leftShiftDown ifFalse: [(Delay forSeconds: 10) wait].
	form _ Display copy.
	Cursor write
		showWhile: 
			[document _ Document new.
			document startParagraph.
			document addImageOneToN: (Array with: form with: scale).
			document close.
			document toPrinter]]
		forkAt: Processor lowIOPriority! !

dean@image.soe.clarkson.edu (Dean Swan) (11/11/89)

From article <10446@thorin.cs.unc.edu>, by shan@tlab1.cs.unc.edu (Yen-Ping Shan):
> 	Does anyone have a Smalltalk-80 program that can generate postscript 
> screendumps?   
> 	I am preparing a document with LaTex, and would like to include quite 
> a few Smalltalk screen images.  What's the best way to do it?
> 	Thanks.
> 		---Shan---

A good place to start would be the printForm method.  I think it's in class
Form, but I don't remember off hand.  It generates output for an Epson
compatible printer, but it's a good place to start ( unless it's a primitive
, but I don't think it is.)

Realize though, that bit maps in postscript are nasty little things that
take forever to print.  If you're working in TeX (or LaTex - roughly the
same thing) you would probably be better to just convert the DisplayForm
to a TeX bit map.  I don't know much about TeX, so you'll have to check
with someone more knowledgeable for details.

-Dean Swan
dean@sun.soe.clarkson.edu

Oops! (no pun intended) Did I say postscript bit maps were "nasty little
things" ?  I meat to say that they are god-awful HUGE things. :-)

khaw@parcplace.com (Mike Khaw) (11/13/89)

shan@tlab1.cs.unc.edu (Yen-Ping Shan) writes:


>	Does anyone have a Smalltalk-80 program that can generate postscript 
>screendumps?   

The standard Smalltalk-80 fileset includes a collection of file-ins for
printing to PostScript printers in the "printing" subdirectory.  One of
these file-in has a class method for class "Document", named
"doTest3".  Change "Form fromUser" to "Display" in "doTest3" to dump
the Smalltalk-80 window's contents (exclusive of the host window's
border and titlebar, if any) to a file that you name in a pop-up
prompter.

Version 2.5 also prints the screendump (in portrait orientation) to
your attached PostScript printer (I'm not sure that version 2.3 on Unix
actually spools to the printer).  Add a "document setLandscape." to
"doTest3" to print in landscape orientation.

Mike Khaw
-- 
ParcPlace Systems, 1550 Plymouth St., Mountain View, CA 94043	415/691-6749
Domain=khaw@parcplace.com, UUCP={uunet,sun,decwrl}!parcplace!khaw

hansell@skiff.cis.ohio-state.edu (Timothy Hansell) (11/13/89)

In article <10446@thorin.cs.unc.edu> shan@tlab1.cs.unc.edu (Yen-Ping Shan) writes:
>
>	Does anyone have a Smalltalk-80 program that can generate postscript 
>screendumps?   
>	I am preparing a document with LaTex, and would like to include quite 
>a few Smalltalk screen images.  What's the best way to do it?
>	Thanks.
>		---Shan---


Depends upon what machine you are running on. If you are running on a
Sun, you could always do a 'screendump' of the screen ( this is a sun command )
and then if you have the Transcript software for the Sun laser printer
there is a program 'pssun' that allows you to convert sun raster files
into postscript raster files.

-tim