SET(SCREEN_UPDATE) Enables or disables screen updating for individual windows or the entire screen. By default, screen updating is enabled -- characters and cursor movements are sent to the screen to reflect the current internal state of buffers displayed on the screen. Syntax SET (SCREEN_UPDATE, {OFF | ON | 0 | 1} [, window]) Parameters OFF or 0 Disables screen or window updates until turned on. ON or 1 Enables screen or window updates, so characters and cursor movement are sent to the screen. This causes TPU to update the screen or window completely. window If not specified, updates are turned off for the entire screen. Otherwise, only the indicated window is affected. Usage notes Turning off updates for a specific window is used by applications that share the screen between TPU and some other code, such as FMS or DECForms. Such 'clear' windows tell TPU which areas of the screen to avoid. Clear windows must be mapped (using the MAP built-in) to reserve a section of the screen. Other window built-ins operate on clear windows, as follows: UPDATE, SCROLL and SET (STATUS_LINE) ignore clear windows. REFRESH, SET (WIDTH) and SET (HEIGHT) may erase the contents of a clear window. ADJUST_WINDOW, UNMAP, and DELETE can cause screen lines to be erased or modified during the next update. If a clear window becomes the current window because of a POSITION or MAP operation, the cursor position is indeterminate, and a detached cursor action routine may be invoked. Example The following statements turn screen updating off and on; depending on what actions occurred while updating is off, the screen may be cleared and repainted when you turn updating back on: SET (SCREEN_UPDATE, OFF); ! Turn off updates . . SET (SCREEN_UPDATE, ON); ! Turn updates back on The following statements prevent TPU from modifying the contents of lines 1-4 of the screen. All other lines are updated normally. The next update after turning on updates will completely repaint lines 1-4 with the contents of clear_buffer. clear_window := CREATE_WINDOW (1, 4, OFF); clear_buffer := CREATE_BUFFER ('Empty'); MAP (clear_window, clear_buffer); SET (SCREEN_UPDATE, OFF, clear_window); ! Turn off updates . . SET (SCREEN_UPDATE, ON, clear_window); ! Turn updates back on