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


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

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

56.1
date     91.11.05.09.50.59;  author jwh;  state Exp;
branches ;
next     55.1;

55.1
date     91.08.25.10.26.45;  author jwh;  state Exp;
branches ;
next     54.1;

54.1
date     91.03.18.15.29.55;  author jwh;  state Exp;
branches ;
next     53.1;

53.1
date     91.03.11.19.29.53;  author jwh;  state Exp;
branches ;
next     52.1;

52.1
date     91.02.19.09.13.54;  author jwh;  state Exp;
branches ;
next     51.1;

51.1
date     91.01.30.16.13.48;  author jwh;  state Exp;
branches ;
next     50.1;

50.1
date     90.10.29.16.28.38;  author jwh;  state Exp;
branches ;
next     49.1;

49.1
date     90.08.14.14.12.31;  author jwh;  state Exp;
branches ;
next     48.1;

48.1
date     90.07.26.11.18.48;  author jwh;  state Exp;
branches ;
next     47.1;

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

46.1
date     90.05.07.08.49.34;  author jwh;  state Exp;
branches ;
next     45.1;

45.1
date     90.04.19.15.57.30;  author jwh;  state Exp;
branches ;
next     44.1;

44.1
date     90.04.01.22.14.36;  author jwh;  state Exp;
branches ;
next     43.1;

43.1
date     90.03.20.14.06.35;  author jwh;  state Exp;
branches ;
next     42.1;

42.1
date     90.01.23.17.51.20;  author jwh;  state Exp;
branches ;
next     41.1;

41.1
date     89.12.22.11.33.31;  author jwh;  state Exp;
branches ;
next     40.1;

40.1
date     89.09.29.11.54.57;  author jwh;  state Exp;
branches ;
next     39.1;

39.1
date     89.09.26.16.39.33;  author dew;  state Exp;
branches ;
next     38.1;

38.1
date     89.08.29.11.31.33;  author jwh;  state Exp;
branches ;
next     37.1;

37.1
date     89.05.12.11.44.44;  author dew;  state Exp;
branches ;
next     36.1;

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

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

34.1
date     89.01.23.16.13.02;  author jwh;  state Exp;
branches ;
next     33.1;

33.1
date     89.01.16.11.44.45;  author dew;  state Exp;
branches ;
next     32.1;

32.1
date     89.01.10.11.53.42;  author bayes;  state Exp;
branches ;
next     31.1;

31.1
date     88.12.14.18.14.44;  author bayes;  state Exp;
branches ;
next     30.1;

30.1
date     88.12.09.13.51.40;  author dew;  state Exp;
branches ;
next     29.1;

29.1
date     88.10.31.15.36.33;  author bayes;  state Exp;
branches ;
next     28.1;

28.1
date     88.10.06.11.02.57;  author dew;  state Exp;
branches ;
next     27.1;

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

26.1
date     88.09.28.13.21.00;  author bayes;  state Exp;
branches ;
next     25.2;

25.2
date     88.03.30.09.13.40;  author bayes;  state Exp;
branches ;
next     25.1;

25.1
date     88.03.02.09.37.09;  author bayes;  state Exp;
branches ;
next     24.1;

24.1
date     87.08.31.10.02.45;  author jws;  state Exp;
branches ;
next     23.1;

23.1
date     87.08.26.10.40.42;  author bayes;  state Exp;
branches ;
next     22.1;

22.1
date     87.08.17.11.26.43;  author bayes;  state Exp;
branches ;
next     21.1;

21.1
date     87.08.12.14.08.48;  author bayes;  state Exp;
branches ;
next     20.1;

20.1
date     87.07.30.11.22.38;  author bayes;  state Exp;
branches ;
next     19.1;

19.1
date     87.06.01.08.36.00;  author jws;  state Exp;
branches ;
next     18.1;

18.1
date     87.05.20.15.38.35;  author bayes;  state Exp;
branches ;
next     17.1;

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

16.1
date     87.04.26.15.58.27;  author jws;  state Exp;
branches ;
next     15.1;

15.1
date     87.04.13.09.36.09;  author jws;  state Exp;
branches ;
next     14.1;

14.1
date     87.04.01.15.43.00;  author jws;  state Exp;
branches ;
next     13.1;

