home *** CD-ROM | disk | FTP | other *** search
/ World of A1200 / World_Of_A1200.iso / programs / misc / wingnuplot / source.lha / source / WinPlot.h < prev    next >
C/C++ Source or Header  |  1994-04-10  |  3KB  |  121 lines

  1. /*
  2. #define MWDEBUG 1
  3. #include "memwatch.h"
  4. */
  5.  
  6. /* the config file */
  7. #define CONFIG "PROGDIR:WinPlot.cfg"
  8.  
  9. /* types */
  10.  
  11. struct RangeObject
  12. {
  13.  APTR Min, Max, Auto;
  14. };
  15.  
  16. struct LogScaleObject
  17. {
  18.  APTR Base, LogScale;
  19. };
  20.  
  21. struct LabelObject
  22. {
  23.  APTR Label, XOff, YOff;
  24. };
  25.  
  26. struct PlotWindow
  27. {
  28.  APTR WI_Plot, BT_Plot, BT_Load, BT_Save, BT_CD, BT_Set, BT_New, BO_Plot;
  29.  char Title[10];
  30. };
  31.  
  32. /* PlotImageClass */
  33. #define PIG_LastX 0x12340001
  34. #define PIG_LastY 0x12340002
  35.  
  36. #define NUMCOLORS 10
  37.  
  38. extern Class *PlotImgClass;
  39.  
  40. extern struct MUI_Palette_Entry  ColorEntries[];
  41. extern char                     *ColorNames[];
  42. extern struct PlotCommand       *commands;
  43. extern int                       ncommands;
  44.  
  45. /* Commands */
  46. void SendRexxMsg(char *);
  47. void ReplyRexxMsg(void);
  48. void LoadFunc(void);
  49. void SaveFunc(void);
  50. void CDFunc(void);
  51. void LoadConf(void);
  52. void SaveConf(void);
  53.  
  54. extern struct MsgPort *RexxReplyPort;
  55.  
  56. /* Window */
  57. APTR GetGUI(void);
  58. void WaitRequest(char *);
  59. void Refresh(void);
  60. void Settings(struct SetVar *);
  61. BOOL HandleMUI(LONG);
  62.  
  63. #define MAXWINDOW 5
  64.  
  65. extern APTR              AP_WinPlot, LV_Font, RG_Set;
  66. extern struct PlotWindow Windows[MAXWINDOW];
  67. extern LONG              ActiveWindow;
  68.   
  69. /* WinPlot */
  70. extern struct FileRequester *FileReq;
  71. extern        Class         *PlotImgClass;
  72. extern        BOOL           IsReady;
  73.  
  74. /* Hooks */
  75. extern        char *StyleEntries[];
  76. extern struct Hook  RangeHook, CheckHook, LogScaleHook, ConFontHook, DesFontHook,
  77.                     RexxCommandHook, StringCommandHook, StyleHook, LabelHook, ViewHook,
  78.                     ConVarHook, DesVarHook;
  79.  
  80. /* some a little bit changed private GnuPlot definitions from "plot.h" */
  81. #define MAX_ID_LEN     50    /* max length of an identifier */
  82. #define MAX_NUM_VAR    5    /* Ploting projection of func. of max. five vars. */
  83.  
  84. enum DATA_TYPES
  85. {
  86.  INTGR, CMPLX
  87. };
  88.  
  89. struct cmplx
  90. {
  91.  double real, imag;
  92. };
  93.  
  94. struct value
  95. {
  96.  enum DATA_TYPES type;
  97.  union
  98.   {
  99.    int int_val;
  100.    struct cmplx cmplx_val;
  101.   } v;
  102. };
  103.  
  104. typedef struct udft_entry
  105. {                                /* user-defined function table entry */
  106.     struct udft_entry *next_udf;         /* pointer to next udf in linked list */
  107.     char udf_name[MAX_ID_LEN+1];         /* name of this function entry */
  108.     struct at_type *at;            /* pointer to action table to execute */
  109.     char *definition;             /* definition of function as typed */
  110.     struct value dummy_values[MAX_NUM_VAR];    /* current value of dummy variables */
  111. } udft_entry;
  112.  
  113.  
  114. typedef struct udvt_entry
  115. {                            /* user-defined value table entry */
  116.     struct udvt_entry *next_udv;    /* pointer to next value in linked list */
  117.     char udv_name[MAX_ID_LEN+1];    /* name of this value entry */
  118.     ULONG udv_undef;        /* true if not defined yet */
  119.     struct value udv_value;            /* value it has */
  120. } udvt_entry;
  121.