head     56.3;
access   paws bayes jws quist brad dew jwh;
symbols  ;
locks    ; strict;
comment  @# @;


56.3
date     93.01.27.13.28.15;  author jwh;  state Exp;
branches ;
next     56.2;

56.2
date     93.01.27.12.06.10;  author jwh;  state Exp;
branches ;
next     56.1;

56.1
date     91.11.05.09.49.17;  author jwh;  state Exp;
branches ;
next     55.2;

55.2
date     91.11.04.15.09.01;  author jwh;  state Exp;
branches ;
next     55.1;

55.1
date     91.08.25.10.25.36;  author jwh;  state Exp;
branches ;
next     54.2;

54.2
date     91.08.21.13.19.42;  author jwh;  state Exp;
branches ;
next     54.1;

54.1
date     91.03.18.15.28.44;  author jwh;  state Exp;
branches ;
next     53.2;

53.2
date     91.03.18.13.46.22;  author jwh;  state Exp;
branches ;
next     53.1;

53.1
date     91.03.11.19.29.13;  author jwh;  state Exp;
branches ;
next     52.2;

52.2
date     91.03.11.17.03.21;  author jwh;  state Exp;
branches ;
next     52.1;

52.1
date     91.02.19.09.13.13;  author jwh;  state Exp;
branches ;
next     51.2;

51.2
date     91.02.18.21.00.32;  author jwh;  state Exp;
branches ;
next     51.1;

51.1
date     91.01.30.16.12.59;  author jwh;  state Exp;
branches ;
next     50.2;

50.2
date     91.01.30.09.35.10;  author jwh;  state Exp;
branches ;
next     50.1;

50.1
date     90.10.29.16.27.35;  author jwh;  state Exp;
branches ;
next     49.2;

49.2
date     90.10.29.14.24.34;  author jwh;  state Exp;
branches ;
next     49.1;

49.1
date     90.08.14.14.11.51;  author jwh;  state Exp;
branches ;
next     48.2;

48.2
date     90.08.14.09.50.34;  author jwh;  state Exp;
branches ;
next     48.1;

48.1
date     90.07.26.11.18.07;  author jwh;  state Exp;
branches ;
next     47.2;

47.2
date     90.07.24.15.09.25;  author jwh;  state Exp;
branches ;
next     47.1;

47.1
date     90.05.14.11.01.34;  author dew;  state Exp;
branches ;
next     46.1;

46.1
date     90.05.07.08.48.37;  author jwh;  state Exp;
branches ;
next     45.2;

45.2
date     90.05.04.15.04.47;  author jwh;  state Exp;
branches ;
next     45.1;

45.1
date     90.04.19.15.56.32;  author jwh;  state Exp;
branches ;
next     44.2;

44.2
date     90.04.19.13.33.56;  author jwh;  state Exp;
branches ;
next     44.1;

44.1
date     90.04.01.22.13.37;  author jwh;  state Exp;
branches ;
next     43.2;

43.2
date     90.04.01.16.33.38;  author jwh;  state Exp;
branches ;
next     43.1;

43.1
date     90.03.20.14.05.35;  author jwh;  state Exp;
branches ;
next     42.2;

42.2
date     90.03.19.16.21.44;  author jwh;  state Exp;
branches ;
next     42.1;

42.1
date     90.01.23.17.50.23;  author jwh;  state Exp;
branches ;
next     41.2;

41.2
date     90.01.20.16.56.43;  author jwh;  state Exp;
branches ;
next     41.1;

41.1
date     89.12.22.11.32.17;  author jwh;  state Exp;
branches ;
next     40.2;

40.2
date     89.12.21.15.17.35;  author jwh;  state Exp;
branches ;
next     40.1;

40.1
date     89.09.29.11.54.03;  author jwh;  state Exp;
branches ;
next     39.2;

39.2
date     89.09.28.17.36.52;  author jwh;  state Exp;
branches ;
next     39.1;

39.1
date     89.09.26.16.38.32;  author dew;  state Exp;
branches ;
next     38.2;

38.2
date     89.09.26.14.53.44;  author dew;  state Exp;
branches ;
next     38.1;

38.1
date     89.08.29.11.30.27;  author jwh;  state Exp;
branches ;
next     37.2;

37.2
date     89.08.28.12.36.41;  author jwh;  state Exp;
branches ;
next     37.1;

37.1
date     89.05.12.11.43.19;  author dew;  state Exp;
branches ;
next     36.2;

36.2
date     89.05.11.12.03.55;  author quist;  state Exp;
branches ;
next     36.1;

36.1
date     89.02.06.10.21.27;  author dew;  state Exp;
branches ;
next     35.1;

35.1
date     89.02.02.13.36.39;  author dew;  state Exp;
branches ;
next     34.1;

34.1
date     89.01.23.16.11.47;  author jwh;  state Exp;
branches ;
next     33.2;

33.2
date     89.01.20.16.42.23;  author jwh;  state Exp;
branches ;
next     33.1;

33.1
date     89.01.16.11.43.32;  author dew;  state Exp;
branches ;
next     32.2;

32.2
date     89.01.13.11.41.50;  author dew;  state Exp;
branches ;
next     32.1;

32.1
date     89.01.10.11.52.24;  author bayes;  state Exp;
branches ;
next     31.2;

31.2
date     89.01.09.12.17.37;  author dew;  state Exp;
branches ;
next     31.1;

31.1
date     88.12.14.18.13.29;  author bayes;  state Exp;
branches ;
next     30.2;

30.2
date     88.12.14.13.49.51;  author bayes;  state Exp;
branches ;
next     30.1;

30.1
date     88.12.09.13.50.22;  author dew;  state Exp;
branches ;
next     29.2;

29.2
date     88.12.08.15.59.45;  author bayes;  state Exp;
branches ;
next     29.1;

29.1
date     88.10.31.15.35.18;  author bayes;  state Exp;
branches ;
next     28.2;

28.2
date     88.10.31.10.59.20;  author bayes;  state Exp;
branches ;
next     28.1;

28.1
date     88.10.06.11.01.47;  author dew;  state Exp;
branches ;
next     27.2;

27.2
date     88.10.05.17.59.41;  author bayes;  state Exp;
branches ;
next     27.1;

27.1
date     88.09.29.11.40.20;  author bayes;  state Exp;
branches ;
next     26.1;

26.1
date     88.09.28.13.18.32;  author bayes;  state Exp;
branches ;
next     25.4;

25.4
date     88.03.30.09.07.40;  author bayes;  state Exp;
branches ;
next     25.3;

25.3
date     88.03.18.10.03.18;  author quist;  state Exp;
branches ;
next     25.2;

25.2
date     88.03.09.08.49.57;  author quist;  state Exp;
branches ;
next     25.1;

