Name: SHDPAT  12
SHDPAT selects shading patterns used by routines such as  SHDCRV
and AREAF.
The call is:  CALL SHDPAT (IPAT)                   level 1, 2, 3
         or:  void shdpat (long ipat);
IPAT          is an integer between 0 and 17.
Name: MYPAT   12
MYPAT defines a global shading pattern.
The call is:  CALL MYPAT (IANG, ITYPE, IDENS, ICROSS)
                                                   level 1, 2, 3
         or:  void mypat (int iang, int itype, int idens,
                                                    int icross);
IANG          is the angle of shading lines (0 - 179).
ITYPE         defines the type of shading lines:
         = 0  no shading lines.
         = 1  equidistant lines.
         = 2  double shading lines.
         = 3  triple shading lines.
         = 4  thick shading lines.
         = 5  dotted lines.
         = 6  dashed lines.
         = 7  dashed-dotted lines.
 IDENS        defines  the  distance  between  shading lines
              (0: small distance, 9: big distance).
 ICROSS       indicates  whether  shading lines are  hatched
              (0: not hatched, 1: hatched).
 Examples:    The following calls to  MYPAT  show the predefined
              shading patterns used by SHDPAT:

              IPAT =  0:   CALL MYPAT (  0, 0, 0, 0)
              IPAT =  1:   CALL MYPAT ( 45, 1, 5, 0)
              IPAT =  2:   CALL MYPAT (150, 4, 5, 0)
              IPAT =  3:   CALL MYPAT (135, 1, 5, 0)
              IPAT =  4:   CALL MYPAT ( 45, 4, 5, 0)
              IPAT =  5:   CALL MYPAT ( 45, 1, 5, 1)
              IPAT =  6:   CALL MYPAT (135, 2, 1, 0)
              IPAT =  7:   CALL MYPAT ( 45, 4, 5, 1)
              IPAT =  8:   CALL MYPAT ( 30, 1, 4, 0)
              IPAT =  9:   CALL MYPAT ( 45, 2, 1, 1)
              IPAT = 10:   CALL MYPAT (  0, 1, 5, 1)
              IPAT = 11:   CALL MYPAT ( 45, 3, 1, 0)
              IPAT = 12:   CALL MYPAT ( 70, 4, 7, 0)
              IPAT = 13:   CALL MYPAT ( 45, 3, 1, 1)
              IPAT = 14:   CALL MYPAT (  0, 4, 5, 1)
              IPAT = 15:   CALL MYPAT ( 45, 2, 1, 0)
              IPAT = 16:   CALL MYPAT (  0, 1, 0, 0)
              IPAT = 17:   CALL MYPAT (  0, 5, 5, 0)
Name: NOARLN  17
With the routine  NOARLN  the outlines  of shaded regions can be
suppressed.
The call is:  CALL NOARLN                          level 1, 2, 3
         or:  void noarln ();
Name: HWMODE  17
The routine HWMODE enables or disables hardware features for the
line width and for shading patterns.
The call is:  CALL HWMODE (CMOD, CKEY)             level 1, 2, 3
CMOD          is a character  string  that  can have  the values
              'ON' and 'OFF'.
CKEY          is a  character  string  that can have  the values
              'LINE' and 'SHADING'.
                                        Default: ('ON', 'LINE'),
                                              ('ON', 'SHADING').
Name: SHDFAC  17
The routine  SHDFAC  sets  a scaling factor  for the distance of
scan lines for software shading.  
The call is:  CALL SHDFAC (XFAC)                   level 1, 2, 3
XFAC          is the scaling factor (> 0.0).
                                                    Default: 1.0
Name: LINCYC  13
LINCYC changes the line style cycle.
The call is:  CALL LINCYC (INDEX, ITYP)            level 1, 2, 3
         or:  void lincyc (int index, int ityp);
INDEX         is an index between 1 and 30.
ITYP          is an integer  between 0 and 7 containing the line
              style  (0 = SOLID, 1 = DOT,  2 = DASH, 3 = CHNDSH,
              4 = CHNDOT, 5 = DASHM, 6 = DOTL, 7 = DASHL).
Name: CLRCYC  13
CLRCYC changes the colour cycle.
The call is:  CALL CLRCYC (INDEX, ICLR)            level 1, 2, 3
         or:  void clrcyc (int index, int iclr);
