[comp.lang.postscript] Emulating some NeWS operator extensions in PostScript

montnaro@sprite.steinmetz.ge.com (Skip Montanaro) (08/21/88)

Sun's NeWS product has lots of extensions to handle input, events,
multitasking, and so forth. It also has a few more generally useful
operators that I'd like to emulate for LaserWriters and such. Some are easy
to fake (the color stuff), some require a bit of thought (arccos, arcsin,
arctan, currentpath), some aren't worth doing (like input, monitors, and
events - just modify the stack appropriately), and some I can't think of how
to do at all (undef, contrastswithcurrent, copyarea). Can anybody give me
some pointers on the following (defs from the NeWS 1.1 manual):

	copyarea		dx dy => -
	Copies the area enclosed by the current path to a position offset by
	dx,dy from its current position. For example, you could use this
	primitive to scroll a text window. The nonzero winding number rule
	is used to define the inside and outside of the path.

	[ There is a corresponding eocopyarea that uses the even/odd
	winding rule. ]

	contrastswithcurrent	color => boolean
	Returns true if the color argument is different than the current
	color. The test takes into account the characteristics of the
	current device. The standard boolean operators, like eq can be used
	to compare colors without accounting for the current device.

	undef			dict key => -
	Removes the definition (if any) of key from dict.

	[ Note that undef doesn't make a copy, but modifies the dictionary
	in question. ]

--
Skip Montanaro (montanaro@sprite.steinmetz.ge.com, montanaro@ge-crd.arpa)