intro_graphics_windows


	These are a set of routines (called WNLIB) that allows the application
	programmer to easily set up plots of values in terms of real world
	(engineering) coordinates in the graphics windows.  In addition
	to plotting points and drawing vectors, there are routines to draw
	and label plot grids.

	WNLIB routines use areas of the screen called view ports in which
	to do their plotting functions.  These view ports are defined in
	terms of fractions of the full screen rather than pixel coordinates.
	View port coordinates range from 0.0 to 1.0 in both X and Y
	regardless of the actual screen dimensions in pixels.  A view
	port is established through a call to the routine wn_view(_c).
	This should be the first WNLIB routine called by a program, and it
	returns a window identification number that is used in subsequent
	WNLIB routine calls.

	The next stage in the construction of a WNLIB window is to establish
	the real world (hereafter referred to simply as "world(_c)")
	coordinates for the X and Y dimensions.  This is accomplished by a
	call to wn_world(_c).  This routine uses the window ID from
	wn_view(_c) and passes the desired world coordinates.  The world
	coordinates for a given view port can be changed at any time by
	another call to wn_world(_c) with new values.

	At this point a completely defined window exists in memory that
	can be referred to by its window ID.  No actual drawing to the
	window can be done until it is made the active window through
	a call to wn_active(_c).  Now points (wn_point(_c)), lines
	(wn_vector(_c)), boxes (wn_box(_c)), symbols (wn_symbol(_c)),
	and text (wn_text(_c)) can be drawn in the window.  Many windows
	can be defined at the same time, but all actual drawing is done in
	the window that is currently active.

	There are two WNLIB routines which set overall drawing
	characteristics.  wn_clip(_c) can be called to clip all screen
	output to the current window.  wn_color(_c) is used to set the
	current drawing color.

	There are also two routines for coordinate conversions within
	a window.  wn_getscrn(_c) returns a physical screen coordinate
	for a given world coordinate, and wn_getworld(_c) returns a
	world coordinate for a given physical screen coordinate.  The
	latter is particularly useful for letting users interact with
	plot displays.
	
	Finally, there is a set of routines which are designed to facilitate
	labelled plots.  wn_axis_grid(_c) will draw an axis line in the
	desired plane and draw both major and minor tic marks on it as
	desired.  wn_axis_label(_c) goes a step further in that it will
	also provide numeric labels for the major tic marks, and it will
	display an axis title.  wn_grid(_c) takes this even further in that
	it creates a window and provides a completely labelled plot grid.

	A test program exists that allows the user to try out the various
	WNLIB calls interactively.  It is called WNLIB Test, and it
	can presently be found on console page D110.

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

	Overall graphics screen manipulation routines:

	wn_read_background_format
	wn_read_text_format
	wn_screen_init(_c)
	wn_screen_title
	wn_select_screen(_c)
	wn_set_background_format_c
	wn_set_background_size_c

	Window creation/deletion/activation routines:

	wn_active(_c)
	wn_view(_c)
	wn_world(_c)
	wn_delete_c
	wn_delete_all_c
	wn_set_scaling(_c)

	Drawing routines:

	wn_box(_c)
	wn_circle(_c)
	wn_circular_arc_c
	wn_colored_text_c
	wn_display_value(_c)
	wn_erase(_c)
	wn_external_colored_text_c
	wn_external_display_value_c
	wn_external_text(_c)
	wn_point(_c)
	wn_point_set
	wn_polygon_c
	wn_setsym(_c)
	wn_set_plot_symbol(_c)
	wn_symbol(_c)
	wn_symbol_set
	wn_text(_c)
	wn_vector(_c)

	Drawing environment routines:

	wn_active(_c)
	wn_background_color_c
	wn_border_width_c
	wn_clip(_c)
	wn_color(_c)
	wn_connect_points(_c)
	wn_draw_mode(_c)
	wn_fill_mode(_c)
	wn_plot_fill(_c)
	wn_setsym(_c)
	wn_set_plot_symbol(_c)
	wn_set_scaling(_c)
	wn_text_attributes_c
	wn_text_rotation(_c)
	wn_text_scaling_c
	wn_text_size(_c)
	wn_vector_grain(_c)
	wn_vector_width(_c)

	Coordinate handling routines:

	wn_getscrn(_c)
	wn_getworld(_c)
	wn_get_view_coords_c
	wn_get_world_coords_c
	wn_set_scaling(_c)
	wn_text_scaling_c

	Plotting routines:

	wn_axis_grid(_c)
	wn_axis_label(_c)
	wn_connect_points(_c)
	wn_external_colored_text_c
	wn_external_display_value_c
	wn_external_text(_c)
	wn_grid(_c)
	wn_plot_fill(_c)
	wn_point(_c)
	wn_point_set
	wn_quick_grid
	wn_setsym(_c)
	wn_set_plot_symbol(_c)
	wn_set_scaling(_c)
	wn_symbol(_c)
	wn_symbol_set

	Data manipulation routines:

	wn_data_extrema
	wn_data_fft_c
	wn_data_mean
	wn_data_polyfit_c
	wn_data_query
	wn_data_recall
	wn_data_save(_c)
	wn_data_set_cut_c

	Cursor routines:

	wn_cursor_disable
	wn_cursor_init(_c)
	wn_cursor_init_pixel_c
	wn_cursor_update
	wn_cursor_update_pixel
	wn_set_cursor_type_c

	Switch routines:

	wn_switch_create_c
	wn_switch_delete_c
	wn_switch_pressed
	wn_switch_read_c
	wn_switch_window_delete_c
	wn_window_has_switch_c

	These functions require the following include files:

	cbslib_h

	Related functions:

	wn_active(_c), wn_axis_grid(_c), wn_axis_label(_c),
	wn_background_color_c, wn_blank_c, wn_border_width_c, wn_box(_c),
	wn_circle(_c), wn_circular_arc_c, wn_clip(_c), wn_color(_c),
	wn_colored_text_c, wn_connect_points(_c), wn_cursor_disable,
	wn_cursor_init(_c), wn_cursor_init_pixel_c, wn_cursor_update,
	wn_cursor_update_pixel, wn_data_extrema, wn_data_fft_c,
	wn_data_mean, wn_data_polyfit_c, wn_data_query, wn_data_recall,
	wn_data_save(_c), wn_data_set_cut_c, wn_delete_c, wn_delete_all_c,
	wn_display_value(_c), wn_draw_mode(_c), wn_erase(_c),
	wn_external_colored_text_c, wn_external_display_value_c,
	wn_external_text(_c), wn_fill_mode(_c), wn_find_id(_c),
	wn_find_list_c, wn_flush, wn_getscrn(_c), wn_getworld(_c),
	wn_get_view_coords_c, wn_get_world_coords_c, wn_grid(_c),
	wn_intersect_c, wn_occluded_c, wn_plot_fill(_c), wn_point(_c),
	wn_point_set, wn_polygon_c, wn_query_setup, wn_quick_grid,
	wn_read_background_format, wn_read_text_format, wn_screen_init(_c),
	wn_screen_title, wn_select_screen(_c), wn_setsym(_c),
	wn_set_background_format_c, wn_set_background_size_c,
	wn_set_cursor_type_c, wn_set_plot_symbol(_c), wn_set_scaling(_c),
	wn_switch_create_c, wn_switch_delete_c, wn_switch_disable_c,
	wn_switch_enable_c, wn_switch_set_state_c, wn_switch_pressed,
	wn_switch_read_c, wn_switch_relabel_c, wn_switch_window_delete_c,
	wn_symbol(_c), wn_symbol_set, wn_text(_c), wn_text_attributes_c,
	wn_text_rotation(_c), wn_text_coord_to_virtual_c, wn_text_scaling_c,
	wn_text_size(_c), wn_vector(_c), wn_vector_grain(_c),
	wn_vector_width(_c), wn_view(_c), wn_view_construct_c,
	wn_view_pixel_c, wn_view_text_format_c, wn_wide_vector_c,
	wn_window_has_switch_c, wn_world(_c)