


      GGGGEEEEDDDD((((1111))))                      ((((UUUUNNNNIIIIXXXX 5555....2222))))                     GGGGEEEEDDDD((((1111))))



      NNNNAAAAMMMMEEEE
           ged - graphical editor

      SSSSYYYYNNNNTTTTAAAAXXXX
           ggggeeeedddd [----eeeeuuuuRRRRrrrrn] [GPS~file~~~~............]

      DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
           _G_e_d is an interactive graphical editor used to display,
           construct, and edit GPS files on TEKTRONIX 4010 series
           display terminals.  If GPS _f_i_l_e(s) are given, _g_e_d reads them
           into an internal display buffer and displays the buffer.
           The GPS in the buffer can then be edited.  If ---- is given as
           a file name, _g_e_d reads a GPS from the standard input.

           _G_e_d accepts the following command line options:

                eeee    Do not erase the screen before the initial
                     display.

                rrrr_n   Display region number _n.

                uuuu    Display the entire GPS _u_n_i_v_e_r_s_e.

           A GPS file is composed of instances of three graphical
           objects:  _l_i_n_e_s, _a_r_c, and _t_e_x_t.  _A_r_c and _l_i_n_e_s objects have
           a start point, or _o_b_j_e_c_t-_h_a_n_d_l_e, followed by zero or more
           points, or _p_o_i_n_t-_h_a_n_d_l_e_s.  _T_e_x_t has only an object-handle.
           The objects are positioned within a Cartesian plane, or
           _u_n_i_v_e_r_s_e, having 64K (-32K to +32K) points, or _u_n_i_v_e_r_s_e-
           _u_n_i_t_s, on each axis.  The universe is divided into 25 equal
           sized areas called _r_e_g_i_o_n_s.  Regions are arranged in five
           rows of five squares each, numbered 1 to 25 from the lower
           left of the universe to the upper right.

           _G_e_d maps rectangular areas, called _w_i_n_d_o_w_s, from the
           universe onto the display screen.  Windows allow the user to
           view pictures from different locations and at different
           magnifications.  The _u_n_i_v_e_r_s_e-_w_i_n_d_o_w is the window with
           minimum magnification, i.e., the window that views the
           entire universe.  The _h_o_m_e-_w_i_n_d_o_w is the window that
           completely displays the contents of the display buffer.

      CCCCOOOOMMMMMMMMAAAANNNNDDDDSSSS
           _G_e_d commands are entered in _s_t_a_g_e_s.  Typically each stage
           ends with a <<<<ccccrrrr>>>> (return).  Prior to the final <<<<ccccrrrr>>>> the
           command may be aborted by typing rrrruuuubbbboooouuuutttt.  The input of a
           stage may be edited during the stage using the erase and
           kill characters of the calling shell.  The prompt ****
           indicates that _g_e_d is waiting at stage 1.

           Each command consists of a subset of the following stages:




      Page 1                                                   (9010-E)






      GGGGEEEEDDDD((((1111))))                      ((((UUUUNNNNIIIIXXXX 5555....2222))))                     GGGGEEEEDDDD((((1111))))



           1.  _C_o_m_m_a_n_d _l_i_n_e
                       A _c_o_m_m_a_n_d _l_i_n_e consists of a command _n_a_m_e,
                       followed by _a_r_g_u_m_e_n_t(s).  The command line is
                       completed by a <<<<ccccrrrr>>>>.  A command _n_a_m_e is a single
                       character.  Command _a_r_g_u_m_e_n_t_s are either
                       _o_p_t_i_o_n(s) or a _f_i_l_e-_n_a_m_e.  _O_p_t_i_o_n_s are indicated
                       by a leading ----.

           2.   _T_e_x_t   _T_e_x_t is a sequence of characters terminated by
                       an unescaped <<<<ccccrrrr>>>>.  (120 lines of text maximum.)

           3.   _P_o_i_n_t_s _P_o_i_n_t_s is a sequence of one or more screen
                       locations (maximum of 30) indicated either by
                       the terminal crosshairs or by name.  The prompt
                       for entering _p_o_i_n_t_s is the appearance of the
                       crosshairs.  When the crosshairs are visible,
                       typing:

                       sssspppp   (space) enters the current location as a
                            _p_o_i_n_t.  The _p_o_i_n_t is identified with a
                            number.

                       $$$$_n   enters the previous _p_o_i_n_t numbered _n.

                       >>>>_x   labels the last _p_o_i_n_t entered with the
                            upper case letter _x.

                       $$$$_x   enters the _p_o_i_n_t labeled _x.

                       ....    establishes the previous _p_o_i_n_t_s as the
                            current _p_o_i_n_t_s.  At the start of a command,
                            the previous _p_o_i_n_t_s are those locations
                            given with the previous command.

                       ====    echoes the current _p_o_i_n_t_s.

                       $$$$...._n  enters the _p_o_i_n_t numbered _n from the
                            previous _p_o_i_n_t_s.

                       ####    erases the last _p_o_i_n_t entered.

                       @@@@    erases all of the _p_o_i_n_t_s entered.

           4.   _P_i_v_o_t  The _p_i_v_o_t is a single location, entered by
                       typing <<<<ccccrrrr>>>> or by using the $$$$ operator, and
                       indicated with a ****.

           5.   _D_e_s_t_i_n_a_t_i_o_n
                       The _d_e_s_t_i_n_a_t_i_o_n is a single location entered by
                       typing <<<<ccccrrrr>>>> or by using $$$$.





      Page 2                                                   (9010-E)






      GGGGEEEEDDDD((((1111))))                      ((((UUUUNNNNIIIIXXXX 5555....2222))))                     GGGGEEEEDDDD((((1111))))



         CCCCOOOOMMMMMMMMAAAANNNNDDDD SSSSUUUUMMMMMMMMAAAARRRRYYYY
           In this summary, characters typed by the user are printed in
           bbbboooolllldddd.  Command stages are printed in _i_t_a_l_i_c_s.  Arguments
           surrounded by brackets ``[[[[]]]]'' are optional.  Parentheses
           ``(((())))'' surrounding arguments separated by ``or'' means that
           exactly one of the arguments must be given.


         CCCCoooonnnnssssttttrrrruuuucccctttt ccccoooommmmmmmmaaaannnnddddssss::::
                AAAArc         [----eeeecho,sssstyle,wwwweight] _p_o_i_n_t_s

                BBBBox         [----eeeecho,sssstyle,wwwweight] _p_o_i_n_t_s

                CCCCircle      [----eeeecho,sssstyle,wwwweight] _p_o_i_n_t_s

                HHHHardware    [----eeeecho] _t_e_x_t _p_o_i_n_t_s

                LLLLines       [----eeeecho,sssstyle,wwwweight] _p_o_i_n_t_s

                TTTText        [----aaaangle,eeeecho,hhhheight,mmmmid-point,rrrright-
                            point,ttttext,wwwweight] _t_e_x_t _p_o_i_n_t_s


         EEEEddddiiiitttt ccccoooommmmmmmmaaaannnnddddssss::::
                DDDDelete      ( ---- (uuuuniverse or vvvview) or _p_o_i_n_t_s )

                EEEEdit        [----aaaangle,eeeecho,hhhheight,sssstyle,wwwweight] ( ----
                            (uuuuniverse or vvvview) or _p_o_i_n_t_s )

                KKKKopy        [----eeeecho,ppppoints,xxxx] _p_o_i_n_t_s _p_i_v_o_t _d_e_s_t_i_n_a_t_i_o_n

                MMMMove        [----eeeecho,ppppoints,xxxx] _p_o_i_n_t_s _p_i_v_o_t _d_e_s_t_i_n_a_t_i_o_n

                RRRRotate      [----aaaangle,eeeecho,kkkkopy,xxxx] _p_o_i_n_t_s _p_i_v_o_t
                            _d_e_s_t_i_n_a_t_i_o_n

                SSSScale       [----eeeecho,ffffactor,kkkkopy,xxxx] _p_o_i_n_t_s _p_i_v_o_t
                            _d_e_s_t_i_n_a_t_i_o_n


         VVVViiiieeeewwww ccccoooommmmmmmmaaaannnnddddssss::::
                ccccoordinates     _p_o_i_n_t_s

                eeeerase

                nnnnew-display

                oooobject-handles  ( ---- (uuuuniverse or vvvview) or _p_o_i_n_t_s )

                ppppoint-handles   ( ---- (llllabelled-points or uuuuniverse or
                                vvvview) or _p_o_i_n_t_s )




      Page 3                                                   (9010-E)






      GGGGEEEEDDDD((((1111))))                      ((((UUUUNNNNIIIIXXXX 5555....2222))))                     GGGGEEEEDDDD((((1111))))



                vvvview            ( ---- (hhhhome or uuuuniverse or rrrregion) or
                                [----xxxx] _p_i_v_o_t _d_e_s_t_i_n_a_t_i_o_n )

                xxxx               [----vvvview] _p_o_i_n_t_s

                zzzzoom            [----oooout]  _p_o_i_n_t_s


         OOOOtttthhhheeeerrrr ccccoooommmmmmmmaaaannnnddddssss::::
                qqqquit or QQQQuit

                rrrread        [----aaaangle,eeeecho,hhhheight,mmmmid-point,rrrright-
                            point,ttttext,wwwweight]
                            _f_i_l_e-_n_a_m_e [_d_e_s_t_i_n_a_t_i_o_n]

                sssset         [----aaaangle,eeeecho,ffffactor,hhhheight,kkkkopy,mmmmid-
                            point,ppppoints,
                            rrrright-point,sssstyle,ttttext,wwwweight,xxxx]

                wwwwrite       _f_i_l_e-_n_a_m_e

                !!!!_c_o_m_m_a_n_d

                ????


         OOOOppppttttiiiioooonnnnssss::::
           _O_p_t_i_o_n_s specify parameters used to construct, edit, and view
           graphical objects.  If a parameter used by a command is not
           specified as an _o_p_t_i_o_n, the default value for the parameter
           will be used (see sssset below).  The format of command _o_p_t_i_o_n_s
           is:
                ----_o_p_t_i_o_n[,_o_p_t_i_o_n]
           where _o_p_t_i_o_n is _k_e_y_l_e_t_t_e_r[_v_a_l_u_e].  Flags take on the _v_a_l_u_e_s
           of true or false, which are indicated by ++++ and ----
           respectively.  If no _v_a_l_u_e is given with a flag, true is
           assumed.

           Object options:

                aaaangle_n      Angle of _n degrees.

                eeeecho        When true, echo additions to the display
                            buffer.

                ffffactor_n     SSSScale factor is _n percent.

                hhhheight_n     Height of _t_e_x_t is _n universe-units
                            (0_<_n<1280).

                kkkkopy        When true, copy rather than move.




      Page 4                                                   (9010-E)






      GGGGEEEEDDDD((((1111))))                      ((((UUUUNNNNIIIIXXXX 5555....2222))))                     GGGGEEEEDDDD((((1111))))



                mmmmid-point   When true, mid-point is used to locate text
                            string.

                ppppoints      When true, operate on points.  Otherwise,
                            operate on objects.

                rrrright-point When true, right-point is used to locate
                            _t_e_x_t string.

                sssstyle_t_y_p_e   Set line style to one of following _t_y_p_e_s:
                                 ssssoooo   solid
                                 ddddaaaa   dashed
                                 dddddddd   dot-dashed
                                 ddddoooo   dotted
                                 lllldddd   long-dashed

                ttttext        When false, _t_e_x_t strings are outlined
                            rather than drawn.

                wwwweight_t_y_p_e  Sets line weight to one of following _t_y_p_e_s:
                                 nnnn    narrow
                                 mmmm    medium
                                 bbbb    bold
           Area options:

                hhhhome        Reference the home-window.

                oooout         Reduce magnification.

                rrrregion_n     Reference region _n.

                uuuuniverse    Reference the universe-window.

                vvvview        Reference those objects currently in view.

                xxxx           Indicate the center of the referenced area.


         CCCCOOOOMMMMMMMMAAAANNNNDDDD DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNNSSSS
         CCCCoooonnnnssssttttrrrruuuucccctttt ccccoooommmmmmmmaaaannnnddddssss::::
           AAAArc and LLLLines
                behave similarly.  Each consists of a _c_o_m_m_a_n_d _l_i_n_e
                followed by _p_o_i_n_t_s.  The first _p_o_i_n_t entered is the
                object-handle.  Successive _p_o_i_n_t_s are point-handles.
                LLLLines connect the handles in numerical order.  AAAArc fits
                a curve to the handles (currently a maximum of 3 points
                will be fit with a circular arc; splines will be added
                in a later version).

           BBBBox and CCCCircle
                are special cases of LLLLines and AAAArc, respectively.  BBBBox
                generates a rectangle with sides parallel to the



      Page 5                                                   (9010-E)






      GGGGEEEEDDDD((((1111))))                      ((((UUUUNNNNIIIIXXXX 5555....2222))))                     GGGGEEEEDDDD((((1111))))



                universe axes.  A diagonal of the rectangle would
                connect the first _p_o_i_n_t entered with the last _p_o_i_n_t.
                The first _p_o_i_n_t is the object-handle.  Point-handles
                are created at each of the vertices.  CCCCircle generates
                a circular arc centered about the _p_o_i_n_t numbered zero
                and passing through the last _p_o_i_n_t.  The circle's
                object-handle coincides with the last _p_o_i_n_t.  A point-
                handle is generated 180 degrees around the circle from
                the object-handle.

           TTTText and HHHHardware
                generate _t_e_x_t objects.  Each consists of a _c_o_m_m_a_n_d
                _l_i_n_e, _t_e_x_t and _p_o_i_n_t_s.  _T_e_x_t is a sequence of
                characters delimited by <<<<ccccrrrr>>>>.  Multiple lines of text
                may be entered by preceding a ccccrrrr with a backslash
                (i.e., \\\\ccccrrrr).  The TTTText command creates software
                generated characters.  Each line of software text is
                treated as a separate _t_e_x_t object.  The first _p_o_i_n_t
                entered is the object-handle for the first line of
                text.  The HHHHardware command sends the characters in
                _t_e_x_t uninterpreted to the terminal.


         EEEEddddiiiitttt ccccoooommmmmmmmaaaannnnddddssss::::
           Edit commands operate on portions of the display buffer
           called _d_e_f_i_n_e_d _a_r_e_a_s.  A defined area is referenced either
           with an area _o_p_t_i_o_n or interactively.  If an area _o_p_t_i_o_n is
           not given, the perimeter of the defined area is indicated by
           _p_o_i_n_t_s. If no _p_o_i_n_t is entered, a small defined area is
           built around the location of the <<<<ccccrrrr>>>>.  This is useful to
           reference a single _p_o_i_n_t.  If only one _p_o_i_n_t is entered, the
           location of the <<<<ccccrrrr>>>> is taken in conjunction with the _p_o_i_n_t
           to indicate a diagonal of a rectangle.  A defined area
           referenced by _p_o_i_n_t_s will be outlined with dotted lines.

           DDDDelete
                removes all objects whose object-handle lies within a
                defined area.  The uuuuniverse option removes all objects
                and erases the screen.

           EEEEdit modifies the parameters of the objects within a defined
                area.  Parameters that can be edited are:
                     aaaangle     angle of _t_e_x_t
                     hhhheight    height of _t_e_x_t
                     sssstyle     style of _l_i_n_e_s and _a_r_c
                     wwwweight    weight of _l_i_n_e_s, _a_r_c, and _t_e_x_t.

           KKKKopy (or MMMMove)
                copies (or moves) object- and/or point-handles within a
                defined area by the displacement from the _p_i_v_o_t to the
                _d_e_s_t_i_n_a_t_i_o_n.




      Page 6                                                   (9010-E)






      GGGGEEEEDDDD((((1111))))                      ((((UUUUNNNNIIIIXXXX 5555....2222))))                     GGGGEEEEDDDD((((1111))))



           RRRRotate
                rotates objects within a defined area around the _p_i_v_o_t.
                If the kkkkopy flag is true, then the objects are copied
                rather than moved.

           SSSScale
                For objects whose object handles are within a defined
                area, point displacements from the _p_i_v_o_t are scaled by
                ffffactor percent.  If the kkkkopy flag is true, then the
                objects are copied rather than moved.


         VVVViiiieeeewwww ccccoooommmmmmmmaaaannnnddddssss::::
           ccccoordinates
                prints the location of _p_o_i_n_t(s) in universe- and
                screen-units.

           eeeerase
                clears the screen (but not the display buffer).

           nnnnew-display
                erases the screen then displays the display buffer.

           oooobject-handles (or ppppoint-handles)
                labels object-handles (and/or point-handles) that lie
                within the defined area with OOOO (or PPPP).  PPPPoint-handles
                identifies labelled points when the llllabelled-points
                flag is true.

           vvvview moves the window so that the universe point
                corresponding to the _p_i_v_o_t coincides with the screen
                point corresponding to the _d_e_s_t_i_n_a_t_i_o_n.  Options for
                hhhhome, uuuuniverse, and rrrregion display particular windows
                in the universe.

           xxxx    indicates the center of a defined area.  Option vvvview
                indicates the center of the screen.

           zzzzoom decreases (zzzzoom oooout) or increases the magnification of
                the viewing window based on the defined area.  For
                increased magnification, the window is set to
                circumscribe the defined area.  For a decrease in
                magnification, the current window is inscribed within
                the defined area.


         OOOOtttthhhheeeerrrr ccccoooommmmmmmmaaaannnnddddssss::::
           qqqquit or QQQQuit
                exit from _g_e_d.  QQQQuit responds with ???? if the display
                buffer has not been written since the last
                modification.




      Page 7                                                   (9010-E)






      GGGGEEEEDDDD((((1111))))                      ((((UUUUNNNNIIIIXXXX 5555....2222))))                     GGGGEEEEDDDD((((1111))))



           rrrread inputs the contents of a file.  If the file contains a
                GPS it is read directly.  If the file contains text it
                is converted into _t_e_x_t object(s).  The first line of a
                text file begins at _d_e_s_t_i_n_a_t_i_o_n.

           sssset  when given _o_p_t_i_o_n(s) resets default parameters,
                otherwise it prints current default values.

           wwwwrite
                outputs the contents of the display buffer to a file.

           !!!!    escapes _g_e_d to execute a UNIX system command.

           ????    lists _g_e_d commands.

      SSSSEEEEEEEE AAAALLLLSSSSOOOO
           gdev(1), graphics(1), sh(1).
           gps(4) in the _R_O_S _R_e_f_e_r_e_n_c_e _M_a_n_u_a_l.

           _A_n _I_n_t_r_o_d_u_c_t_i_o_n _t_o _t_h_e _G_r_a_p_h_i_c_a_l _E_d_i_t_o_r in the _U_N_I_X _S_y_s_t_e_m
           _G_r_a_p_h_i_c_s _G_u_i_d_e.

      WWWWAAAARRRRNNNNIIIINNNNGGGG
           See  _R_O_S _U_t_i_l_i_t_y _G_u_i_d_e - _M_u_l_t_i-_W_i_n_d_o_w_s section 7.2 for more
           information on _T_E_K_T_R_O_N_I_X emulation.






























      Page 8                                                   (9010-E)