25.1
date     88.03.02.09.35.00;  author bayes;  state Exp;
branches ;
next     24.2;

24.2
date     88.03.01.09.48.35;  author bayes;  state Exp;
branches ;
next     24.1;

24.1
date     87.08.31.09.58.12;  author jws;  state Exp;
branches ;
next     23.2;

23.2
date     87.08.30.16.01.15;  author jws;  state Exp;
branches ;
next     23.1;

23.1
date     87.08.26.10.36.43;  author bayes;  state Exp;
branches ;
next     22.2;

22.2
date     87.08.25.19.46.25;  author jws;  state Exp;
branches ;
next     22.1;

22.1
date     87.08.17.11.22.12;  author bayes;  state Exp;
branches ;
next     21.2;

21.2
date     87.08.15.17.46.26;  author larry;  state Exp;
branches ;
next     21.1;

21.1
date     87.08.12.14.04.55;  author bayes;  state Exp;
branches ;
next     20.2;

20.2
date     87.08.12.11.19.53;  author bayes;  state Exp;
branches ;
next     20.1;

20.1
date     87.07.30.11.18.20;  author bayes;  state Exp;
branches ;
next     19.2;

19.2
date     87.07.29.18.54.53;  author larry;  state Exp;
branches ;
next     19.1;

19.1
date     87.06.01.08.32.22;  author jws;  state Exp;
branches ;
next     18.2;

18.2
date     87.05.31.15.44.20;  author jws;  state Exp;
branches ;
next     18.1;

18.1
date     87.05.20.15.32.44;  author bayes;  state Exp;
branches ;
next     17.2;

17.2
date     87.05.20.11.28.53;  author bayes;  state Exp;
branches ;
next     17.1;

17.1
date     87.04.30.10.43.06;  author jws;  state Exp;
branches ;
next     16.1;

16.1
date     87.04.26.15.54.49;  author jws;  state Exp;
branches ;
next     15.2;

15.2
date     87.04.24.18.55.09;  author jws;  state Exp;
branches ;
next     15.1;

15.1
date     87.04.13.09.31.25;  author jws;  state Exp;
branches ;
next     14.2;

14.2
date     87.04.12.17.57.18;  author jws;  state Exp;
branches ;
next     14.1;

14.1
date     87.04.01.15.38.07;  author jws;  state Exp;
branches ;
next     13.2;

13.2
date     87.04.01.10.32.54;  author jws;  state Exp;
branches ;
next     13.1;

13.1
date     87.02.28.18.39.27;  author jws;  state Exp;
branches ;
next     12.2;

12.2
date     87.02.28.16.30.56;  author jws;  state Exp;
branches ;
next     12.1;

12.1
date     87.02.02.13.30.48;  author jws;  state Exp;
branches ;
next     11.2;

11.2
date     87.02.02.11.05.33;  author jws;  state Exp;
branches ;
next     11.1;

11.1
date     87.01.19.09.57.20;  author jws;  state Exp;
branches ;
next     10.2;

10.2
date     87.01.18.19.46.26;  author jws;  state Exp;
branches ;
next     10.1;

10.1
date     86.12.24.11.06.39;  author jws;  state Exp;
branches ;
next     9.2;

9.2
date     86.12.23.17.45.49;  author jws;  state Exp;
branches ;
next     9.1;

9.1
date     86.12.12.14.50.20;  author bayes;  state Exp;
branches ;
next     8.2;

8.2
date     86.12.12.11.23.59;  author bayes;  state Exp;
branches ;
next     8.1;

8.1
date     86.11.27.12.05.11;  author jws;  state Exp;
branches ;
next     7.2;

7.2
date     86.11.26.17.57.41;  author jws;  state Exp;
branches ;
next     7.1;

7.1
date     86.11.20.13.58.29;  author hal;  state Exp;
branches ;
next     6.2;

6.2
date     86.11.19.16.59.33;  author bayes;  state Exp;
branches ;
next     6.1;

6.1
date     86.11.04.18.09.10;  author paws;  state Exp;
branches ;
next     5.3;

5.3
date     86.11.04.13.56.34;  author paws;  state Exp;
branches ;
next     5.2;

5.2
date     86.10.29.13.50.12;  author geli;  state Exp;
branches ;
next     5.1;

5.1
date     86.10.28.16.57.42;  author hal;  state Exp;
branches ;
next     4.2;

4.2
date     86.10.28.12.20.35;  author hal;  state Exp;
branches ;
next     4.1;

4.1
date     86.09.30.19.54.43;  author hal;  state Exp;
branches ;
next     3.2;

3.2
date     86.09.30.15.29.42;  author hal;  state Exp;
branches ;
next     3.1;

3.1
date     86.09.01.12.05.13;  author hal;  state Exp;
branches ;
next     2.4;

2.4
date     86.09.01.09.45.48;  author hal;  state Exp;
branches ;
next     2.3;

2.3
date     86.08.20.13.01.06;  author danm;  state Exp;
branches ;
next     2.2;

2.2
date     86.08.19.13.01.52;  author danm;  state Exp;
branches ;
next     2.1;

2.1
date     86.07.30.14.53.40;  author hal;  state Exp;
branches ;
next     1.3;

1.3
date     86.07.30.10.56.25;  author geli;  state Exp;
branches ;
next     1.2;

1.2
date     86.07.15.17.43.58;  author geli;  state Exp;
branches ;
next     1.1;

1.1
date     86.06.30.15.40.56;  author danm;  state tmp;
branches ;
next     ;


desc
@Base file for PWS 3.2 release.

@


56.3
log
@
pws2rcs automatic delta on Wed Jan 27 13:14:25 MST 1993
@
text
@{                                                                           }
{ Pascal work station graphics library                                      }
{                                                                           }
{ Module    = DGL_VARS                                                      }
{ Programer = BJS                                                           }
{ Date      = 2/1/82                                                        }
{                                                                           }
{ Purpose: To hold graphics library global variables                        }

{ Rev history                                                               }
{  5-13-82  BJS - Made changes to add hp9816 support                        }
{  5-24-82  BJS - Made changes to support inq of world cp values            }
{  7-01-82  BJS - Made changes to support 8 color HP 9836C                  }
{  8-25-82  BJS - Major mods for addition of GLE                            }
{  2-17-84  BDS - Changed gcb vars to global for Pascal 3.0                 }
{  4-08-85  SFB - Added proc_locator_xxx for HPHIL tablet support           }

{     (c) Copyright Hewlett-Packard Company, 1985.
      All rights are reserved.  Copying or other
      reproduction of this program except for archival
      purposes is prohibited without the prior
      written consent of Hewlett-Packard Company.


		  RESTRICTED RIGHTS LEGEND

      Use, duplication, or disclosure by the Government
      is subject to restrictions as set forth in
      paragraph (b) (3) (B) of the Rights in Technical
      Data and Computer Software clause in
      DAR 7-104.9(a).

      HEWLETT-PACKARD COMPANY
      Fort Collins, Colorado                              }

