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)