


      GGGGPPPPSSSS((((4444))))                      ((((UUUUNNNNIIIIXXXX 5555....2222))))                     GGGGPPPPSSSS((((4444))))



      NNNNAAAAMMMMEEEE
           gps - graphical primitive string, format of graphical files

      DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
           GPS is a format used to store graphical data.  Several
           routines have been developed to edit and display GPS files
           on various devices.  Also, higher level graphics programs,
           such as _p_l_o_t (in _s_t_a_t(1)) and _v_t_o_c (in _t_o_c(1)), produce GPS
           format output files.

           A GPS is composed of five types of graphical data or
           primitives.

         GGGGPPPPSSSS PPPPRRRRIIIIMMMMIIIITTTTIIIIVVVVEEEESSSS
           lllliiiinnnneeeessss     The _l_i_n_e_s primitive has a variable number of
                     points from which zero or more connected line
                     segments are produced.  The first point given
                     produces a _m_o_v_e to that location.  (A _m_o_v_e is a
                     relocation of the graphic cursor without drawing.)
                     Successive points produce line segments from the
                     previous point.  Parameters are available to set
                     _c_o_l_o_r, _w_e_i_g_h_t, and _s_t_y_l_e (see below).

           aaaarrrrcccc       The _a_r_c primitive has a variable number of points
                     to which a curve is fit.  The first point produces
                     a _m_o_v_e to that point.  If only two points are
                     included, a line connecting the points will
                     result; if three points, a circular arc through
                     the points is drawn; and if more than three, lines
                     connect the points.  (In the future, a spline will
                     be fit to the points if they number greater than
                     three.) Parameters are available to set _c_o_l_o_r,
                     _w_e_i_g_h_t, and _s_t_y_l_e.

           tttteeeexxxxtttt      The _t_e_x_t primitive draws characters.  It requires
                     a single point which locates the center of the
                     first character to be drawn.  Parameters are
                     _c_o_l_o_r, _f_o_n_t, _t_e_x_t_s_i_z_e, and _t_e_x_t_a_n_g_l_e.

           hhhhaaaarrrrddddwwwwaaaarrrreeee  The _h_a_r_d_w_a_r_e primitive draws hardware characters
                     or gives control commands to a hardware device.  A
                     single point locates the beginning location of the
                     _h_a_r_d_w_a_r_e string.

           ccccoooommmmmmmmeeeennnntttt   A _c_o_m_m_e_n_t is an integer string that is included in
                     a GPS file but causes nothing to be displayed.
                     All GPS files begin with a comment of zero length.

         GGGGPPPPSSSS PPPPAAAARRRRAAAAMMMMEEEETTTTEEEERRRRSSSS
           ccccoooolllloooorrrr     _C_o_l_o_r is an integer value set for _a_r_c, _l_i_n_e_s, and
                     _t_e_x_t primitives.




      Page 1                                                   (9010-E)






      GGGGPPPPSSSS((((4444))))                      ((((UUUUNNNNIIIIXXXX 5555....2222))))                     GGGGPPPPSSSS((((4444))))



           wwwweeeeiiiigggghhhhtttt    _W_e_i_g_h_t is an integer value set for _a_r_c and _l_i_n_e_s
                     primitives to indicate line thickness.  The value
                     0000 is  narrow weight, 1111 is bold, and 2222 is medium
                     weight.

           ssssttttyyyylllleeee     _S_t_y_l_e is an integer value set for _l_i_n_e_s and _a_r_c
                     primitives to give one of the five different line
                     styles that can be drawn on TEKTRONIX 4010 series
                     storage tubes.  They are:
                          0000     solid
                          1111     dotted
                          2222     dot dashed
                          3333     dashed
                          4444     long dashed

           ffffoooonnnntttt      An integer value set for _t_e_x_t primitives to
                     designate the text font to be used in drawing a
                     character string.  (Currently _f_o_n_t is expressed as
                     a four-bit _w_e_i_g_h_t value followed by a four-bit
                     _s_t_y_l_e value.)

           tttteeeexxxxttttssssiiiizzzzeeee  _T_e_x_t_s_i_z_e is an integer value used in _t_e_x_t
                     primitives to express the size of the characters
                     to be drawn.  _T_e_x_t_s_i_z_e represents the height of
                     characters in absolute _u_n_i_v_e_r_s_e-_u_n_i_t_s and is
                     stored at one-fifth this value in the size-
                     orientation (_s_o) word (see below).

           tttteeeexxxxttttaaaannnngggglllleeee _T_e_x_t_a_n_g_l_e is a signed integer value used in _t_e_x_t
                     primitives to express rotation of the character
                     string around the beginning point.  _T_e_x_t_a_n_g_l_e is
                     expressed in degrees from the positive x-axis and
                     can be a positive or negative value.  It is stored
                     in the size-orientation (_s_o) word as a value
                     256/360 of it's absolute value.

         OOOORRRRGGGGAAAANNNNIIIIZZZZAAAATTTTIIIIOOOONNNN
           GPS primitives are organized internally as follows:

           lllliiiinnnneeeessss          _c_w  _p_o_i_n_t_s  _s_w
           aaaarrrrcccc       _c_w  _p_o_i_n_t_s  _s_w
           tttteeeexxxxtttt      _c_w  _p_o_i_n_t  _s_w  _s_o  [_s_t_r_i_n_g]
           hhhhaaaarrrrddddwwwwaaaarrrreeee       _c_w  _p_o_i_n_t  [_s_t_r_i_n_g]
           ccccoooommmmmmmmeeeennnntttt        _c_w  [_s_t_r_i_n_g]

           ccccwwww        _C_w is the control word and begins all primitives.
                     It consists of four bits that contain a
                     primitive-type code and twelve bits that contain
                     the word-count for that primitive.

           ppppooooiiiinnnntttt(ssss)  _P_o_i_n_t(_s) is one or more pairs of integer
                     coordinates.  _T_e_x_t and _h_a_r_d_w_a_r_e primitives only



      Page 2                                                   (9010-E)






      GGGGPPPPSSSS((((4444))))                      ((((UUUUNNNNIIIIXXXX 5555....2222))))                     GGGGPPPPSSSS((((4444))))



                     require a single _p_o_i_n_t.  _P_o_i_n_t(_s) are values
                     within a cartesian plane or _u_n_i_v_e_r_s_e having 64K
                     (-32K to +32K) points on each axis.

           sssswwww        _S_w is the style-word and is used in _l_i_n_e_s, _a_r_c,
                     and _t_e_x_t primitives.  For all three, eight bits
                     contain _c_o_l_o_r information.  In _a_r_c and _l_i_n_e_s,
                     eight bits are divided as four bits _w_e_i_g_h_t and
                     four bits _s_t_y_l_e.  In the _t_e_x_t primitive, eight
                     bits of _s_w contain the _f_o_n_t.

           ssssoooo        _S_o is the size-orientation word used in _t_e_x_t
                     primitives.  Eight bits contain text size and
                     eight bits contain text rotation.

           ssssttttrrrriiiinnnngggg    _S_t_r_i_n_g is a null-terminated character string.  If
                     the string does not end on a word boundary, an
                     additional null is added to the GPS file to insure
                     word-boundary alignment.

      SSSSEEEEEEEE AAAALLLLSSSSOOOO
           graphics(1), stat(1), toc(1) in the _R_O_S _R_e_f_e_r_e_n_c_e _M_a_n_u_a_l.

































      Page 3                                                   (9010-E)



