File:  [NeXTSTEP 3.3 examples] / Examples / AppKit / Backspace / psfuncts.psw
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs
Tue Apr 24 17:48:30 2018 UTC (8 years, 1 month ago) by root
Branches: NeXT, MAIN
CVS tags: NeXTSTEP33, HEAD
Sample Programs from NeXSTEP 3.3

defineps loadPSProcedures()
	/Rectfill {	0 0 4 2 roll rectfill } bind def
endps


defineps tweakWindow(userobject windowNum ; int level)

	% tweaks a window so it works as a background window

	level windowNum setwindowlevel
	true windowNum setautofill
	
	gsave
	windowNum windowdeviceround
	0 setgray
	setexposurecolor
	grestore

endps


defineps PSWmakeWindowGray(userobject windowNum)

	% sets a windows tier to level
	gsave
	windowNum windowdeviceround
	0.333 setgray
	setexposurecolor
	grestore

endps


defineps PSWDefineFont(char *fontname)
  
	9 dict dup begin
		/FontName /fontname def
		/FontType 3 def
		/FontMatrix [1 0 0 1 0 0] def
		/FontBBox [0 0 7 7] def
		

		/Encoding 256 array def
			0 1 255 {Encoding exch /.notdef put} for
	
		Encoding
			dup (a) 0 get /az put
			dup (b) 0 get /bz put
			dup (c) 0 get /cz put
			dup (d) 0 get /dz put
			dup (e) 0 get /ez put
			dup (f) 0 get /fz put
			dup (g) 0 get /gz put
			dup (h) 0 get /hz put
			dup (i) 0 get /iz put
			dup (j) 0 get /jz put
			dup (k) 0 get /kz put
			(l) 0 get /lz put
	
		/CharProcs 14 dict def
		CharProcs begin
			/.notdef { } def
			/az {1 1 Rectfill} bind def
			/bz {2 1 Rectfill} bind def
			/cz {2 2 Rectfill} bind def
			/dz {3 2 Rectfill} bind def
			/ez {3 3 Rectfill} bind def
			/fz {3 3 Rectfill} bind def	
				
			/gz {3 4 moveto 3 4 lineto stroke} bind def		
			/hz {2 4 moveto 3 4 lineto 3 5 lineto stroke} bind def		
			/iz {2 4 moveto 4 4 lineto 3 3 moveto 3 5 lineto stroke} bind def		
			/jz {1 4 moveto 5 4 lineto 3 2 moveto 3 6 lineto stroke} bind def		
			/kz {1 4 moveto 5 4 lineto 3 2 moveto 3 6 lineto 
				2 3 moveto 4 5 lineto 2 5 moveto 4 3 lineto stroke} bind def		
			/lz {0 4 moveto 6 4 lineto 3 1 moveto 3 7 lineto
				2 3 moveto 4 5 lineto 2 5 moveto 4 3 lineto stroke} bind def		
		end
	
		/BuildGlyph
		{
			7 0 
			0 0 7 7 setcachedevice
			true setstrokeadjust
			exch /CharProcs get exch
				2 copy known not {pop /.notdef } if
				get exec
		}  bind def
	
		/BuildChar
		{
			1 index /Encoding get exch get
			1 index /BuildGlyph get exec
		}  bind def

		% currentdict
	end
  
	/fontname exch definefont pop
endps



defineps PSWXYShow (float X, Y; char *CharString; float XYScratch[j]; int j)
	X Y moveto  (CharString) XYScratch xyshow
endps

defineps PSWorkspaceWindow(|float *x,*y,*w,*h)
	workspaceWindow currentwindowbounds h w y x
endps

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.