/****************************************************************/
/**                        DISLIN.H                            **/
/**                                                            **/
/** INCLUDE file for DISLIN C routines.                        **/
/**                                                            **/
/** Date     : 13.08.1999                                      **/
/** Functions:      530                                        **/
/** Version  :  7.2                                            **/
/****************************************************************/

#ifdef __cplusplus
  extern "C" {
#endif

void  abs3pt (float x, float y, float z, float *xp, float *yp);
void  angle  (int ngrad);
void  arcell (int nx, int ny, int na, int nb, float a, float b, float t);
void  areaf  (int *nxray, int *nyray, int n);
void  autres (int ixdim, int iydim);
void  ax2grf (void);
void  ax3len (int nxl, int nyl, int nzl);
void  axclrs (int nclr, char *copt, char *cax);
void  axends (char *cstr, char *cax);
void  axgit  (void);
void  axis3d (float x3, float y3, float z3);
void  axsbgd (int nclr);
void  axslen (int nxl, int nyl);
void  axsorg (int nxa, int nya);
void  axspos (int nxa, int nya);
void  axsscl (char *cscl, char *cax);
void  axstyp (char *copt);
void  barbor (int iclr);
void  barclr (int ic1, int ic2, int ic3);
void  bargrp (int ngrp, float gap);
void  baropt (float xf, float a);
void  barpos (char *copt);
void  bars   (float *xray, float *y1ray, float *y2ray, int n);
void  bartyp (char *ctyp);
void  barwth (float factor);
void  basalf (char *calph);
void  basdat (int id, int im, int iy); 
void  bezier (float *xray, float *yray, int nray, float *x, float *y, int n);
short bitsi2 (int nbits, short mher, int iher, short mhin, int ihin);
int   bitsi4 (int nbits, int mher,int iher, int mhin, int ihin);
void  box2d  (void);
void  box3d  (void);
void  center (void);
void  cgmbgd (float xr, float xg, float xb);
void  cgmpic (char *cstr);
void  cgmver (int nclr);
void  chaang (float angle);
void  chaspc (float xspc);
void  chawth (float xwth);
void  chnatt (void);
void  chncrv (char *copt);
void  chndot (void);
void  chndsh (void);
void  chnpie (char *copt);
void  circle (int nx, int ny, int nr);
void  circsp (int nspc);
void  clip3d(char *ctyp);
int   closfl (int nu); 
void  clpbor (char *copt);
void  clpmod (char *copt);
void  clpwin (int nx, int ny, int nw, int nh);
void  clrcyc (int index, int iclr);
void  clrmod (char *cmode);
void  clswin (int id);
void  color  (char *col);
void  colran (int nca, int nce);
void  colray (float *zray, int *nray, int n);
void  complx (void);
void  concrv (float *xray, float *yray, int n, float zlev);
void  congap (float xfac);
void  conlab (char *clab);
void  conmat (float *zmat, int n, int m, float zlev);
void  conmod (float xfac, float xquot);
void  conn3d (float x, float y, float z);
void  connpt (float x, float y);
void  conpts (float *xray, int n, float *yray, int m, float *zmat, 
              float zlev, float *xpts, float *ypts, int maxpts,
              int *nray, int maxray, int *nlins);
void  conshd (float *xray, int n, float *yray, int m,
              float *zmat, float *zlev, int nlev);
void  contur (float *xray, int n, float *yray, int m,
              float *zmat, float zlev);
void  cross  (void);
void  crvmat (float *zmat, int n, int m, int ixpts, int iypts);
void  csrpt1 (int *ix, int *iy);
void  csrpts (int *ix, int *iy, int nmax, int *n, int *iret);
void  csrmov (int *ix, int *iy, int nmax, int *n, int *iret);
void  csruni (char *copt);
void  curv3d (float *xray, float *yray, float *zray, int n);
void  curve  (float *xray, float *yray, int n);
void  curve3 (float *xray, float *yray, float *zray, int n);
void  curvmp (float *xray, float *yray, int n);
void  curvx3 (float *xray, float y, float *zray, int n);
void  curvy3 (float x, float *yray, float *zray, int n);
void  dash   (void);
void  dashl  (void);
void  dashm  (void);
void  dattim (char *cdate, char *ctime);
void  digits (int ndig, char *cax);
void  disalf (void);
void  disfin (void);
void  disini (void);
void  dot    (void);
void  dotl   (void);
void  duplx  (void);
int   dwgbut (char *cstr, int ival);
char *dwgfil (char *clab, char *cstr, char *cmask);
int   dwglis (char *clab, char *clis, int ilis);
void  dwgmsg (char *cstr);
char *dwgtxt (char *clab, char *cstr);
void  ellips (int nx, int ny, int na, int nb);
void  endgrf (void);
void  erase  (void);
void  errbar (float *x, float *y, float *err1, float *err2, int n);
void  errdev (char *cdev);
void  errfil (char *cfil);
void  eushft (char *cnat, char *cshf);
void  expzlb (char *cstr);
int   fcha   (float x, int ndig, char *cstr);
void  field  (float *xray, float *yray,
              float *uray, float *vray, int n, int ivec);
void  filbox (int nx, int ny, int nw, int nh);
void  filclr (char *copt);
void  filmod (char *cmod);
void  fixspc (float xfac);
void  flab3d (void);
int   flen   (float x, int ndig);
void  frame  (int nfrm);
void  frmess (int nfrm);
void  gapcrv (float xgap);
char *getalf (void);
int   getang (void);
int   getbpp (void);
void  getclp (int *nx, int *ny, int *nw, int *nh);
int   getclr (void);
void  getdig (int *nxdig, int *nydig, int *nzdig);
char *getdsp (void);
char *getfil (void);
void  getgrf (float *a, float *e, float *or, float *step, char *cax);
int   gethgt (void);
void  getind (int index, float *xr, float *xg, float *xb);
void  getlab (char *cx, char *cy, char *cz);
void  getlen (int *nxl, int *nyl, int *nzl);
int   getlev (void);
int   getlin (void);
void  getmat (float *xray, float *yray, float *zray, int n, float *zmat,
              int nx, int ny, float zval, int *imat, float *wmat);
char *getmfl (void);
char *getmix (char *copt);
void  getor  (int *nx0, int *ny0);
void  getpag (int *nxpag, int *nypag);
long  getpat (void);
int   getplv (void);
void  getpos (int *nxa, int *nya);
void  getran (int *nca, int *nce);
void  getres (int *npb, int *nph);
void  getrgb (float *xr, float *xg, float *xb);
void  getscl (int *nxscl, int *nyscl, int *nzscl);
char *getshf (char *copt);
void  getsp1 (int *nxdis, int *nydis, int *nzdis);
void  getsp2 (int *nxdis, int *nydis, int *nzdis);
void  getsym (int *nxsym, int *nysym);
void  gettcl (int *nmaj, int *nmin);
void  gettic (int *nxtic, int *nytic, int *nztic);
int   gettyp (void);
FILE *getuni (void);
float getver (void);
void  getvk  (int *nv, int *nvfx, int *nvfy);
char *getvlt (void);
int   getwid (void);
void  getwin (int *ix, int *iy, int *nwidth, int *nheight);
int   getxid (char *copt);
int   gmxalf (char *copt, char *ca, char *cb);
void  gothic (void);
void  grace  (int ngrace);
void  graf   (float xa, float xe, float xor, float xstp,
              float ya, float ye, float yor, float ystp);
void  graf3  (float xa, float xe, float xor, float xstp,
              float ya, float ye, float yor, float ystp,
              float za, float ze, float zor, float zstp);
void  graf3d (float xa, float xe, float xor, float xstp,
              float ya, float ye, float yor, float ystp,
              float za, float ze, float zor, float zstp);
void  grafmp (float xa, float xe, float xor, float xstp,
              float ya, float ye, float yor, float ystp);
void  grdpol (int ixgrid, int iygrid);
void  grffin (void);
void  grfini (float x1, float y1, float z1,
              float x2, float y2, float z2, 
              float x3, float y3, float z3);
void  grid   (int ixgrid, int iygrid);
void  grid3d (int ixgrid, int iygrid, char *copt);
void  gridmp (int ixgrid, int iygrid);
int   gwgbox (int id);
int   gwgbut (int id);
void  gwgfil (int id, char *cfile);
int   gwglis (int id);
float gwgscl (int id);
void  gwgtxt (int id, char *ctext);
void  height (int nhchar);
void  helve  (void);
void  helves (void);
void  histog (float *xray, int n, float *x, float *y, int *m);
void  hname  (int nhchar);
void  hsvrgb (float  xh, float  xs, float  xv, 
              float *xr, float *xg, float *xb);
void  hsymbl (int nhsym);
void  htitle (int nhtit);
void  hwfont (void);
void  hworig (int nx, int ny);
void  hwpage (int nw, int nh);
void  imgfin (void);
void  imgini (void);
void  inccrv (int ncrv);
int   incdat (int id, int im, int iy);
void  incfil (char *cfil);
void  incmrk (int nmrk);
void  intax  (void);
int   intcha (int nx, char *cstr);
int   intlen (int nx);
void  itmcat (char *clis, char *cstr);
int   itmcnt (char *clis);
char *itmstr (char *clis, int nlis);
void  labclr (int iclr, char *copt);
void  labdig (int ndig, char *cax);
void  labdis (int ndis, char *cax);
void  labels (char *clab, char *cax);
void  labjus (char *copt, char *cax);
void  labmod (char *ckey, char *cval, char *cax);
void  labpos (char *cpos, char *cax);
void  labtyp (char *ctyp, char *cax);
void  legclr (void);
void  legend (char *cbuf, int ncor);
void  legini (char *cbuf, int nlin, int nmaxln);
void  leglin (char *cbuf, char *cstr, int ilin);
void  legopt (float x1, float x2, float x3);
void  legpat (int ityp, int ithk, int isym, long ipat, int iclr, int ilin);
void  legpos (int nx, int ny);
void  legtit (char *cstr);
void  lfttit (void);
void  lincyc (int index, int ityp);
void  line   (int nx, int ny, int nu, int nv);
void  linesp (float xfac);
void  lintyp (int ntyp);
void  linwid (int i);
void  lncap  (char *copt);
void  lnjoin (char *copt);
void  lnmlt  (float x);
void  logtic (char *cmod);
void  lsechk (char *cmod);
void  mapbas (char *cmod);
void  maplev (char *cmod);
void  mapmod (char *cmod);
void  mappol (float xpol, float ypol);
void  mapref (float ylower, float yupper);
void  mapsph (float xrad);
void  marker (int nsym);
void  mdfmat (int nx, int ny, float weight);
void  messag (char *cstr, int nx, int ny);
void  metafl (char *cstr);
void  mixalf (void);
void  mixleg (void);
float moment (float *xray, int n, char *copt);
void  mpaepl (int i);
void  mplang (float x);
void  mplclr (int nbg, int nfg);
void  mplpos (int nx, int ny);
void  mplsiz (int nsize);
void  msgbox (char *cstr);
void  mylab  (char *cstr, int itick, char *cax);
void  myline (int *nray, int n);
void  mypat  (int iang, int itype, int idens, int icross);
void  myvlt  (float *xr, float *xg, float *xb, int n);
void  namdis (int ndis, char *cax);
void  name   (char *cstr, char *cax);
void  namjus (char *copt, char *cax);
void  neglog (float eps);
void  newmix (void);
void  newpag (void);
int   nlmess (char *cstr);
int   nlnumb (float x, int ndig);
void  noarln (void);
void  nobar  (void);
void  nobgd  (void);
void  nochek (void);
void  noclip (void);
void  nofill (void);
void  nograf (void);
void  nohide (void);
void  noline (char *cax);
void  number (float x, int ndig, int nx, int ny);
void  numfmt (char *copt);
void  numode (char *cdec, char *cgrp, char *cpos, char *cfix);
int   nwkday (int id, int im, int iy);
int   nxlegn (char *cbuf);
int   nxposn (float x);
int   nylegn (char *cbuf);
int   nyposn (float y);
int   nzposn (float z);
int   openfl (char *cfil, int nu, int irw); 
void  opnwin (int id);
void  origin (int nx0, int ny0);
void  page   (int nw, int nh);
void  pagera (void);
void  pagfll (int nclr);
void  paghdr (char *cstr1, char *cstr2, int iopt, int idir);
void  pagmod (char *cmod);
void  patcyc (int index, long ipat);
void  penwid (float x);
void  pie    (int nxm, int nym, int nr, float a, float b);
void  piebor (int iclr);
void  pieclr (int *ic1, int *ic2, int n);
void  pieexp (void);
void  piegrf (char *cbuf, int nlin, float *xray, int nseg);
void  pielab (char *clab, char *cpos);
void  pieopt (float xf, float a);
void  pietyp (char *ctyp);
void  pievec (int ivec, char *copt);
void  point  (int nx, int ny, int nb, int nh, int ncol);
void  polcrv (char *cpol);
void  pos2pt (float x, float y, float *xp, float *yp);
void  pos3pt (float x, float y, float z, float *xp, float *yp, float *zp);
int   posifl (int nu, int nbyte); 
void  projct (char *cproj);
void  psfont (char *cfont);
void  qplot  (float *xray, float *yray, int n);
void  qplsca (float *xray, float *yray, int n);
void  qplpie (float *xray, int n);
void  qplbar (float *yray, int n);
void  qplclr (float *zmat, int n, int m);
void  qplsur (float *zmat, int n, int m);
void  qplcon (float *zmat, int n, int m, int nlv);
int   readfl (int nu, unsigned char *cbuf, int nbyte); 
void  recfll (int nx, int ny, int nw, int nh, int ncol);
void  rectan (int nx, int ny, int nw, int nh);
void  rel3pt (float x, float y, float z, float *xp, float *yp);
void  resatt (void);
void  reset  (char *cname);
void  revscr (void);
void  rgbhsv (float xr, float xg, float xb, float *xh, float *xs, float *xv);
void  rgtlab (void);
void  rimage (char *cfil);
void  rlarc  (float xm, float ym, float xa, float xb,
              float a,  float b,  float t);
void  rlarea (float *xray, float *yray, int n);
void  rlcirc (float xm, float ym, float r);
void  rlconn (float x, float y);
void  rlell  (float xm, float ym, float a, float b);
void  rline  (float x, float y, float u, float v);
void  rlmess (char *cstr, float x, float y);
void  rlnumb (float x, int ndig, float xp, float yp);
void  rlpie  (float xm, float ym, float r, float a, float b);
void  rlpoin (float x, float y, int nb, int nh, int ncol);
void  rlrec  (float x, float y, float xw, float xh);
void  rlrnd  (float x, float y, float xb, float xh, int irnd);
void  rlsec  (float xm, float ym, float r1, float r2,
              float a,  float b,  int ncol);
void  rlstrt (float x, float y);
void  rlsymb (int nsym, float x, float y);
void  rlvec  (float x1, float y1, float x2, float y2, int ivec);
void  rndrec (int nx, int ny, int nb, int nh, int irnd);
void  rpixel (int ix, int iy, int *iclr);
void  rpixls (unsigned char *iray, int ix, int iy, int nw, int nh);
void  rpxrow (unsigned char *iray, int ix, int iy, int n);
void  rtiff  (char *cfil);
void  rvynam (void);
void  scale  (char *cscl, char *cax);
void  sclfac (float xfac);
void  sclmod (char *cmode);
void  scrmod (char *cmode);
void  sector (int nx, int ny, int nr1, int nr2, float a, float b, int ncol);
void  selwin (int id);
void  sendbf (void);
void  sendok (void);
void  serif  (void);
void  setbas (float xfac);
void  setclr (int ncol);
void  setexp (float fexp);
void  setfil (char *cfil);
void  setgrf (char *c1, char *c2, char *c3, char *c4);
void  setind (int index, float xr, float xg, float xb);
void  setmix (char *cstr, char *cmix);
void  setpag (char *cpag);
void  setres (int npb, int nph);
void  setrgb(float xr, float xg, float xb);
void  setscl (float *xray, int n, char *cax);
void  setvlt (char *cvlt);
void  setxid (int id, char *copt);
void  shdcha (void);
void  shdcrv (float *x1ray, float *y1ray, int n1,
              float *x2ray, float *y2ray, int n2);
void  shdeur (int *inray, long *ipray, int *icray, int n);
void  shdmap (char *cmap);
void  shdmod (char *copt, char *ctype);
void  shdpat (long ipat);
void  shield (char *carea, char *cmode);
void  shlcir (int nx, int ny, int nr);
void  shldel (int id);
void  shlell (int nx, int ny, int na, int nb, float t);
int   shlind (void);
void  shlpie (int nx, int ny, int nr, float a, float b);
void  shlpol (int *nxray, int *nyray, int n);
void  shlrct (int nx, int ny, int nw, int nh, float t);
void  shlrec (int nx, int ny, int nw, int nh);
void  shlres (int n);
void  shlsur (void);
void  shlvis (int id, char *cmode);
void  simplx (void);
int   skipfl (int nu, int nbyte); 
void  smxalf (char *calph, char *c1, char *c2, int n);
void  solid  (void);
void  sortr1 (float *xray, int n, char *copt);
void  sortr2 (float *xray, float *yray, int n, char *copt);
void  spline (float *xray,  float *yray,  int n,
              float *xsray, float *ysray, int *nspl);
void  splmod (int ngrad, int npts);
void  strt3d (float x, float y, float z);
void  strtpt (float x, float y);
void  surclr (int ictop, int icbot);
void  surfce (float *xray, int n, float *yray, int m, float *zmat);
void  surfcp (float (*zfun)(float x, float y, int i), 
                         float a1, float a2, float astp,
                         float b1, float b2, float bstp);
void  surfun (float (*zfun)(float x, float y), int ixpts, float xdel, 
                     int iypts, float ydel);
void  surmat (float *zmat, int nx, int ny, int ixpts, int iypts);
void  surmsh (char *copt);
void  suropt (char *copt);
void  surshd (float *xray, int n, float *yray, int m, float *zmat);
void  sursze (float xmin, float xmax, float ymin, float ymax);
void  survis (char *cvis);
void  swgbox (int ip, int ival);
void  swgbut (int ip, int ival);
void  swgcb  (int id, void (*callbck) (int i, int *ir), int *iray);
void  swgfil (int ip, char *cval);
void  swgfnt (char *cfnt);
void  swghlp (char *cstr);
void  swgjus (char *ctype, char *cwidg);
void  swglis (int ip, int ival);
void  swgmix (char *c, char *cstr);
void  swgmod (char *cmod);
void  swgmrg (int ival, char *cstr);
void  swgoff (int nx, int ny);
void  swgpop (char *copt);
void  swgpos (int nx, int ny);
void  swgscl (int ip, float xval);
void  swgsiz (int nx, int ny);
void  swgtit (char *ctit);
void  swgtxt (int ip, char *cval);
void  swgtyp (char *ctype, char *cwidg);
void  swgwin (int nx, int ny, int nw, int nh);
void  swgwth (int nchar);
void  symbol (int nsym, int nx, int ny);
void  symfil (char *cdev, char *cstat);
void  symrot (float angle);
int   tellfl (int nu); 
void  thkcrv (int nthk);
void  ticks  (int itick, char *cax);
void  ticlen (int nmaj, int nmin);
void  ticmod (char *copt, char *cax);
void  ticpos (char *cpos, char *cax);
void  tiforg (int nx, int ny);
void  tifwin (int nx, int ny, int nw, int nh);
void  timopt (void);
void  titjus (char *copt);
void  title  (void);
void  titlin (char *cstr, int n);
void  titpos (char *copt);
void  trfco1 (float *xray, int n, char *cfrom, char *cto); 
void  trfco2 (float *xray, float *yray, int n, char *cfrom, char *cto); 
void  trfco3 (float *xray, float *yray, float *zray, int n, 
              char *cfrom, char *cto);
void  trfdat (int ndays, int *id, int *im, int *iy); 
void  trfrel (float *xray, float *yray, int n);
void  trfres (void);
void  trfrot (float xang, int nx, int ny);
void  trfscl (float xscl, float yscl);
void  trfshf (int nx, int ny);
void  triplx (void);
int   trmlen (char *cstr);
void  txtjus (char *copt);
void  unit   (FILE *fp);
void  upstr  (char *cstr);
void  vang3d (float a);
void  vclp3d (float x1, float x2);
void  vector (int nx1, int ny1, int nx2, int ny2, int ivec);
void  vectr3 (float x1, float y1, float z1,
              float x2, float y2, float z2, int ivec);
void  vfoc3d(float x, float y, float z, char *cview);
void  view3d (float xvu, float yvu, float zvu, char *cvu);
void  vkxbar (int nvfx);
void  vkybar (int nvfy);
void  vkytit (int nvfy);
void  vup3d (float a);
int   wgapp (int ip, char *clab);
int   wgbas (int ip, char *ctype);
int   wgbox (int ip, char *cstr, int isel);
int   wgbut (int ip, char *cstr, int ival);
int   wgcmd (int ip, char *clab, char *cmd);
int   wgfil (int ip, char *clab, char *cstr, char *cmask);
void  wgfin (void);
int   wgini (char *ctype);
int   wglab (int ip, char *cstr);
int   wglis (int ip, char *cstr, int isel);
int   wgltxt (int ip, char *clab, char *ctext, int iper);
int   wgok  (int ip);
int   wgpbut (int ip, char *clab);
int   wgpop (int ip, char *clab);
int   wgquit (int ip);
int   wgscl (int ip, char *cstr, float x1, float x2, float xval, int ndez);
int   wgtxt (int ip, char *cstr);
void  widbar (int nzb);
void  wimage (char *cfil);  
void  winapp (char *copt);  
void  window (int nx, int ny, int nw, int nh);
void  winfin (int iopt);
void  winfnt (char *cfont);
int   winid  (void);
void  winini (void *p1, void *p2, int i1, int i2);
void  winkey (char *copt);
void  winmod (char *copt);
void  winsiz (int nw, int nh);
void  wintit (char *cstr);
void  world  (void);
void  wpixel (int ix, int iy, int iclr);
void  wpixls (unsigned char *iray, int ix, int iy, int nw, int nh);
void  wpxrow (unsigned char *iray, int ix, int iy, int n);
int   writfl (int nu, unsigned char *cbuf, int nbyte); 
void  wtiff  (char *cfil);
void  x11fnt (char *cfont);
void  x11mod (char *copt);
float x2dpos (float x, float y);
float x3dabs (float x, float y, float z);
float x3dpos (float x, float y, float z);
float x3drel (float x, float y, float z);
void  xaxgit (void);
void  xaxis  (float xa, float xe, float xor, float xstp, 
              int nl, char *cstr, int it, int nx, int ny);
void  xaxlg  (float xa, float xe, float xor, float xstp,
              int nl, char *cstr, int it, int nx, int ny);
void  xaxmap (float xa, float xe, float xor, float xstp,
              char *cstr, int it, int ny);
void  xcross (void);
void  xdraw  (float x, float y);
void  xjdraw (float x, float y, int ipen);
float xinvrs (int n);
void  xmove  (float x, float y);
float xposn  (float x);
float y2dpos (float x, float y);
float y3dabs (float x, float y, float z);
float y3dpos (float x, float y, float z);
float y3drel (float x, float y, float z);
void  yaxgit (void);
void  yaxis  (float ya, float ye, float yor, float ystp, 
              int nl, char *cstr, int it, int nx, int ny);
void  yaxlg  (float ya, float ye, float yor, float ystp,
              int nl, char *cstr, int it, int nx, int ny);
void  yaxmap (float ya, float ye, float yor, float ystp,
              char *cstr, int it, int ny);
void  ycross (void);
float yinvrs (int n);
float yposn  (float y);
float z3dpos (float x, float y, float z);
void  zaxis  (float za, float ze, float zor, float zstp, 
              int nl, char *cstr, int it, int id, int nx, int ny);
void  zaxlg  (float za, float ze, float zor, float zstp, 
              int nl, char *cstr, int it, int id, int nx, int ny);
void  zbffin (void);
int   zbfini (void);
void  zbflin (float x1, float y1, float z1, float x2, float y2, float z2);
void  zbftri (float *x, float *y, float *z, int *ic);
void  zscale (float za, float ze);

#ifdef __cplusplus
  }
#endif
