home *** CD-ROM | disk | FTP | other *** search
/ Fresh Fish 4 / FreshFish_May-June1994.bin / new / misc / math / cp / source / cp.h next >
C/C++ Source or Header  |  1994-05-01  |  4KB  |  233 lines

  1. #include <stdio.h>
  2. #include <string.h>
  3. #include <math.h>
  4. #include <exec/types.h>
  5. #include <exec/memory.h>
  6. #include <exec/lists.h>
  7. #include <dos/dos.h>
  8. #include <dos/dostags.h>
  9. #include <graphics/rastport.h>
  10. #include <graphics/gfxmacros.h>
  11. #include <intuition/intuition.h>
  12. #include <proto/exec.h>
  13. #include <proto/dos.h>
  14. #include <proto/intuition.h>
  15. #include <proto/gadtools.h>
  16. #include <proto/graphics.h>
  17. #include <proto/layers.h>
  18. #include <proto/utility.h>
  19. #include <proto/asl.h>
  20. #include <proto/diskfont.h>
  21. #include <devices/printer.h>
  22. #include <devices/prtbase.h>
  23. #include <rexx/storage.h>
  24. #include <rexx/rxslib.h>
  25.  
  26. #include "simplerexx.h"
  27. #include "plotgui.h"
  28.  
  29. extern BPTR _Backstdout;      /* keep stdout till we get past startup */
  30.  
  31. #define __USE_SYSBASE
  32. #define NT_DATA 250;
  33.  
  34. #define WAITHEIGHT 9
  35. #define WAITWIDTH 15        /* for our various pointers */
  36. #define WAITXOFF   1
  37. #define WAITYOFF   1
  38. #define XPWIDTH    5
  39. #define XPHEIGHT   7
  40. #define XPXOFF    -3
  41. #define XPYOFF    -3
  42. #define IDWIDTH   15
  43. #define IDHEIGHT  15
  44. #define IDXOFF    -8
  45. #define IDYOFF    -7
  46.  
  47. extern USHORT __chip WAITPointer[];
  48. extern USHORT __chip XPPointer[]; 
  49. extern USHORT __chip IDPointer[]; 
  50.  
  51. int OpenGTXScreen( void );
  52.  
  53. int OpenGTXWindow(int (* )());
  54.  
  55. struct TextFont *OpencPFont( void );
  56.  
  57. void Death(int);
  58.  
  59. struct Point {
  60.      struct Point *NextPoint;
  61.      double  xval;
  62.      double  yval;
  63. };
  64.  
  65. struct Set {
  66.      struct Node snode;
  67.      struct Point *FirstPoint;
  68.      char  fn[255];
  69.      int    npt;
  70.      double  xmin;
  71.      double  xmax;
  72.      double  ymin;
  73.      double  ymax;
  74. };
  75.  
  76. struct World {
  77.      double xdelta;
  78.      double ydelta;
  79.      double xmax;
  80.      double xmin;
  81.      double ymax;
  82.      double ymin;
  83. };
  84.  
  85. struct CurView {
  86.      double xmax;
  87.      double xmin;
  88.      double ymax;
  89.      double ymin;
  90.      double xdelta;
  91.      double ydelta;
  92.      double xtik;
  93.      double ytik;
  94.      WORD xsubt;
  95.      WORD ysubt;
  96.      BOOL xmode;
  97.      BOOL ymode;
  98.      WORD xprec;
  99.      WORD yprec;
  100.      double xfact;
  101.      double yfact;
  102.      LONG xdec;
  103.      LONG ydec;
  104. };
  105.  
  106. extern struct World wd;
  107. extern struct CurView cv;
  108. extern struct List *SetList;
  109. extern struct TextAttr *cPFont;
  110. extern struct TextFont *fontPtr;
  111. extern UBYTE *path;
  112. extern UBYTE *MyName;
  113. extern UBYTE *XLAB;
  114. extern UBYTE *YLAB;
  115. extern UBYTE *TITLE;
  116. extern struct RastPort *rp;
  117. extern struct ViewPort *vp;
  118. extern LONG thin;
  119. extern LONG points;
  120. extern BOOL RealTime;
  121. extern BOOL grid;
  122. extern BOOL LOGX;
  123. extern BOOL LOGY;
  124. extern BOOL MONO;
  125. extern BOOL sym;
  126. extern BOOL DEFS;
  127. extern BOOL CPANEL;
  128. extern BOOL NOFNAME;
  129. extern BOOL BEHIND;
  130. extern BOOL FEED;
  131. extern WORD WIDTH;
  132. extern WORD HEIGHT;
  133. extern WORD xoff;
  134. extern WORD yoff;
  135. extern LONG Disp;
  136. extern UWORD SWIDTH;
  137. extern UWORD SHEIGHT;
  138. extern WORD GADHEIGHT;
  139. extern WORD GADWIDTH;
  140. extern WORD lastcolor;
  141. extern WORD depth;
  142. extern LONG precision;
  143.  
  144. extern AREXXCONTEXT    RexxStuff;
  145.  
  146. BOOL AddSet( UBYTE * );
  147.  
  148. BPTR OpenFile( UBYTE * );
  149.  
  150. struct Point *File2Set( BPTR , struct Set * );
  151.  
  152. void FreePoints(struct Point * );
  153.  
  154. void FreeAllSets( void );
  155.  
  156. void DrawView( BOOL );
  157.  
  158. void FindWorld ( void );
  159.  
  160. void DrawSet ( struct Point * );
  161.  
  162. void DrawAllSets ( void );
  163.  
  164. void SymAllSets ( void );
  165.  
  166. void SymSet ( struct Point * );
  167.  
  168. void tik(double vmin, double vmax, double *tick, WORD *nsubt, BOOL *mode, WORD *prec);
  169.  
  170. void DrawColorBox( WORD, WORD, WORD, WORD, WORD);
  171.  
  172. WORD DrawFileNameBoxes( WORD);
  173.  
  174. void Erase( BOOL );
  175.  
  176. int CrossHair( void );
  177.  
  178. WORD Dump( void );
  179.  
  180. void XAxis( void );
  181. void YAxis( void );
  182. void linXAxis( void );
  183. void linYAxis( void );
  184. void logXAxis( void );
  185. void logYAxis( void );
  186.  
  187. BOOL AddNewSet( void );
  188.  
  189. void Zoom( void );
  190.  
  191. void Grid( void );
  192. void logXGrid( void );
  193. void logYGrid( void );
  194. void linXGrid( void );
  195. void linYGrid( void );
  196.  
  197. void E2xTen( UBYTE *s);
  198.  
  199. void Round( double * );
  200.  
  201. void CalcMode ( double, double *);
  202.  
  203. void Identify( WORD, WORD , BOOL);
  204.  
  205. void ticX( double, BOOL);
  206. void ticY( double, BOOL);
  207.  
  208. LONG ScaleX( double );
  209. LONG ScaleY( double );
  210.  
  211. void LabelY( UBYTE * );
  212. void LabelTitle( void );
  213.  
  214. double ZoomX( WORD );
  215. double ZoomY( WORD );
  216.  
  217. LONG linX( double );
  218. LONG linY( double );
  219.  
  220. double linZoomX( WORD );
  221. double linZoomY( WORD );
  222.  
  223. LONG logX( double );
  224. LONG logY( double );
  225.  
  226. double logZoomX( WORD );
  227. double logZoomY( WORD );
  228.  
  229. LONG HandleARexxMes( void );
  230.  
  231. int NewDepth( WORD );
  232. void VertText(struct RastPort *, UBYTE *, LONG );
  233.