13.1
date     87.02.28.18.42.44;  author jws;  state Exp;
branches ;
next     12.1;

12.1
date     87.02.02.13.34.32;  author jws;  state Exp;
branches ;
next     11.1;

11.1
date     87.01.19.10.00.53;  author jws;  state Exp;
branches ;
next     10.1;

10.1
date     86.12.24.11.12.36;  author jws;  state Exp;
branches ;
next     9.1;

9.1
date     86.12.12.14.55.46;  author bayes;  state Exp;
branches ;
next     8.1;

8.1
date     86.11.27.12.09.22;  author jws;  state Exp;
branches ;
next     7.1;

7.1
date     86.11.20.14.13.57;  author hal;  state Exp;
branches ;
next     6.1;

6.1
date     86.11.04.18.13.09;  author paws;  state Exp;
branches ;
next     5.1;

5.1
date     86.10.28.17.01.36;  author hal;  state Exp;
branches ;
next     4.1;

4.1
date     86.09.30.19.58.02;  author hal;  state Exp;
branches ;
next     3.1;

3.1
date     86.09.01.12.08.25;  author hal;  state Exp;
branches ;
next     2.1;

2.1
date     86.07.30.14.57.09;  author hal;  state Exp;
branches ;
next     1.1;

1.1
date     86.06.30.15.54.07;  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
@{                                                                           }
{ Graphics Low End                                                          }
{                                                                           }
{ Module    = GLE_STEXT                                                     }
{ Programer = BJS                                                           }
{ Date      = 10-10-82                                                      }
{                                                                           }
{ Purpose: To provide software text routines.                               }

{ Rev history                                                               }
{  Created  - 10-10-82                                                      }
{  Modified -  6-28-83  BJS  Removed soft_text from export text.  This      }
{                            procedure is imported from gle_astext.         }
{             12-08-83  BDS  Put Range Check on around calculation of       }
{                            dx and dy to eliminate random vectors.         }