INDEX         is an index between 1 and 30.
ICLR          is a colour value (see SETCLR).
Name: PATCYC  13
PATCYC changes the shading pattern cycle.
The call is:  CALL PATCYC (INDEX, IPAT)            level 1, 2, 3
         or:  void patcyc (int index, long ipat);
INDEX         is an index between 1 and 30.
IPAT          is a pattern number between  0 and 17 or is deter-
              mined by the formula
              IANGLE * 1000 + ITYPE * 100 + IDENS * 10 + ICROSS
              with the parameters described in MYPAT.
Name: TRFSHF  14
TRFSHF affects the shifting of plot vectors.
The call is:      CALL TRFSHF (NXSHFT, NYSHFT)     level 1, 2, 3
         or:      void trfshf (int nxshft, int nyshft); 
NXSHFT, NYSHFT    are plot coordinates that define the magnitude
                  of shifting in the X- and Y-direction.
Name: TRFSCL  14
TRFSCL affects the scaling of plot vectors.
The call is:  CALL TRFSCL (XSCL, YSCL)             level 1, 2, 3
         or:  void trfscl (float xscl, float yscl);
XSCL, YSCL    are scaling factors for the X- and Y-direction.
Name: TRFROT  14
TRFROT affects the rotation of plot vectors around a point.
The call is:  CALL TRFROT (XANG, NX, NY)           level 1, 2, 3
         or:  void trfrot (float xang, int nx, int ny);
XANG          is  the  rotation  angle  measured in degrees in a
              counter-clockwise direction.
NX, NY        are the plot coordinates of the rotation point.
Name: TRFRES  14
TRFRES resets base transformations.
The call is:  CALL TRFRES                          level 1, 2, 3
         or:  void trfres ();
Name: SHIELD  15
SHIELD selects shielded regions  which are  set automatically by
DISLIN.
The call is:  CALL SHIELD (CAREA, CMODE)           level 1, 2, 3
         or:  void shield (const char *carea, 
                                             const char *cmode);
CAREA         is a character string defining the regions:
  = 'MESSAG'  is used for text and numbers plotted by MESSAG and
              NUMBER.
  = 'SYMBOL'  will shield symbols.
  = 'BARS'    will shield bars plotted by BARS.
  = 'PIE'     will shield pie segments plotted by PIEGRF.
  = 'LEGEND'  will protect legends. All legend attributes should
              be set before calling  CURVE  because the shielded
              region of a legend is defined by  CURVE.  If there
              is no legend position defined with  LEGPOS,  CURVE
              assumes  that the legend  lies in the  upper right
              corner of the axis system.
CMODE         is a character string defining a status:
  = 'ON'      means that the regions defined above will be writ-
              ten to the shielding buffer and are protected.
  = 'OFF'     means  that regions  will  not be  written  to the
              shielding buffer. Regions that are still stored in
              the buffer will be shielded.
  = 'DELETE'  removes regions from the shielding buffer.
  = 'RESET'   is a  combination of  'OFF' and  'DELETE'. Regions
              are removed from  and will  not be written  to the
              shielding  buffer.  To save  computing time,  this
              command should always be used when shielding is no
              longer needed.
  = 'NOVIS'   The shielding  of regions  held in  the  shielding
              buffer is disabled.  This is not valid for regions
              newly written to the buffer.
  = 'VIS'     Disabled  regions  will be protected.  This is the
              default  value for regions  newly  written  to the
              buffer.
Notes:      - A frame is  plotted around  regions defined by the
              user.  The  thickness  of frames  can be  set with
              FRAME. Regions defined automatically by DISLIN are
              not  enclosed  by a  frame but  frames  plotted by
              MESSAG after using FRMESS and shielded regions de-
              fined by MESSAG are identical.
            - Shielded regions can overlap each other.
            - The statement CALL RESET ('SHIELD')  resets shiel-
              ding. All regions defined by  DISLIN  and the user
              are removed from the shielding  buffer and  no new
              regions will be written to the buffer.
            - The number  of shielded regions  is limited to the
              size of the shielding buffer which is set  to 1000
              words. The number of words used by regions are:
              SHLREC = 6,  SHLRCT = 7,  SHLCIR = 5,  SHLELL = 7,
              SHLPIE = 7 and SHLPOL = 2*N+3.
            - Shielding of regions is computer intensive. There-
              fore, shielding should be used very carefully  and
              shielded regions should be deleted from the buffer
              when no longer needed.
            - Base transformations do not  affect  the  position
              of shielded regions.
            - SHLPOL can be used between the routines GRFINI and
              GRFFIN.  The shielded  region  will  be  projected
              into 3-D space. This is not valid for other shiel-
              ded regions.
