home *** CD-ROM | disk | FTP | other *** search
/ ARM Club 3 / TheARMClub_PDCD3.iso / hensa / programming / tcl / tclsrc / h / WInt < prev   
Encoding:
Text File  |  1996-03-10  |  2.9 KB  |  103 lines

  1. /* RISC OS internal wimp header for  tcl */
  2. /* (c) C.T.Stretch */
  3. /* Tue,28 Jun 1994 */
  4.  
  5. #ifndef _W_INT
  6. #define _W_INT
  7.  
  8. #include "tclInt.h"
  9. #undef UCHAR
  10. #include "tclW.h"
  11. #include "h.wimp"
  12. #include "h.wimpspriteop"
  13.  
  14. #define PNSIZE 8
  15. #define BEEP os_writec(os_VDU_BELL)
  16. #define menu_NONE ((tcl_menu*)(-1))
  17. #define INSET 132
  18.  
  19. #define WNA "Wrong # arguments, should be: "
  20.  
  21. typedef struct view
  22. { struct view *next;
  23.   wimp_w w;
  24. } view;
  25.  
  26. typedef struct trace
  27. { struct trace *next;
  28.   char *var,*tag;
  29.   Tcl_VarTraceProc *proc;
  30.   ClientData cd;
  31. } trace;
  32.  
  33. typedef struct tcl_menu
  34. { char **action;
  35.   struct trace *traces;
  36.   int n;
  37.   wimp_menu menu;
  38. } tcl_menu;
  39.  
  40. typedef struct font_table
  41. { char used[256];
  42. } font_table;
  43.  
  44. extern wimp_t taskhandle;
  45. extern char progname[PNSIZE+1];
  46. extern Tcl_HashTable documentTable,diagramTable,boxTable,taskTable;
  47. extern wimp_block block;
  48. extern char *substr[26];
  49.  
  50. /* eig factors for current mode */
  51. extern int current_ex,current_ey;
  52.  
  53. extern font_f find_font(char *name,int size,font_table *t);
  54. extern void release_fonts(font_table *ft);
  55. extern void msg(char *s1,char *s2,char *s3);
  56. extern int wrong(char *m1,char *m2);
  57. extern void *wrong0(char *m1,char *m2);
  58. extern char *scopy(char *in);
  59. extern void checkEval(char *s,char *m);
  60. extern os_colour getcolour(char *s);
  61. extern int getsize(char *s,double f);
  62. extern int getconstant(char *s);
  63. extern void unlink(void *l,void *v);
  64. extern void screensize(int *x,int *y);
  65. /* Set current eig factors */
  66.  
  67. void modeinfo(void);
  68. extern void diagram_modechange(void);
  69. extern void diagram_palettechange(void);
  70. extern bool document_redraw(void);
  71. extern bool document_close(void);
  72. extern tcl_menu *document_menu(void);
  73. extern bool diagram_redraw(void);
  74. extern bool diagram_close(void);
  75. extern bool diagram_click(void);
  76. extern void mp_to_os(os_box *b);
  77. extern tcl_menu *diagram_menu(void);
  78. extern void setbutton(void);
  79. extern void menu_select(void);
  80. extern tcl_menu *menu_make(char *desc,char *tag);
  81. extern void menu_bar(tcl_menu *wm);
  82. extern void menu_open(void);
  83. extern void menu_free(tcl_menu *m);
  84. extern void *box_find(char *name);
  85. extern void box_submenu(void *db,char *tag,int x,int y);
  86. extern bool box_close(void);
  87. extern bool box_click(void);
  88. extern bool box_key(void);
  89. extern void box_dragged(void);
  90. extern void box_dragsave(wimp_message *m);
  91. extern bool box_dragload(wimp_message *m);
  92. extern void task_message(wimp_message *m);
  93. extern void task_killall(void);
  94. extern osspriteop_area *spriteinfo(char *s,int *xx,int *yy,bool os);
  95. /* tcl wimp commands */
  96. extern int w_TextCmd(ClientData dummy,Tcl_Interp *interp,int argc,char **argv);
  97. extern int w_DrawCmd(ClientData dummy,Tcl_Interp *interp,int argc,char **argv);
  98. extern int w_BoxCmd(ClientData dummy,Tcl_Interp *interp,int argc,char **argv);
  99. extern int w_TaskCmd(ClientData dummy,Tcl_Interp *interp,int argc,char **argv);
  100. extern int w_SystemCmd(ClientData dmy,Tcl_Interp *interp,int argc,char **argv);
  101. extern int w_InfoCmd(ClientData dummy,Tcl_Interp *interp,int argc,char **argv);
  102. #endif /* _W_INT */
  103.