$modcal,TABLES$
$search 'TYPES',
	'GLE_LIB'$
$include 'OPTIONS'$

module DGL_VARS;

import DGL_TYPES,GLE_TYPES;

export

$linenum 1000$

const
  graphics_rev = '3.25';      { revision number }
  default_color_table_size = 32;
  default_poly_table_size = 16;
  poly_table_size = 16;


type
  bounds     = record
		 xmin : real;
		 xmax : real;
		 ymin : real;
		 ymax : real;
	       end;

  vir_bounds = record
		 xlim : real;
		 ylim : real;
	       end;

type
  c_def = packed record
		  red   : real;
		  green : real;
		  blue  : real;    { 24 bytes each }
		end;

  int_c_def = packed record
		  red   : gshortint;
		  green : gshortint;
		  blue  : gshortint;
		end;

  color_table_def = array [0..31] of c_def;
  color_table_ptr_def = ^color_table_def;

  big_color_table_def = array [0..271] of int_c_def;
  big_color_table_ptr_def = ^big_color_table_def;

  poly_entry_def = packed record
		     density : real;
		     orient : real;
		     edge   : boolean;  { 18 bytes each }
		   end;

  poly_table_def = array [1..poly_table_size] of poly_entry_def;
  poly_table_ptr_def = ^poly_table_def;

  { a large number of system variables are alocated in dynamic memory
    to conserve the amount of global space used.  These variables
    are all part of the GCB (graphics control block)                        }

  graphics_control_block1 =
    record
      aspect_ratio : real;          { current aspect ratio }

      log_aspect   : real;     { aspect ratio of the logical display limits }

      log_disp_lim : bounds;        { logical display limits }

      max_disp_lim : bounds;        { maximum display limits }

      def_disp_lim : bounds;        { default display limits }

      log_loc_lim  : bounds;        { logical locator limits }

      max_loc_lim  : bounds;        { maximum locator limits }

      def_loc_lim  : bounds;        { default locator limits }

      window_lim   : bounds;        { current window }

      viewport_lim : bounds;        { current viewport }

      cur_disp_lim : bounds;        { current display coordinate limits  }

      cur_vir_lim  : vir_bounds;    { current virtual limits }

      dgl_char_width : real;        { current character width (world)  }

      dgl_char_height : real;       { current character height (world) }

      char_rot_h : real;            { char rot cos vector }

      char_rot_w : real;            { char rot sin vector }

      disp_just    : (centered,lowerleft);   { display justification }

      dxunits      : real;    { # of units in the logical display coord.     }
      dyunits      : real;    { system.                                      }

      number_dgl_linestyles      : gshortint;
      number_markers             : gshortint;
      number_polygon_styles      : gshortint;
      color_table_size           : gshortint;

      dgl_current_color              : gshortint;
      dgl_current_linestyle          : gshortint;
      dgl_current_linewidth          : gshortint;
      dgl_current_timming_mode       : gshortint;
      dgl_current_polygon_color      : gshortint;
      dgl_current_polygon_style      : gshortint;
      dgl_current_polygon_linestyle  : gshortint;
      dgl_current_polygon_angle      : real;
      dgl_current_polygon_density    : real;
      dgl_current_polygon_edge       : boolean;
      dgl_current_polygon_crosshatch : boolean;
      dgl_current_color_model        : gshortint;

      maximum_polygon_vertices   : gshortint;

      retroactive_polygon_support      : boolean;
      retroactive_color_support        : boolean;

      clipping_support                 : boolean;

      disp_dev_adr : integer;             { display device address }
      disp_file_name : gstring255;        { name of device file, knull if
					    device address is used         }
      loc_dev_adr  : integer;             { locator device address }

      disp_eq_loc : boolean;              { true if loc and disp are same device }

      poly_table_ptr : poly_table_ptr_def;

      color_table_ptr : color_table_ptr_def;

      marker_size_x : integer;  { marker size in device units }
      marker_size_y : integer;

      proc_output_esc : procedure (       opc,isize,rsize : integer;
				   anyvar ilist : gint_list;
				   anyvar rlist : greal_list;
				      var error : integer);

      proc_input_esc :  procedure (       opc,isize,rsize : integer;
				   anyvar ilist : gint_list;
				   anyvar rlist : greal_list;
				      var error : integer);

      proc_linestyle :  procedure ( index : integer );

      proc_color     :  procedure ( index : integer );

      proc_color_table  :  procedure ( index : integer ; p1,p2,p3 : real );

      dgl_background_index : integer;

      proc_await_locator : procedure ( var echo : integer; var button : integer;
				       var x,y : real );

      proc_sample_locator : procedure ( echo : integer; var x,y : real );

      dgl_polygon_color_current : boolean; { true if polygon color set in gle }

      {ADDED 4/8/85 SFB FOR HPHIL SUPPORT}
      proc_locator_output_esc : procedure (       opc,isize,rsize : integer;
						     anyvar ilist : gint_list;
						     anyvar rlist : greal_list;
							var error : integer);

      proc_locator_input_esc :  procedure (       opc,isize,rsize : integer;
						     anyvar ilist : gint_list;
						     anyvar rlist : greal_list;
							var error : integer);

    end;

const
  eight_diget_epsilon =  0.00000001;       { a number which will change the
					     value of a 8 diget number when
					     added to it                     }

  { Initialization constants follow                                          }

  init_color = 1;
  init_linestyle = 1;
  init_linewidth = 1;
  init_char_width = 0.07;
  init_char_height = 0.1;
  init_char_width_factor = 0.035;
  init_char_height_factor = 0.05;
  init_char_rot_w = 1.0;
  init_char_rot_h = 0.0;

  init_timming_mode = 0;       { This is diff from HP 9000 due to PWS 1.0 compatiblity }
  init_cpx = 0;
  init_cpy = 0;

  init_dev_adr = 0;

  init_window      = bounds [ xmin : -1.0,
			      xmax : 1.0,
			      ymin : -1.0,
			      ymax : 1.0];

  init_viewport    = bounds [ xmin : 0.0,
			      xmax : 1.0,
			      ymin : 0.0,
			      ymax : 1.0];

  init_aspect      = 1.0;

  init_vir_lim     = vir_bounds [ xlim : 1.0,
				  ylim : 1.0];

  init_display_lim = bounds [ xmin : 0.0,
			      xmax : 8000000.0,
			      ymin : 0.0,
			      ymax : 8000000.0];

  init_locator_lim = bounds [ xmin : 0.0,
			      xmax : 8000000.0,
			      ymin : 0.0,
			      ymax : 8000000.0];


  { definitions of some standard colors (used only on raster displays)       }
  { that are used in locator echoing                                         }

  dominate_mode = 0;
  non_dominate_mode = 1;
  erase_mode = 2;
  complement_mode = 3;

  solid_linestyle = 1;

  io_error_number = -26;
  graphics_error_number = -27;

  { definitions of some std device adrs                                      }

  internal_display = 3;
  internal_locator = 2;

  { definitions of some defauts used for raster linestyle generation         }

  initial_pattern = -1;

  { The following const are for user errors                                  }

  err_sys_int = 1;       { system not initialized }
  err_dis_int = 2;       { display not initialized }
  err_loc_int = 3;       { locator not initialized }
  err_echo_dis_int = 4;  { echo needs display initialized }
  err_aspect  = 6;       { illegal aspect ratio }
  err_bad_parms = 7;     { illegal parameters }
  err_out_phys  = 8;     { parms outside physical disp lim }
  err_out_wind  = 9;     { parms outside window lim }
  err_disp_eq_loc = 10;  { loc lim given when disp and loc are the same }
  err_out_virt  = 11;    { parms outside virt lim }
  err_no_display_hardware = 12;   { missing display hardware }
  err_out_loc = 13;               { parms outside loc lim }
  err_no_ctable = 14;             { device does not support color table }
  err_neg_points = 18;               { polygon npts < 0 }

var
  { define system initialization variables                                   }

  system_init : boolean;              { is the system init }
  disp_init   : boolean;              { is the display init }
  loc_init    : boolean;              { is the locator init }

  graphics_error : integer;           { holds last error number }

  gcb : ^graphics_control_block1;      { pointer to the dynamic vars }

  { define holders of the current position                                   }

  cpy         : integer;
  cpx         : integer;

  world_int_cpx : gshortint;   { last int_move / int_line cp value }
  world_int_cpy : gshortint;

  int_cp : boolean;            { true if last move or line was integer }

  world_real_cpx : real;       { last move / line cp value }
  world_real_cpy : real;

  { define the holders of the locator echo position                          }
  { Note that the echo is set by two routines (set_echo_pos,                 }
  { calculate_viewing) and both a world cord value and a device cord         }
  { value is kept.  This was done since the device dependent value is        }
  { needed as a global value during echoing, yet the world cord value        }
  { is needed as a return value for some 'snap' echoes                       }

  w_loc_echo_x  : real;      { world units }
  w_loc_echo_y  : real;

  d_loc_echo_x  : integer;   { device units }
  d_loc_echo_y  : integer;

  { conversion factors                                                       }

  xwtod_scale  : real;    { world to display scale  }
  ywtod_scale  : real;

  xdtow_scale  : real;    { display to world scale  }
  ydtow_scale  : real;

  xwtod_offset : real;    { world to display translation  }
  ywtod_offset : real;

  xdtow_offset : real;    { display to world translation  }
  ydtow_offset : real;

  xltod_scale  : real;    { locator to display scale }
  yltod_scale  : real;

  calc_text_xform : boolean;     { true if text xform needs to be recalc    }

  scalef : record                            { used for int_move / int_line }
	     x_display_delta  : gshortint;
	     x_window_delta   : gshortint;
	     x_display_offset : gshortint;
	     y_display_delta  : gshortint;
	     y_window_delta   : gshortint;
	     y_display_offset : gshortint;
	   end;

type
  ls_patterns = packed array [0..7] of gshortint;

const
  raster_patterns =
    ls_patterns [ -1     {$FFFF} {................ }, { 1 }
		  -256   {$FF00} {........         }, { 2 }
		  -64    {$FFC0} {..........       }, { 3 }
		  -6     {$FFFA} {............. .  }, { 4 }
		  -10    {$FFF6} {............ ..  }, { 5 }
		  -220   {$FF24} {........  .  .   }, { 6 }
		  -32640 {$8080} {.        .       }, { 7 }
		  -21846 {$AAAA} {. . . . . . . .  }];{ 8 }

var
  short_flag : boolean;                { true if int_move / int_line }
				       { can used fast internal routines }

  short_defaults : boolean;            { true if  viewport bounds }
				       { map to max edges of raster display }

{ input info                                                             }

  current_echo_type : integer;
  display_echo_mult : integer;

  cursor_size_x : integer;
  cursor_size_y : integer;

  cursor_color : integer;

  gle_gcb : graphics_control_block_ptr;
  gle_gcbi : graphics_input_control_block_ptr;
  gle_knob_echo_gcb : graphics_control_block_ptr;  { for echo on internal
						     crt even if display is
						     moonunit              }
  gcb_space               : graphics_control_block1;
  gle_gcb_space           : graphics_control_block;
  gle_gcbi_space          : graphics_input_control_block;
  gle_knob_echo_gcb_space : graphics_control_block;
  color_table_def_space   : big_color_table_def;
  poly_table_def_space    : poly_table_def;

const
  dno       = 0;
  dyes      = 1;

implement

end.  { of module DGL_VAR }

@


56.2
log
@
pws2rcs automatic delta on Wed Jan 27 11:57:27 MST 1993
@
text
@d1 420
@


56.1
log
@Automatic bump of revision number for PWS version 3.25
@
text
@a0 420
{                                                                           }
{ Pascal work station graphics library                                      }
{                                                                           }
{ Module    = DGL_VARS                                                      }
{ Programer = BJS                                                           }
{ Date      = 2/1/82                                                        }
{                                                                           }
{ Purpose: To hold graphics library global variables                        }

{ Rev history                                                               }
{  5-13-82  BJS - Made changes to add hp9816 support                        }
{  5-24-82  BJS - Made changes to support inq of world cp values            }
{  7-01-82  BJS - Made changes to support 8 color HP 9836C                  }
{  8-25-82  BJS - Major mods for addition of GLE                            }
{  2-17-84  BDS - Changed gcb vars to global for Pascal 3.0                 }
{  4-08-85  SFB - Added proc_locator_xxx for HPHIL tablet support           }

{     (c) Copyright Hewlett-Packard Company, 1985.
      All rights are reserved.  Copying or other
      reproduction of this program except for archival
      purposes is prohibited without the prior
      written consent of Hewlett-Packard Company.


		  RESTRICTED RIGHTS LEGEND

      Use, duplication, or disclosure by the Government
      is subject to restrictions as set forth in
      paragraph (b) (3) (B) of the Rights in Technical
      Data and Computer Software clause in
      DAR 7-104.9(a).

      HEWLETT-PACKARD COMPANY
      Fort Collins, Colorado                              }

$modcal,TABLES$
$search 'TYPES',
	'GLE_LIB'$
$include 'OPTIONS'$

module DGL_VARS;

import DGL_TYPES,GLE_TYPES;

export

$linenum 1000$

const
  graphics_rev = '3.25';      { revision number }
  default_color_table_size = 32;
  default_poly_table_size = 16;
  poly_table_size = 16;


type
  bounds     = record
		 xmin : real;
		 xmax : real;
		 ymin : real;
		 ymax : real;
	       end;

  vir_bounds = record
		 xlim : real;
		 ylim : real;
	       end;

type
  c_def = packed record
		  red   : real;
		  green : real;
		  blue  : real;    { 24 bytes each }
		end;

  int_c_def = packed record
		  red   : gshortint;
		  green : gshortint;
		  blue  : gshortint;
		end;

  color_table_def = array [0..31] of c_def;
  color_table_ptr_def = ^color_table_def;

  big_color_table_def = array [0..271] of int_c_def;
  big_color_table_ptr_def = ^big_color_table_def;

  poly_entry_def = packed record
		     density : real;
		     orient : real;
		     edge   : boolean;  { 18 bytes each }
		   end;

  poly_table_def = array [1..poly_table_size] of poly_entry_def;
  poly_table_ptr_def = ^poly_table_def;

  { a large number of system variables are alocated in dynamic memory
    to conserve the amount of global space used.  These variables
    are all part of the GCB (graphics control block)                        }

  graphics_control_block1 =
    record
      aspect_ratio : real;          { current aspect ratio }

      log_aspect   : real;     { aspect ratio of the logical display limits }

      log_disp_lim : bounds;        { logical display limits }

      max_disp_lim : bounds;        { maximum display limits }

      def_disp_lim : bounds;        { default display limits }

      log_loc_lim  : bounds;        { logical locator limits }

      max_loc_lim  : bounds;        { maximum locator limits }

      def_loc_lim  : bounds;        { default locator limits }

      window_lim   : bounds;        { current window }

      viewport_lim : bounds;        { current viewport }

      cur_disp_lim : bounds;        { current display coordinate limits  }

      cur_vir_lim  : vir_bounds;    { current virtual limits }

      dgl_char_width : real;        { current character width (world)  }

      dgl_char_height : real;       { current character height (world) }

      char_rot_h : real;            { char rot cos vector }

      char_rot_w : real;            { char rot sin vector }

      disp_just    : (centered,lowerleft);   { display justification }

      dxunits      : real;    { # of units in the logical display coord.     }
      dyunits      : real;    { system.                                      }

      number_dgl_linestyles      : gshortint;
      number_markers             : gshortint;
      number_polygon_styles      : gshortint;
      color_table_size           : gshortint;

      dgl_current_color              : gshortint;
      dgl_current_linestyle          : gshortint;
      dgl_current_linewidth          : gshortint;
      dgl_current_timming_mode       : gshortint;
      dgl_current_polygon_color      : gshortint;
      dgl_current_polygon_style      : gshortint;
      dgl_current_polygon_linestyle  : gshortint;
      dgl_current_polygon_angle      : real;
      dgl_current_polygon_density    : real;
      dgl_current_polygon_edge       : boolean;
      dgl_current_polygon_crosshatch : boolean;
      dgl_current_color_model        : gshortint;

      maximum_polygon_vertices   : gshortint;

      retroactive_polygon_support      : boolean;
      retroactive_color_support        : boolean;

      clipping_support                 : boolean;

      disp_dev_adr : integer;             { display device address }
      disp_file_name : gstring255;        { name of device file, knull if
					    device address is used         }
      loc_dev_adr  : integer;             { locator device address }

      disp_eq_loc : boolean;              { true if loc and disp are same device }

      poly_table_ptr : poly_table_ptr_def;

      color_table_ptr : color_table_ptr_def;

      marker_size_x : integer;  { marker size in device units }
      marker_size_y : integer;

      proc_output_esc : procedure (       opc,isize,rsize : integer;
				   anyvar ilist : gint_list;
				   anyvar rlist : greal_list;
				      var error : integer);

      proc_input_esc :  procedure (       opc,isize,rsize : integer;
				   anyvar ilist : gint_list;
				   anyvar rlist : greal_list;
				      var error : integer);

      proc_linestyle :  procedure ( index : integer );

      proc_color     :  procedure ( index : integer );

      proc_color_table  :  procedure ( index : integer ; p1,p2,p3 : real );

      dgl_background_index : integer;

      proc_await_locator : procedure ( var echo : integer; var button : integer;
				       var x,y : real );

      proc_sample_locator : procedure ( echo : integer; var x,y : real );

      dgl_polygon_color_current : boolean; { true if polygon color set in gle }

      {ADDED 4/8/85 SFB FOR HPHIL SUPPORT}
      proc_locator_output_esc : procedure (       opc,isize,rsize : integer;
						     anyvar ilist : gint_list;
						     anyvar rlist : greal_list;
							var error : integer);

      proc_locator_input_esc :  procedure (       opc,isize,rsize : integer;
						     anyvar ilist : gint_list;
						     anyvar rlist : greal_list;
							var error : integer);

    end;

const
  eight_diget_epsilon =  0.00000001;       { a number which will change the
					     value of a 8 diget number when
					     added to it                     }

  { Initialization constants follow                                          }

  init_color = 1;
  init_linestyle = 1;
  init_linewidth = 1;
  init_char_width = 0.07;
  init_char_height = 0.1;
  init_char_width_factor = 0.035;
  init_char_height_factor = 0.05;
  init_char_rot_w = 1.0;
  init_char_rot_h = 0.0;

  init_timming_mode = 0;       { This is diff from HP 9000 due to PWS 1.0 compatiblity }
  init_cpx = 0;
  init_cpy = 0;

  init_dev_adr = 0;

  init_window      = bounds [ xmin : -1.0,
			      xmax : 1.0,
			      ymin : -1.0,
			      ymax : 1.0];

  init_viewport    = bounds [ xmin : 0.0,
			      xmax : 1.0,
			      ymin : 0.0,
			      ymax : 1.0];

  init_aspect      = 1.0;

  init_vir_lim     = vir_bounds [ xlim : 1.0,
				  ylim : 1.0];

  init_display_lim = bounds [ xmin : 0.0,
			      xmax : 8000000.0,
			      ymin : 0.0,
			      ymax : 8000000.0];

  init_locator_lim = bounds [ xmin : 0.0,
			      xmax : 8000000.0,
			      ymin : 0.0,
			      ymax : 8000000.0];


  { definitions of some standard colors (used only on raster displays)       }
  { that are used in locator echoing                                         }

  dominate_mode = 0;
  non_dominate_mode = 1;
  erase_mode = 2;
  complement_mode = 3;

  solid_linestyle = 1;

  io_error_number = -26;
  graphics_error_number = -27;

  { definitions of some std device adrs                                      }

  internal_display = 3;
  internal_locator = 2;

  { definitions of some defauts used for raster linestyle generation         }

  initial_pattern = -1;

  { The following const are for user errors                                  }

  err_sys_int = 1;       { system not initialized }
  err_dis_int = 2;       { display not initialized }
  err_loc_int = 3;       { locator not initialized }
  err_echo_dis_int = 4;  { echo needs display initialized }
  err_aspect  = 6;       { illegal aspect ratio }
  err_bad_parms = 7;     { illegal parameters }
  err_out_phys  = 8;     { parms outside physical disp lim }
  err_out_wind  = 9;     { parms outside window lim }
  err_disp_eq_loc = 10;  { loc lim given when disp and loc are the same }
  err_out_virt  = 11;    { parms outside virt lim }
  err_no_display_hardware = 12;   { missing display hardware }
  err_out_loc = 13;               { parms outside loc lim }
  err_no_ctable = 14;             { device does not support color table }
  err_neg_points = 18;               { polygon npts < 0 }

var
  { define system initialization variables                                   }

  system_init : boolean;              { is the system init }
  disp_init   : boolean;              { is the display init }
  loc_init    : boolean;              { is the locator init }

  graphics_error : integer;           { holds last error number }

  gcb : ^graphics_control_block1;      { pointer to the dynamic vars }

  { define holders of the current position                                   }

  cpy         : integer;
  cpx         : integer;

  world_int_cpx : gshortint;   { last int_move / int_line cp value }
  world_int_cpy : gshortint;

  int_cp : boolean;            { true if last move or line was integer }

  world_real_cpx : real;       { last move / line cp value }
  world_real_cpy : real;

  { define the holders of the locator echo position                          }
  { Note that the echo is set by two routines (set_echo_pos,                 }
  { calculate_viewing) and both a world cord value and a device cord         }
  { value is kept.  This was done since the device dependent value is        }
  { needed as a global value during echoing, yet the world cord value        }
  { is needed as a return value for some 'snap' echoes                       }

  w_loc_echo_x  : real;      { world units }
  w_loc_echo_y  : real;

  d_loc_echo_x  : integer;   { device units }
  d_loc_echo_y  : integer;

  { conversion factors                                                       }

  xwtod_scale  : real;    { world to display scale  }
  ywtod_scale  : real;

  xdtow_scale  : real;    { display to world scale  }
  ydtow_scale  : real;

  xwtod_offset : real;    { world to display translation  }
  ywtod_offset : real;

  xdtow_offset : real;    { display to world translation  }
  ydtow_offset : real;

  xltod_scale  : real;    { locator to display scale }
  yltod_scale  : real;

  calc_text_xform : boolean;     { true if text xform needs to be recalc    }

  scalef : record                            { used for int_move / int_line }
	     x_display_delta  : gshortint;
	     x_window_delta   : gshortint;
	     x_display_offset : gshortint;
	     y_display_delta  : gshortint;
	     y_window_delta   : gshortint;
	     y_display_offset : gshortint;
	   end;

type
  ls_patterns = packed array [0..7] of gshortint;

const
  raster_patterns =
    ls_patterns [ -1     {$FFFF} {................ }, { 1 }
		  -256   {$FF00} {........         }, { 2 }
		  -64    {$FFC0} {..........       }, { 3 }
		  -6     {$FFFA} {............. .  }, { 4 }
		  -10    {$FFF6} {............ ..  }, { 5 }
		  -220   {$FF24} {........  .  .   }, { 6 }
		  -32640 {$8080} {.        .       }, { 7 }
		  -21846 {$AAAA} {. . . . . . . .  }];{ 8 }

var
  short_flag : boolean;                { true if int_move / int_line }
				       { can used fast internal routines }

  short_defaults : boolean;            { true if  viewport bounds }
				       { map to max edges of raster display }

{ input info                                                             }

  current_echo_type : integer;
  display_echo_mult : integer;

  cursor_size_x : integer;
  cursor_size_y : integer;

  cursor_color : integer;

  gle_gcb : graphics_control_block_ptr;
  gle_gcbi : graphics_input_control_block_ptr;
  gle_knob_echo_gcb : graphics_control_block_ptr;  { for echo on internal
						     crt even if display is
						     moonunit              }
  gcb_space               : graphics_control_block1;
  gle_gcb_space           : graphics_control_block;
  gle_gcbi_space          : graphics_input_control_block;
  gle_knob_echo_gcb_space : graphics_control_block;
  color_table_def_space   : big_color_table_def;
  poly_table_def_space    : poly_table_def;

const
  dno       = 0;
  dyes      = 1;

implement

end.  { of module DGL_VAR }

@


55.2
log
@
pws2rcs automatic delta on Mon Nov  4 13:45:04 MST 1991
@
text
@@


55.1
log
@Automatic bump of revision number for PWS version 3.25A
@
text
@d50 1
a50 1
  graphics_rev = '3.25A';      { revision number }
@


54.2
log
@
pws2rcs automatic delta on Wed Aug 21 12:59:22 MDT 1991
@
text
@@


54.1
log
@Automatic bump of revision number for PWS version 3.24
@
text
@d50 1
a50 1
  graphics_rev = '3.24';      { revision number }
@


53.2
log
@
pws2rcs automatic delta on Mon Mar 18 13:19:08 MST 1991
@
text
@@


53.1
log
@Automatic bump of revision number for PWS version 3.24B
@
text
@d50 1
a50 1
  graphics_rev = '3.24B';      { revision number }
@


52.2
log
@
pws2rcs automatic delta on Mon Mar 11 16:41:32 MST 1991
@
text
@@


52.1
log
@Automatic bump of revision number for PWS version 3.24A
@
text
@d50 1
a50 1
  graphics_rev = '3.24A';      { revision number }
@


51.2
log
@
pws2rcs automatic delta on Mon Feb 18 20:38:36 MST 1991
@
text
@@


51.1
log
@Automatic bump of revision number for PWS version 3.24d
@
text
@d50 1
a50 1
  graphics_rev = '3.24d';      { revision number }
@


50.2
log
@
pws2rcs automatic delta on Wed Jan 30 09:08:19 MST 1991
@
text
@@


50.1
log
@Automatic bump of revision number for PWS version 3.23c
@
text
@d50 1
a50 1
  graphics_rev = '3.24c';      { revision number }
@


49.2
log
@
pws2rcs automatic delta on Mon Oct 29 14:00:44 MST 1990
@
text
@@


49.1
log
@Automatic bump of revision number for PWS version 3.24b
@
text
@d50 1
a50 1
  graphics_rev = '3.24b';      { revision number }
@


48.2
log
@
pws2rcs automatic delta on Tue Aug 14 09:29:26 MDT 1990
@
text
@@


48.1
log
@Automatic bump of revision number for PWS version 3.24a
@
text
@d50 1
a50 1
  graphics_rev = '3.24a';      { revision number }
@


47.2
log
@
pws2rcs automatic delta on Tue Jul 24 14:47:20 MDT 1990
@
text
@@


47.1
log
@Automatic bump of revision number for PWS version 3.23
@
text
@d50 1
a50 1
  graphics_rev = '3.23';      { revision number }
@


46.1
log
@Automatic bump of revision number for PWS version 3.23
@
text
@@


45.2
log
@
pws2rcs automatic delta on Fri May  4 14:44:01 MDT 1990
@
text
@@


45.1
log
@Automatic bump of revision number for PWS version 3.23C
@
text
@d50 1
a50 1
  graphics_rev = '3.23C';      { revision number }
@


44.2
log
@
pws2rcs automatic delta on Thu Apr 19 13:13:04 MDT 1990
@
text
@@


44.1
log
@Automatic bump of revision number for PWS version 3.23B
@
text
@d50 1
a50 1
  graphics_rev = '3.23B';      { revision number }
@


43.2
log
@
pws2rcs automatic delta on Sun Apr  1 16:13:30 MDT 1990
@
text
@@


43.1
log
@Automatic bump of revision number for PWS version 3.23aA
@
text
@d50 1
a50 1
  graphics_rev = '3.23A';      { revision number }
@


42.2
log
@
pws2rcs automatic delta on Mon Mar 19 16:00:53 MST 1990
@
text
@@


42.1
log
@Automatic bump of revision number for PWS version 3.23e
@
text
@d50 1
a50 1
  graphics_rev = '3.23e';      { revision number }
@


41.2
log
@
pws2rcs automatic delta on Sat Jan 20 16:32:46 MST 1990
@
text
@@


41.1
log
@Automatic bump of revision number for PWS version 3.23d
@
text
@d50 1
a50 1
  graphics_rev = '3.23d';      { revision number }
@


40.2
log
@
pws2rcs automatic delta on Thu Dec 21 14:54:59 MST 1989
@
text
@@


40.1
log
@Automatic bump of revision number for PWS version 3.23c
@
text
@d50 1
a50 1
  graphics_rev = '3.23c';      { revision number }
@


39.2
log
@
pws2rcs automatic delta on Thu Sep 28 17:16:32 MDT 1989
@
text
@@


39.1
log
@Automatic bump of revision number for PWS version 3.23b
@
text
@d50 1
a50 1
  graphics_rev = '3.23b';      { revision number }
@


38.2
log
@
pws2rcs automatic delta on Tue Sep 26 14:31:31 MDT 1989
@
text
@@


38.1
log
@Automatic bump of revision number for PWS version 3.23a
@
text
@d50 1
a50 1
  graphics_rev = '3.23a';      { revision number }
@


37.2
log
@
pws2rcs automatic delta on Mon Aug 28 12:16:08 MDT 1989
@
text
@@


37.1
log
@Automatic bump of revision number for PWS version 3.3a
@
text
@d50 1
a50 1
  graphics_rev = '3.3a';      { revision number }
@


36.2
log
@
pws2rcs automatic delta on Thu May 11 11:32:36 MDT 1989
@
text
@@


36.1
log
@Automatic bump of revision number for PWS version 3.22
@
text
@d50 1
a50 1
  graphics_rev = '3.22';      { revision number }
@


35.1
log
@Automatic bump of revision number for PWS version 3.22
@
text
@@


34.1
log
@Automatic bump of revision number for PWS version 3.22
@
text
@@


33.2
log
@
pws2rcs automatic delta on Fri Jan 20 16:16:31 MST 1989
@
text
@@


33.1
log
@Automatic bump of revision number for PWS version 3.22D
@
text
@d50 1
a50 1
  graphics_rev = '3.22D';      { revision number }
@


32.2
log
@
pws2rcs automatic delta on Fri Jan 13 11:19:22 MST 1989
@
text
@@


32.1
log
@Automatic bump of revision number for PWS version 3.22C
@
text
@d50 1
a50 1
  graphics_rev = '3.22C';      { revision number }
@


31.2
log
@
pws2rcs automatic delta on Mon Jan  9 11:50:34 MST 1989
@
text
@@


31.1
log
@Automatic bump of revision number for PWS version 3.22B
@
text
@d50 1
a50 1
  graphics_rev = '3.22B';      { revision number }
@


30.2
log
@
pws2rcs automatic delta on Wed Dec 14 13:22:28 MST 1988
@
text
@@


30.1
log
@Automatic bump of revision number for PWS version 3.22A
@
text
@d50 1
a50 1
  graphics_rev = '3.22A';      { revision number }
@


29.2
log
@
pws2rcs automatic delta on Thu Dec  8 15:31:09 MST 1988
@
text
@@


29.1
log
@Automatic bump of revision number for PWS version 3.22b
@
text
@d50 1
a50 1
  graphics_rev = '3.22b';      { revision number }
@


28.2
log
@
ipws2rcs automatic delta on Mon Oct 31 10:34:17 MST 1988
:w
:q
@
text
@@


28.1
log
@Automatic bump of revision number for PWS version 3.3b
@
text
@d50 1
a50 1
  graphics_rev = '3.3a';      { revision number }
@


27.2
log
@pws2rcs automatic delta on Wed Oct  5 17:32:00 MDT 1988

@
text
@@


27.1
log
@Automatic bump of revision number for PWS version 3.3a
@
text
@d50 1
a50 1
  graphics_rev = '3.2X';      { revision number }
@


26.1
log
@Automatic bump of revision number for PWS version 3.3 Synch
@
text
@@


25.4
log
@For CATSEYE support
@
text
@@


25.3
log
@Pws2unix automatic delta on Fri Mar 18 09:13:54 MST 1988
@
text
@d50 1
a50 1
  graphics_rev = '3.21b';      { revision number }
@


25.2
log
@Pws2unix automatic delta on Wed Mar  9 08:03:11 MST 1988
@
text
@d50 1
a50 1
  graphics_rev = '3.21a';      { revision number }
@


25.1
log
@Automatic bump of revision number for PWS version 3.2Y
@
text
@d50 1
a50 1
  graphics_rev = '3.2Y';      { revision number }
@


24.2
log
@Pws2unix automatic delta on Tue Mar  1 09:01:42 MST 1988
@
text
@@


24.1
log
@Automatic bump of revision number for PWS version 3.2
@
text
@d50 1
a50 1
  graphics_rev = '3.2';      { revision number }
@


23.2
log
@Pws2unix automatic delta on Sun Aug 30 14:43:47 MDT 1987
@
text
@@


23.1
log
@Automatic bump of revision number for PWS version 3.2P
@
text
@d50 1
a50 1
  graphics_rev = '3.2P';      { revision number }
@


22.2
log
@Pws2unix automatic delta on Tue Aug 25 18:23:33 MDT 1987
@
text
@@


22.1
log
@Automatic bump of revision number for PWS version 3.2N
@
text
@d50 1
a50 1
  graphics_rev = '3.2N';      { revision number }
@


21.2
log
@Pws2unix automatic delta on Sat Aug 15 16:14:36 MDT 1987
@
text
@@


21.1
log
@Automatic bump of revision number for PWS version 3.2M
@
text
@d50 1
a50 1
  graphics_rev = '3.2M';      { revision number }
@


20.2
log
@Pws2unix automatic delta on Wed Aug 12 09:47:30 MDT 1987
@
text
@@


20.1
log
@Automatic bump of revision number for PWS version 3.2L
@
text
@d50 1
a50 1
  graphics_rev = '3.2L';      { revision number }
@


19.2
log
@Pws2unix automatic delta on Wed Jul 29 17:29:01 MDT 1987
@
text
@@


19.1
log
@Automatic bump of revision number for PWS version 3.2K
@
text
@d50 1
a50 1
  graphics_rev = '3.2K';      { revision number }
@


18.2
log
@Pws2unix automatic delta on Sun May 31 14:33:16 MDT 1987
@
text
@@


18.1
log
@Automatic bump of revision number for PWS version 3.2J
@
text
@d50 1
a50 1
  graphics_rev = '3.2J';      { revision number }
@


17.2
log
@Pws2unix automatic delta on Wed May 20 09:57:02 MDT 1987
@
text
@@


17.1
log
@Automatic bump of revision number for PWS version 3.2I+
@
text
@d50 1
a50 1
  graphics_rev = '3.2I';      { revision number }
@


16.1
log
@Automatic bump of revision number for PWS version 3.2I
@
text
@@


15.2
log
@Pws2unix automatic delta on Fri Apr 24 18:41:36 MDT 1987
@
text
@@


15.1
log
@Automatic bump of revision number for PWS version 3.2H
@
text
@d50 1
a50 1
  graphics_rev = '3.2H';      { revision number }
@


14.2
log
@Pws2unix automatic delta on Sun Apr 12 17:10:24 MDT 1987
@
text
@@


14.1
log
@Automatic bump of revision number for PWS version 3.2G
@
text
@d50 1
a50 1
  graphics_rev = '3.2G';      { revision number }
@


13.2
log
@Pws2unix automatic delta on Wed Apr  1 08:30:27 MST 1987
@
text
@@


13.1
log
@Automatic bump of revision number for PWS version 3.2F
@
text
@d50 1
a50 1
  graphics_rev = '3.2F';      { revision number }
@


12.2
log
@Pws2unix automatic delta on Sat Feb 28 15:17:33 MST 1987
@
text
@@


12.1
log
@Automatic bump of revision number for PWS version 3.2E
@
text
@d50 1
a50 1
  graphics_rev = '3.2E';      { revision number }
@


11.2
log
@Pws2unix automatic delta on Mon Feb  2 09:47:34 MST 1987
@
text
@@


11.1
log
@Automatic bump of revision number for PWS version 3.2D
@
text
@d50 1
a50 1
  graphics_rev = '3.2D';      { revision number }
@


10.2
log
@Pws2unix automatic delta on Sun Jan 18 18:33:43 MST 1987
@
text
@@


10.1
log
@Automatic bump of revision number for PWS version 3.2C
@
text
@d50 1
a50 1
  graphics_rev = '3.2C';      { revision number }
@


9.2
log
@Pws2unix automatic delta on Tue Dec 23 16:24:27 MST 1986
@
text
@@


9.1
log
@Automatic bump of revision number for PWS version 3.2B
@
text
@d50 1
a50 1
  graphics_rev = '3.2B';      { revision number }
@


8.2
log
@Pws2unix automatic delta on Fri Dec 12 09:42:40 MST 1986
@
text
@@


8.1
log
@Automatic bump of revision number for PWS version 3.2A
@
text
@d50 1
a50 1
  graphics_rev = '3.1A';      { revision number }
@


7.2
log
@Pws2unix automatic delta on Wed Nov 26 16:18:22 MST 1986
@
text
@@


7.1
log
@Automatic bump of revision number for PWS version 3.2l
@
text
@d50 1
a50 1
  graphics_rev = '3.2l';      { revision number }
@


6.2
log
@Pws2unix automatic delta on Wed Nov 19 15:16:12 MST 1986
@
text
@@


6.1
log
@Automatic bump of revision number for PWS version 3.2k
@
text
@d50 1
a50 1
  graphics_rev = '3.2k';      { revision number }
@


5.3
log
@Pws2unix automatic delta on Tue Nov  4 11:36:56 MEZ 1986
@
text
@@


5.2
log
@Changes from Scott Bayes
@
text
@d50 1
a50 1
  graphics_rev = '3.2I';      { revision number }
@


5.1
log
@Automatic bump of revision number for PWS version 3.2j
@
text
@d50 1
a50 1
  graphics_rev = '3.2j';      { revision number }
@


4.2
log
@Pws2unix automatic delta on Tue Oct 28 10:57:29 MEZ 1986
@
text
@@


4.1
log
@Automatic bump of revision number for PWS version 3.2i
@
text
@d50 1
a50 1
  graphics_rev = '3.2i';      { revision number }
@


3.2
log
@Pws2unix automatic delta on Tue Sep 30 13:50:02 MEZ 1986
@
text
@@


3.1
log
@Automatic bump of revision number for PWS version 3.2h
@
text
@d50 1
a50 1
  graphics_rev = '3.2h';      { revision number }
@


2.4
log
@Pws2unix automatic delta on Mon Sep  1 08:51:28 MEZ 1986
@
text
@@


2.3
log
@Pws2unix automatic delta on Wed Aug 20 10:48:54 MEZ 1986
@
text
@d50 1
a50 1
  graphics_rev = '3.2g';      { revision number }
@


2.2
log
@Pws2unix automatic delta on Tue Aug 19 10:31:55 MEZ 1986
@
text
@d50 1
a50 1
  graphics_rev = '3.2f';      { revision number }
@


2.1
log
@Auto bump rev number to 2.1 for sys 3.2e.
@
text
@d50 1
a50 1
  graphics_rev = '3.2e';      { revision number }
@


1.3
log
@Pws2unix automatic delta on Wed Jul 30 09:07:03 MEZ 1986
@
text
@@


1.2
log
@Pws2unix automatic delta on Tue Jul 15 16:35:26 MEZ 1986
@
text
@d50 1
a50 1
  graphics_rev = '3.2d';      { revision number }
@


1.1
log
@Initial revision
@
text
@d50 1
a50 1
  graphics_rev = '3.1b';      { revision number }
@