Name: SHLREC  15
The routine SHLREC protects rectangles from being overwritten.
The call is:  CALL SHLREC (NX, NY, NW, NH)         level 1, 2, 3
         or:  void shlrec (int nx, int ny, int nw, int nh);
NX, NY        are plot coordinates of the upper left corner.
NW, NH        are the width and height in plot coordinates.
Name: SHLRCT  15
The routine  SHLRCT protects rotated rectangles from being over-
written.
The call is:  CALL SHLRCT (NX, NY, NW, NH, A)      level 1, 2, 3
         or:  void shlrct (int nx, int ny, int nw, int nh,
                                                       float a);
NX, NY        are plot coordinates of the upper left corner.
NW, NH        are the width and height in plot coordinates.
A             is  a  rotation  angle  measured  in  degrees in a
              counter-clockwise direction.
Name: SHLCIR  15
The routine SHLCIR protects circles from being overwritten.
The call is:  CALL SHLCIR (NX, NY, NR)             level 1, 2, 3
         or:  void shlcir (int nx, int ny, int nr); 
NX, NY        are plot coordinates of centre point.
NR            is the radius in plot coordinates.
Name: SHLELL  15
The routine  SHLELL  protects rotated ellipses  from being over-
written.
The call is:  CALL SHLELL (NX, NY, NA, NB, A)      level 1, 2, 3
         or:  void shlell (int nx, int ny, int na, int nb,
                                                       float a); 
NX, NY        are plot coordinates of centre point.
NA, NB        are the radii in plot coordinates.
A             is  a  rotation  angle  measured  in  degrees in a
              counter-clockwise direction.
Name: SHLPIE  15
The routine SHLPIE protects pie segments from being overwritten.
The call is:  CALL SHLPIE (NX, NY, NR, A, B)       level 1, 2, 3
         or:  void shlpie (int nx, int ny, int nr, float a,
                                                       float b); 
NX, NY        are plot coordinates of centre point.
NR            is the radius in plot coordinates.
A, B          are starting  and  ending angles  for pie segments
              measured in degrees  in a counter-clockwise direc-
              tion.
Name: SHLPOL  15
The routine SHLPOL protects polygons from being overwritten.
The call is:  CALL SHLPOL (NXRAY, NYRAY, N)        level 1, 2, 3
         or:  void shlpol (const int *nxray, const int *nyray, 
                                                         int n);
NXRAY, NYRAY  are arrays  containing the plot coordinates of the
              corner points.  Start and end points can be diffe-
              rent.
N             is the number of points.
Name: SHLIND  15
The index of  shielded regions  in the buffer  can be  requested
with SHLIND.  It returns the index of the region last written to
the buffer.
The call is:  CALL SHLIND (ID)                     level 1, 2, 3
         or:  int  shlind ();
ID            is the returned index.
Name: SHLDEL  15
SHLDEL removes entries from the shielding buffer.
The call is:  CALL SHLDEL (ID)                     level 1, 2, 3
         or:  void shldel (int id);
ID            is the index of a shielded region. If ID is 0, all
              regions defined by the user will be deleted.
Name: SHLRES  15
SHLRES deletes regions last written to the shielding buffer.
The call is:  CALL SHLRES (N)                      level 1, 2, 3
         or:  void shlres (int n);
N             is the number of regions to delete.
Name: SHLVIS  15
SHLVIS disables  or enables  shielded regions.  Disabled regions
are no longer protected but are still held in the shielding buf-
fer.
The call is:  CALL SHLVIS (ID, CMODE)              level 1, 2, 3
         or:  void shlvis (int id, const char *cmode);
ID            is the index of a shielded region. If ID is 0, all
              entries are disabled or enabled.
CMODE = 'ON'  enables shielded regions.  This is the default va-
              lue for regions newly written to the buffer.
      = 'OFF' disables shielded regions.
