%! % % Date: Wed, 21 Sep 88 10:30:16 EDT % To: NeWS-makers@brillig.umd.edu % Subject: Re: Color PostScript screendump for NeWS % From: campfire!scout@sun.com (David LaVallee) % % Here's a little cut and paste and sketch program that uses the file % /tmp/clip as its storage. NeWS stores the "clip" as a run-length % encoded sun raster file (B+W or Color). % % I have used this program to clip stuff for B+W and color raster % printers, on a Sun with TRANSCRIPT software this is one way to % print the rasterfile to a LaserWriter: % % /usr/lib/rasfilters/convert.2 /tmp/clip | pssun | lpr % % --Scoutly %%NeWS1.1 %%author: David A. LaVallee %%title: paint2 [/x0 /y0 /x1 /y1 /x /y /win /can] {null def} forall /win framebuffer /new DefaultWindow send def /reshapefromuser win send { /ClientMenu [ (cut) { framebuffer createoverlay setcanvas getwholerect waitprocess aload pop framebuffer setcanvas points2rect rectpath (/tmp/clip) writescreen } (paste) { can createoverlay setcanvas getwholerect waitprocess aload pop can setcanvas points2rect gsave 4 2 roll translate scale {(/tmp/clip) readcanvas imagecanvas} stopped {pop} if grestore } ] /new DefaultMenu send def } win send /map win send /can win /ClientCanvas get def can /Retained true put /paintit {0 setgray x1 y1 moveto x y lineto stroke} def /setxy { /x1 x store /y1 y store begin /x XLocation store /y YLocation store end } def /paintbrush { 10 dict begin currentcursorlocation /y exch store /x exch store /x0 x store /y0 y store /x1 x store /y1 y store paintit [ null {currentprocess killprocess} /UpTransition null eventmgrinterest MouseDragged {setxy paintit} null null eventmgrinterest ] forkeventmgr pop end } def /PaintEventMgr [ PointButton { can setcanvas paintbrush } /DownTransition can eventmgrinterest ] forkeventmgr def