{     (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$
$search 'GLE_TYPES'$
$include 'OPTIONS'$  { ******************* COMPILER OPTIONS ******************* }
$linenum 4000$

module gle_stext;

import gle_types;

export

var font ['GLE_GLE_STROKE_TABLE'] : array [0..maxint] of gle_shortint;

procedure gle_soft_char_size    ( gcb : graphics_control_block_ptr );
procedure gle_soft_text_spacing ( gcb : graphics_control_block_ptr );
procedure gle_soft_text_dir     ( gcb : graphics_control_block_ptr );
procedure gle_soft_text_just    ( gcb : graphics_control_block_ptr );
procedure gle_text_xform        ( gcb : graphics_control_block_ptr );

implement

procedure gle_text_xform  ( gcb : graphics_control_block_ptr);

const
  fraction_adjust      = 32768;
  res_adjust            = 8;
  adjusted_cell_width  = 7 * fraction_adjust;
  adjusted_cell_height = 9 * fraction_adjust;

var i : integer;
    dx,dy : integer;

begin
  with gcb^ do
    begin
      $RANGE ON$
      for i := 0 to 15 do
	begin
	  if i < 8 then
	    begin
	      dx := ((i-1) * char_width) div res_adjust;
	      cosx_table[i] := (dx * text_cos_dir)  div adjusted_cell_width;
	      sinx_table[i] := (dx * text_sin_dir)  div adjusted_cell_width;
	    end;
	  dy := ((i-4) * char_height) div res_adjust;
	  siny_table[i] := (-dy * text_sin_dir) div adjusted_cell_height;
	  cosy_table[i] := (dy * text_cos_dir)  div adjusted_cell_height;
	end;

      dx := (char_width + char_space);
      text_space_x := ( dx * text_cos_dir ) div fraction_adjust;
      text_space_y := ( dx * text_sin_dir ) div fraction_adjust;

      dy := -(char_height + line_space);
      text_line_x := ( -dy * text_sin_dir ) div fraction_adjust;
      text_line_y := ( dy * text_cos_dir )  div fraction_adjust;
      $RANGE OFF$                 { | added to avoid random vectors }
      calc_text_xform := 0;  { transformation is not needed }
    end;
end;

procedure gle_soft_char_size ( gcb : graphics_control_block_ptr);

begin
  with gcb^ do
    if (char_width <> info1) or (char_height <> info2) then
      begin
	calc_text_xform := 1;  { calc new transform }
	char_width  := info1;
	char_height := info2;
      end;
end;

procedure gle_soft_text_spacing ( gcb : graphics_control_block_ptr);

begin
  with gcb^ do
    if (char_space <> info1) or (line_space <> info2) then
      begin
	calc_text_xform := 1;  { calc new transform }
	char_space := info1;
	line_space := info2;
      end;
end;

procedure gle_soft_text_dir     ( gcb : graphics_control_block_ptr);

begin
  with gcb^ do
    if (text_cos_dir <> info1) or (text_sin_dir <> info2) then
      begin
	calc_text_xform := 1;  { calc new transform }
	text_cos_dir := info1;
	text_sin_dir := info2;
      end;
end;

procedure gle_soft_text_just    ( gcb : graphics_control_block_ptr);

begin
  with gcb^ do
    if (char_just_x <> info1) or (char_just_y <> info2) then
      begin
	calc_text_xform := 1;  { calc new transform }
	char_just_x := info1;
	char_just_y := info2;
      end;
end;

end. { module gle_stext }


@


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


56.1
log
@Automatic bump of revision number for PWS version 3.25
@
text
@a0 147
{                                                                           }
{ Graphics Low End                                                          }
{                                                                           }
{ Module    = GLE_STEXT                                                     }
{ Programer = BJS                                                           }
{ Date      = 10-10-82                                                      }
{                                                                           }
{ Purpose: To provide software text routines.                               }

{ Rev history                                                               }
{  Created  - 10-10-82                                                      }
{  Modified -  6-28-83  BJS  Removed soft_text from export text.  This      }
{                            procedure is imported from gle_astext.         }
{             12-08-83  BDS  Put Range Check on around calculation of       }
{                            dx and dy to eliminate random vectors.         }


{     (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$
$search 'GLE_TYPES'$
$include 'OPTIONS'$  { ******************* COMPILER OPTIONS ******************* }
$linenum 4000$

module gle_stext;

import gle_types;

export

var font ['GLE_GLE_STROKE_TABLE'] : array [0..maxint] of gle_shortint;

procedure gle_soft_char_size    ( gcb : graphics_control_block_ptr );
procedure gle_soft_text_spacing ( gcb : graphics_control_block_ptr );
procedure gle_soft_text_dir     ( gcb : graphics_control_block_ptr );
procedure gle_soft_text_just    ( gcb : graphics_control_block_ptr );
procedure gle_text_xform        ( gcb : graphics_control_block_ptr );

implement

procedure gle_text_xform  ( gcb : graphics_control_block_ptr);

const
  fraction_adjust      = 32768;
  res_adjust            = 8;
  adjusted_cell_width  = 7 * fraction_adjust;
  adjusted_cell_height = 9 * fraction_adjust;

var i : integer;
    dx,dy : integer;

begin
  with gcb^ do
    begin
      $RANGE ON$
      for i := 0 to 15 do
	begin
	  if i < 8 then
	    begin
	      dx := ((i-1) * char_width) div res_adjust;
	      cosx_table[i] := (dx * text_cos_dir)  div adjusted_cell_width;
	      sinx_table[i] := (dx * text_sin_dir)  div adjusted_cell_width;
	    end;
	  dy := ((i-4) * char_height) div res_adjust;
	  siny_table[i] := (-dy * text_sin_dir) div adjusted_cell_height;
	  cosy_table[i] := (dy * text_cos_dir)  div adjusted_cell_height;
	end;

      dx := (char_width + char_space);
      text_space_x := ( dx * text_cos_dir ) div fraction_adjust;
      text_space_y := ( dx * text_sin_dir ) div fraction_adjust;

      dy := -(char_height + line_space);
      text_line_x := ( -dy * text_sin_dir ) div fraction_adjust;
      text_line_y := ( dy * text_cos_dir )  div fraction_adjust;
      $RANGE OFF$                 { | added to avoid random vectors }
      calc_text_xform := 0;  { transformation is not needed }
    end;
end;

procedure gle_soft_char_size ( gcb : graphics_control_block_ptr);

begin
  with gcb^ do
    if (char_width <> info1) or (char_height <> info2) then
      begin
	calc_text_xform := 1;  { calc new transform }
	char_width  := info1;
	char_height := info2;
      end;
end;

procedure gle_soft_text_spacing ( gcb : graphics_control_block_ptr);

begin
  with gcb^ do
    if (char_space <> info1) or (line_space <> info2) then
      begin
	calc_text_xform := 1;  { calc new transform }
	char_space := info1;
	line_space := info2;
      end;
end;

procedure gle_soft_text_dir     ( gcb : graphics_control_block_ptr);

begin
  with gcb^ do
    if (text_cos_dir <> info1) or (text_sin_dir <> info2) then
      begin
	calc_text_xform := 1;  { calc new transform }
	text_cos_dir := info1;
	text_sin_dir := info2;
      end;
end;

procedure gle_soft_text_just    ( gcb : graphics_control_block_ptr);

begin
  with gcb^ do
    if (char_just_x <> info1) or (char_just_y <> info2) then
      begin
	calc_text_xform := 1;  { calc new transform }
	char_just_x := info1;
	char_just_y := info2;
      end;
end;

end. { module gle_stext }


@


55.1
log
@Automatic bump of revision number for PWS version 3.25A
@
text
@@


54.1
log
@Automatic bump of revision number for PWS version 3.24
@
text
@@


53.1
log
@Automatic bump of revision number for PWS version 3.24B
@
text
@@


52.1
log
@Automatic bump of revision number for PWS version 3.24A
@
text
@@


51.1
log
@Automatic bump of revision number for PWS version 3.24d
@
text
@@


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


49.1
log
@Automatic bump of revision number for PWS version 3.24b
@
text
@@


48.1
log
@Automatic bump of revision number for PWS version 3.24a
@
text
@@


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


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


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


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


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


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


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


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


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


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


37.1
log
@Automatic bump of revision number for PWS version 3.3a
@
text
@@


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


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.1
log
@Automatic bump of revision number for PWS version 3.22D
@
text
@@


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


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


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


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


28.1
log
@Automatic bump of revision number for PWS version 3.3b
@
text
@@


27.1
log
@Automatic bump of revision number for PWS version 3.3a
@
text
@@


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


25.2
log
@For CATSEYE support
@
text
@@


25.1
log
@Automatic bump of revision number for PWS version 3.2Y
@
text
@@


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


23.1
log
@Automatic bump of revision number for PWS version 3.2P
@
text
@@


22.1
log
@Automatic bump of revision number for PWS version 3.2N
@
text
@@


21.1
log
@Automatic bump of revision number for PWS version 3.2M
@
text
@@


20.1
log
@Automatic bump of revision number for PWS version 3.2L
@
text
@@


19.1
log
@Automatic bump of revision number for PWS version 3.2K
@
text
@@


18.1
log
@Automatic bump of revision number for PWS version 3.2J
@
text
@@


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


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


15.1
log
@Automatic bump of revision number for PWS version 3.2H
@
text
@@


14.1
log
@Automatic bump of revision number for PWS version 3.2G
@
text
@@


13.1
log
@Automatic bump of revision number for PWS version 3.2F
@
text
@@


12.1
log
@Automatic bump of revision number for PWS version 3.2E
@
text
@@


11.1
log
@Automatic bump of revision number for PWS version 3.2D
@
text
@@


10.1
log
@Automatic bump of revision number for PWS version 3.2C
@
text
@@


9.1
log
@Automatic bump of revision number for PWS version 3.2B
@
text
@@


8.1
log
@Automatic bump of revision number for PWS version 3.2A
@
text
@@


7.1
log
@Automatic bump of revision number for PWS version 3.2l
@
text
@@


6.1
log
@Automatic bump of revision number for PWS version 3.2k
@
text
@@


5.1
log
@Automatic bump of revision number for PWS version 3.2j
@
text
@@


4.1
log
@Automatic bump of revision number for PWS version 3.2i
@
text
@@


3.1
log
@Automatic bump of revision number for PWS version 3.2h
@
text
@@


2.1
log
@Auto bump rev number to 2.1 for sys 3.2e.
@
text
@@


1.1
log
@Initial revision
@
text
@@
