HyperNeWS requires a 'getanimated' type of tracking service. The ClassTrackingCanvas tnt class provides these facillities. The routines below return the following track states: /mouse_cancel: There was no mouse down or the user cancelled, take no action. /mouse_drag: The mouse was dragged. /mouse_up: The mouse is up again, take action. /mouse_click: The mouse was clicked but not moved, take action. subclasser routines ------------------- A sub-class of ClassTrackingCanvas should define the following routines to handle mouse down events: /onselect % -- Select button was clicked /onadjust % -- Adjustbutton was clicked track routines -------------- /trackable % -- boolean Returns true if the currentprocess is allowed to call 'track'. /track_state % -- status Returns /mouse_click, /mouse_up, /mouse_drag or /mouse_cancel. An allows the previewing of the mouse motion. For example: if you click on the border of an X window you won't see a drag-rectangle until you move the mouse. Must be called before /track. /track % proc -- status Executes 'proc' repeatedly for every mouse move. When 'proc' is executed the event will be on the stack. Returns /mouse_click, /mouse_up or /mouse_cancel. The final position can be obtained with mousexy. /track_overlay % proc -- status Same as /track but an overlay is created first. erasepage is called when appropriate. event management ---------------- /mouseevent % -- event Return the last mouse event, or an nullevent if there wasn't one. /eventxy % event -- x y Return the x,y location of the event in the current coordinate system. /mousexy % -- x y Return the x,y location of the last mouseevent in the current coordinate system. /mouselevel % -- n Return the click-level (double, triple click) of the last mouse click.