intro_tv_windows


	These are a set of routines that manage the TV I/O for an
	applications program.  This management permits the use of
	multiple tiled or overlapping windows.  It also allows these
	windows to be moved, resized, or restacked under program
	control or under user control.

	The Window Manager treats everything as a window, including the
	entire TV screen.  This is considered to be the background or
	root window.  This window does not have to be explicitly created
	by the programmer, but it can be referenced by using the defined
	constant WMNGR_BACKGROUND.  Additional windows can be created by
	calls to 'window_construct(_c)' or 'window_create(_c)'.  These
	routines have a similar calling sequence to "wmake(_c)" with
	additional optional arguments to specify window clipping, scroll
	bars, window movement, screen repainting mode, and border type.

	For those programmers who are not immediately in need of windows
	created within their program, but who would like to take advantage
	of fixed menus, menu bars, etc, there are replacement routines
	for the TVx routines which allow the use of Window Manager I/O
	with little change in source code.  These routines have the
	same names as their TVx counterparts, but have a prefix of "b".

		TV version		Window Manager version
		----------		----------------------
		 tvm(_c)			'btvm(_c)'
		 tvmx(_c)			'btvmx(_c)'
		 tvblnk(_c)			'btvblnk(_c)'
		 tvfill(_c)			'btvfill(_c)'
		 tvcolr(_c)			'btvcolr(_c)'
		 tvdisp(_c)			'btvdisp(_c)'
		 tvceol(_c)			'btvceol(_c)'
		 tvceop				'btvceop(_c)'
		 infld(_c)			'binfld(_c)'
		 inbox(_c)			'binbox(_c)'

	These routines also have the same argument lists as their
	TVx counterparts except for the format of the color arguments
	of FORTRAN-style calls which specify a background color.

	If one chooses to use the full Window Manager set of I/O
	routines, the first call should be made to 'window_construct(_c)',
	'window_enable_interrupts', 'window_set_background_size(_c)', or
	'window_init'.  This initializes the underlying Window Manager data
	structures.  A basic set of "window_xxx" routines to use would
	probably include the following:

	'window_intype' - retrieves program event or interrupt information
	'window_set_background_size(_c)' - set background window size
	'window_enable_interrupts' - enables automatic scrolling, moving,
				     and resizing of windows
	'window_restore_hint_c' - requests restore mode for windows created by
				  CLIB routines
	'window_construct(_c)' - creates a new window
	'window_delete(_c)' - deletes a window
	'window_tvm(_c)' - draws a simple text string in a window
	'window_draw_char_c' - draws a single character in a window
	'window_tvmx(_c)' - draws a color encoded text string in a window
	'window_display_value(_c)' - displays values of different data types
	'window_input_value(_c)' - inputs values of different data types
	'window_enable_scroll_io(_c)' - allows I/O to a window's scroll buffer
	'window_entry_to_row(_c)' - calculates proper row for window I/O in
				    a scrolling window
	'in_window_c' - determines if the TV cursor was in a given window
			at the time of the last interrupt
	'in_window_field(_c)' - determines if the TV cursor was in a given field
				in a window at the time of the last interrupt
	'in_window_box(_c)' - determines if the TV cursor was in a given region
			      in a window at the time of the last interrupt

	It is important to note that calls to Window Manager routines
	and TVx routines should not be intermingled in a program.
	Only one TV I/O system should be used within a program.
	Otherwise, unexpected results will occur.

	A test program exists that allows the user to try out the various
	Window Manager calls interactively.  It is called 'Window Manager Tst',
	and it can presently be found on console page D133.

	Another test program, called CLIB Peeker (D22), can be used to
	look at internal Window Manager values in order to debug programming
	problems.

	The following is a list of Window Manager routines along
	with their TVx counterparts, if any exist.


		Window Manager			TVx
		--------------			---
		'hilite_create_c'		none
		'hilite_delete_c'		none
		'hilite_resume_c'		none
		'hilite_suspend_c'		none
		'hilite_update_c'		none
		'hilite_window_delete_c'	none
		'interrupt_window'		none
		'in_window_c'			none
		'in_window_box(_c)'		inbox(_c)
		'in_window_field(_c)'		infld(_c)
		'in_window_line(_c)'		none
		'menu_bar_change_entry_c'	none
		'menu_bar_create'		none
		'menu_bar_delete'		none
		'menu_bar_disable_c'		none
		'menu_bar_dncase_entry_c'	none
		'menu_bar_enable_c'		none
		'menu_bar_upcase_entry_c'	none
		'menu_bar_update'		none
		'screen_column(_c)'		none
		'screen_row(_c)'		none
		'select_field_delete_c'		none
		'select_field_init_c'		none
		'select_field_read_c'		none
		'select_field_register_c'	none
		'select_field_set_c'		none
		'select_field_update_c'		none
		'slider_create_c'		none
		'slider_delete_c'		none
		'slider_get_values_c'		none
		'slider_read_c'			none
		'slider_set_c'			none
		'slider_set_values_c'		none
		'slider_update_c'		none
		'slider_was_moved'		none
		'switch_change_case_c'		none
		'switch_create_c'		none
		'switch_create_radio_c'		none
		'switch_delete_c'		none
		'switch_pressed'		none
		'switch_read_c'			none
		'switch_relabel_c'		none
		'switch_set_flash_c'		none
		'switch_window_delete_c'	none
		'window_background_color_c'	none
		'window_blank(_c)'		tvblnk(_c)
		'window_border_button_c'	none
		'window_box_c'			tvbox_c
		'window_callback_init'		none
		'window_callback_term'		none
		'window_center_text(_c)'	none
		'window_column(_c)'		none
		'window_construct(_c)'		none (similar to wmake(_c))
		'window_coords'			none
		'window_copy(_c)'		none
		'window_create(_c)'		wmake(_c)
		'window_delete(_c)'		wdelet(_c)
		'window_delete_border_button_c'	none
		'window_delete_char_c'		none
		'window_delete_line_c'		none
		'window_delete_scroll_buffer_c'	none
		'window_disable_interrupts'	none
		'window_disable_move_c'		none
		'window_disable_occluded_ints_c'none
		'window_disable_resize_c'	none
		'window_disable_restack_c'	none
		'window_disable_scroll_io_c'	none
		'window_disable_scroll_save_c'	none
		'window_disable_scroll_slider_c'none
		'window_display_value(_c)'	display_value(_c)
		'window_down_case_c'		none
		'window_draw_char_c'		none
		'window_enable_interrupts'	none
		'window_enable_move_c'		none
		'window_enable_occluded_ints_c'	none
		'window_enable_resize_c'	none
		'window_enable_restack_c'	none
		'window_enable_scroll_io(_c)'	none
		'window_enable_scroll_save_c'	none
		'window_enable_scroll_slider_c'	none
		'window_enable_scroll_status_c'	none
		'window_entry_to_row_c'		none
		'window_erase_c'		none
		'window_erase_line(_c)'		none
		'window_erase_to_eol_c'		tvceol_c
		'window_exposed_region_c'	none
		'window_fit_window'		none
		'window_freeze_c'		none
		'window_gap_c'			none
		'window_handle_to_id'		none
		'window_has_feature_c'		none
		'window_has_menu_bar_c'		none
		'window_has_switch_c'		none
		'window_hilite_c'		hilite_c
		'window_hilite_line_c'		none
		'window_hline_c'		tvhlin_c
		'window_hole_c'			none
		'window_hscroll_c'		none
		'window_hscroll_offset_c'	none
		'window_init'			none
		'window_init_sequential_write_c'none
		'window_input_value(_c)'	input_value(_c)
		'window_insert_char_c'		none
		'window_insert_line_c'		none
		'window_interrupt_cursor'	none
		'window_intersect_c'		none
		'window_intype'			none
		'window_intype_again'		none
		'window_intype_put_data'	none
		'window_is_frozen_c'		none
		'window_is_occluding_c'		none
		'window_justify_text_c'		none
		'window_key_case_c'		tvcase
		'window_key_color_c'		tvkbat
		'window_last_io_location_c'	none
		'window_last_scroll'		none
		'window_last_horizontal_scroll'	none
		'window_manager_initialized'	none
		'window_menu_bar_create_c'	none
		'window_menu_bar_delete_c'	none
		'window_menu_bar_update_c'	none
		'window_move'			none
		'window_move_disable'		none
		'window_move_enable'		none
		'window_next_scroll_row_c'	none
		'window_occluded_by_c'		none
		'window_occluded_c'		none
		'window_occluding_c'		none
		'window_physical_column_c'	none
		'window_printf_at_c'		none
		'window_printf_c'		none
		'window_printf_noscroll_c'	none
		'window_query_scroll'		none
		'window_read_color_text_c'	none
		'window_read_cursor'		rdcurs
		'window_read_handle'		none
		'window_read_menu_bar_info'	none
		'window_read_text_c'		none
		'window_reborder_c'		none
		'window_rectangle_c'		tvbox(_c)
		'window_refresh_c'		none
		'window_refresh_all_c'		none
		'window_register_function_c'	none
		'window_resize'			none
		'window_restore_hint_c'		none
		'window_retitle_c'		none
		'window_row(_c)'		none
		'window_row_to_entry_c'		none
		'window_scroll(_c)'		tvwndo and tvscrl
		'window_scroll_block_c'		tvwndo and tvscrl
		'window_scroll_offset_c'	none
		'window_scroll_page_c'		none
		'window_scroll_to_bottom_c'	none
		'window_scroll_to_top_c'	none
		'window_select_copy_c'		none
		'window_select_pop_c'		none
		'window_select_push_c'		none
		'window_select_stack_c'		none
		'window_sequential_write_c'	none
		'window_set_background_size(_c)'tvsfmt
		'window_set_clip_c'		none
		'window_set_cursor(_c)'		tvscrs
		'window_set_handle_c'		none
		'window_set_parameter_c'	none
		'window_set_popup_c'		none
		'window_set_position'		none
		'window_set_resize_mode_c'	none
		'window_set_scroll_colors_c'	none
		'window_set_scroll_limit_c'	none
		'window_set_scroll_region_c'	tvwndo
		'window_set_size'		none
		'window_set_size_limit_c'	none
		'window_size'			tvrfmt
		'window_text_block(_c)'		none
		'window_text_color(_c)'		tvcolr(_c)
		'window_text_fill(_c)'		tvfill(_c)
		'window_title'			none
		'window_topmost_c'		none
		'window_total_lines_c'		none
		'window_to_back'		none
		'window_to_front'		none
		'window_to_graphic_screen_c'	none
		'window_to_printer_c'		none
		'window_tvdisp(_c)'		tvdisp(_c)
		'window_tvm(_c)'		tvm(_c)
		'window_tvmx(_c)'		tvmx(_c)
		'window_tvsave_c'		none
		'window_unfit_window'		none
		'window_unfreeze_c'		none
		'window_unregister_function_c'	none
		'window_up_case_c'		none
		'window_vertical_text(_c)'	none
		'window_virtual_column_c'	none
		'window_vline_c'		tvvlin_c
		'window_write_line_c'		none
		'window_write_scroll_c'		none
		'window_write_xchar_line_c'	none

	Program control routines:

	'window_intype'
	'window_intype_again'
	'window_intype_put_data_c'
	'in_window_c'
	'in_window_box(_c)'
	'in_window_field(_c)'
	'in_window_line(_c)'
	'interrupt_window'

	Window creation/deletion routines:

	'window_construct(_c)'
	'window_create(_c)'
	'window_delete(_c)'

	Drawing routines:

	'window_blank(_c)'
	'window_border_button_c'
	'window_box_c'
	'window_center_text(_c)'
	'window_display_value(_c)'
	'window_down_case_c'
	'window_erase_c'
	'window_erase_line(_c)'
	'window_erase_to_eol_c'
	'window_hilite_c'
	'window_hilite_line_c'
	'window_hline_c'
	'window_init_sequential_write_c'
	'window_justify_text_c'
	'window_rectangle_c'
	'window_sequential_write_c'
	'window_text_color(_c)'
	'window_text_fill(_c)'
	'window_tvdisp(_c)'
	'window_tvm(_c)'
	'window_tvmx(_c)'
	'window_up_case_c'
	'window_vertical_text(_c)'
	'window_vline_c'
	'window_write_line_c'
	'window_write_scroll_c'
	'window_write_xchar_line_c'

	Input routines:

	'window_input_value(_c)'
	'window_read_color_text_c'
	'window_read_cursor'
	'window_read_text_c'
	'window_tvm(_c)'
	'window_tvmx(_c)'

	Coordinate handling routines:

	'screen_column(_c)'
	'screen_row(_c)'
	'window_column(_c)'
	'window_coords'
	'window_entry_to_row_c'
	'window_physical_column_c'
	'window_row(_c)'
	'window_row_to_entry_c'
	'window_virtual_column_c'

	Scroll routines:

	'window_delete_line_c'
	'window_delete_scroll_buffer_c'
	'window_disable_scroll_io_c'
	'window_disable_scroll_save_c'
	'window_disable_scroll_slider_c'
	'window_enable_scroll_io(_c)'
	'window_enable_scroll_save_c'
	'window_enable_scroll_slider_c'
	'window_enable_scroll_status_c'
	'window_entry_to_row_c'
	'window_hscroll_c'
	'window_hscroll_offset_c'
	'window_last_scroll'
	'window_last_horizontal_scroll'
	'window_physical_column_c'
	'window_query_scroll'
	'window_row_to_entry_c'
	'window_scroll(_c)'
	'window_scroll_block_c'
	'window_scroll_offset_c'
	'window_scroll_page_c'
	'window_scroll_to_bottom_c'
	'window_scroll_to_top_c'
	'window_sequential_write_c'
	'window_set_parameter_c'
	'window_set_scroll_colors_c'
	'window_set_scroll_limit_c'
	'window_set_scroll_region_c'
	'window_total_lines_c'
	'window_virtual_column_c'
	'window_write_line_c'
	'window_write_scroll_c'
	'window_write_xchar_line_c'

	Window moving, resizing, and restacking routines:

	'window_disable_move_c'
	'window_disable_resize_c'
	'window_disable_restack_c'
	'window_enable_move_c'
	'window_enable_resize_c'
	'window_enable_restack_c'
	'window_intersect_c'
	'window_move'
	'window_occluded_by_c'
	'window_occluded_c'
	'window_occluding_c'
	'window_resize'
	'window_set_background_size(_c)'
	'window_set_position'
	'window_set_size'
	'window_set_size_limit_c'
	'window_to_back'
	'window_to_front'
	'window_topmost_c'

	Window action control routines:

	'window_disable_interrupts'
	'window_disable_move_c'
	'window_disable_resize_c'
	'window_disable_restack_c'
	'window_enable_interrupts'
	'window_enable_move_c'
	'window_enable_resize_c'
	'window_enable_restack_c'
	'window_freeze_c'
	'window_is_frozen_c'
	'window_move_disable'
	'window_move_enable'
	'window_set_popup_c'
	'window_unfreeze_c'

	Window miscellaneous routines:

	'window_has_feature_c'
	'window_set_parameter_c'

	Highlighting routines:

	'hilite_create_c'
	'hilite_delete_c'
	'hilite_resume_c'
	'hilite_suspend_c'
	'hilite_update_c'
	'hilite_window_delete_c'
	'window_hilite_c'
	'window_hilite_line_c'

	Menu bar routines:

	'menu_bar_change_entry_c'
	'menu_bar_create'
	'menu_bar_delete'
	'menu_bar_disable_c'
	'menu_bar_dncase_entry_c'
	'menu_bar_enable_c'
	'menu_bar_upcase_entry_c'
	'menu_bar_update'
	'window_has_menu_bar_c'
	'window_menu_bar_create_c'
	'window_menu_bar_delete_c'
	'window_menu_bar_update_c'

	Switch routines:

	'switch_change_case_c'
	'switch_create_c'
	'switch_create_radio_c'
	'switch_delete_c'
	'switch_pressed'
	'switch_read_c'
	'switch_relabel_c'
	'switch_set_flash_c'
	'switch_window_delete_c'
	'window_has_switch_c'

	Slider routines:

	'slider_create_c'
	'slider_delete_c'
	'slider_get_values_c'
	'slider_read_c'
	'slider_set_c'
	'slider_set_values_c'
	'slider_update_c'
	'slider_was_moved'

	Select field routines:

	'select_field_delete_c'
	'select_field_init_c'
	'select_field_read_c'
	'select_field_register_c'
	'select_field_set_c'
	'select_field_update_c'

	These functions require the following include files:

	cbslib_h

	Related functions:

	hilite_create_c, hilite_delete_c, hilite_resume_c,
	hilite_simple_row_create_c, hilite_suspend_c, hilite_update_c,
	hilite_window_delete_c, input_field_create_c, input_field_delete_c,
	input_field_disable_c, input_field_enable_c, input_field_read_c,
	input_field_set_c, input_field_set_id_type_c,
	input_field_window_delete_c, interrupt_window, in_window_c,
	in_window_box(_c), in_window_field(_c), in_window_line(_c),
	list_field_create_c, list_field_delete_c, list_field_disable_c,
	list_field_enable_c, list_field_read_c, list_field_set_c,
	list_field_set_id_type_c, list_field_window_delete_c,
	menu_bar_change_entry_c, menu_bar_create, menu_bar_delete,
	menu_bar_disable_c, menu_bar_dncase_entry_c, menu_bar_enable_c,
	menu_bar_field_coordinates_c, menu_bar_min_width_c,
	menu_bar_upcase_entry_c, menu_bar_update, screen_column(_c),
	screen_row(_c), select_field_delete_c, select_field_disable_c,
	select_field_enable_c, select_field_init_c, select_field_read_c,
	select_field_register_c, select_field_set_c, select_field_text_to_id_c,
	select_field_update_c, slider_create_c, slider_delete_c,
	slider_get_values_c, slider_read_c, slider_set_c, slider_set_values_c,
	slider_update_c, slider_was_moved, switch_change_case_c,
	switch_create_c, switch_create_radio_c, switch_delete_c,
	switch_disable_c, switch_enable_c, switch_pressed, switch_read_c,
	switch_relabel_c, switch_set_flash_c, switch_set_state_c,
	switch_text_to_id_c, switch_window_delete_c, window_add_callback_c,
	window_align_to_window_c, window_background_color_c, window_blank(_c),
	window_border_button_c, window_box_c, window_button_create_c,
	window_button_delete_c, window_button_disable_c, window_button_enable_c,
	window_button_set_id_type_c, window_button_text_to_id_c,
	window_callback_init, window_callback_term, window_center_text(_c),
	window_column(_c), window_construct(_c), window_coords(_c),
	window_copy(_c), window_create(_c), window_delete(_c),
	window_delete_border_button_c, window_delete_char_c,
	window_delete_line_c, window_delete_scroll_buffer_c,
	window_disable_interrupts, window_disable_move_c,
	window_disable_occluded_ints_c, window_disable_resize_c,
	window_disable_restack_c, window_disable_scroll_io_c,
	window_disable_scroll_save_c, window_disable_scroll_slider_c,
	window_disable_scroll_status_c, window_display_value(_c),
	window_down_case_c, window_draw_char_c, window_enable_interrupts,
	window_enable_move_c, window_enable_occluded_ints_c,
	window_enable_resize_c, window_enable_restack_c,
	window_enable_scroll_io(_c), window_enable_scroll_save_c,
	window_enable_scroll_slider_c, window_enable_scroll_status_c,
	window_end_intype_loop, window_entry_to_row_c, window_erase_c,
	window_erase_line(_c), window_erase_to_eol_c, window_exposed_region_c,
	window_field_add_callback_c, window_field_create_c,
	window_field_delete_c, window_field_delete_callback_c,
	window_field_disable_c, window_field_enable_c, window_field_init_c,
	window_fit_window, window_flush_text_region_c,
	window_flush_typed_text_c, window_freeze_c, window_gap_c,
	window_gap_length_c, window_get_parameter_c, window_handle_to_id,
	window_has_feature_c, window_has_menu_bar_c, window_has_switch_c,
	window_hilite_c, window_hilite_line_c, window_hline_c, window_hole_c,
	window_hscroll_c, window_hscroll_offset_c, window_hscroll_page_c,
	window_init, window_init_sequential_write_c, window_input_value(_c),
	window_insert_char_c, window_insert_line_c, window_interrupt_cursor(_c),
	window_intersect_c, window_intype, window_intype_again,
	window_intype_loop_c, window_intype_put_data, window_is_frozen_c,
	window_is_occluding_c, window_justify_text_c, window_key_case_c,
	window_key_color_c, window_key_echo_c, window_last_io_location_c,
	window_last_scroll, window_last_horizontal_scroll,
	window_manager_initialized, window_menu_bar_create_c,
	window_menu_bar_delete_c, window_menu_bar_update_c, window_move,
	window_move_disable, window_move_enable, window_next_scroll_row_c,
	window_num_popup_windows, window_occluded_by_c, window_occluded_c,
	window_occluding_c, window_physical_column_c, window_printf_at_c,
	window_printf_c, window_printf_noscroll_c, window_query_scroll(_c),
	window_read_background_size, window_read_color_text_c,
	window_read_cursor(_c), window_read_handle, window_read_menu_bar_info,
	window_read_text_c, window_reborder_c, window_rectangle_c,
	window_refresh_c, window_refresh_all_c, window_register_function_c,
	window_remove_callback_c, window_resize, window_restore_hint_c,
	window_retitle_c, window_row(_c), window_row_to_entry_c,
	window_scroll(_c), window_scroll_block_c, window_scroll_offset_c,
	window_scroll_page_c, window_scroll_to_bottom_c,
	window_scroll_to_left_c, window_scroll_to_right_c,
	window_scroll_to_top_c, window_select_copy_c, window_select_pop_c,
	window_select_push_c, window_select_stack_c, window_sequential_write_c,
	window_set_background_size(_c), window_set_clip_c,
	window_set_cursor(_c), window_set_handle_c, window_set_parameter_c,
	window_set_popup_c, window_set_position(_c), window_set_resize_mode_c,
	window_set_scroll_colors_c, window_set_scroll_limit_c,
	window_set_scroll_region_c, window_set_size(_c),
	window_set_size_limit_c, window_size(_c), window_text_block(_c),
	window_text_color(_c), window_text_fill(_c), window_title(_c),
	window_title_to_id, window_topmost_c, window_total_lines_c,
	window_to_back, window_to_front, window_to_graphic_screen_c,
	window_to_printer_c, window_tvdisp(_c), window_tvm(_c),
	window_tvmx(_c), window_tvsave_c, window_unfit_window,
	window_unfreeze_c, window_unregister_function_c,
	window_update_background_c, window_up_case_c, window_vertical_text(_c),
	window_virtual_column_c, window_vline_c, window_write_line_c,
	window_write_scroll_c, window_write_string_c, window_write_xchar_line_c