home *** CD-ROM | disk | FTP | other *** search
- /* RISC OS internal wimp header for tcl */
- /* (c) C.T.Stretch */
- /* Tue,28 Jun 1994 */
-
- #ifndef _W_INT
- #define _W_INT
-
- #include "tclInt.h"
- #undef UCHAR
- #include "tclW.h"
- #include "h.wimp"
- #include "h.wimpspriteop"
-
- #define PNSIZE 8
- #define BEEP os_writec(os_VDU_BELL)
- #define menu_NONE ((tcl_menu*)(-1))
- #define INSET 132
-
- #define WNA "Wrong # arguments, should be: "
-
- typedef struct view
- { struct view *next;
- wimp_w w;
- } view;
-
- typedef struct trace
- { struct trace *next;
- char *var,*tag;
- Tcl_VarTraceProc *proc;
- ClientData cd;
- } trace;
-
- typedef struct tcl_menu
- { char **action;
- struct trace *traces;
- int n;
- wimp_menu menu;
- } tcl_menu;
-
- typedef struct font_table
- { char used[256];
- } font_table;
-
- extern wimp_t taskhandle;
- extern char progname[PNSIZE+1];
- extern Tcl_HashTable documentTable,diagramTable,boxTable,taskTable;
- extern wimp_block block;
- extern char *substr[26];
-
- /* eig factors for current mode */
- extern int current_ex,current_ey;
-
- extern font_f find_font(char *name,int size,font_table *t);
- extern void release_fonts(font_table *ft);
- extern void msg(char *s1,char *s2,char *s3);
- extern int wrong(char *m1,char *m2);
- extern void *wrong0(char *m1,char *m2);
- extern char *scopy(char *in);
- extern void checkEval(char *s,char *m);
- extern os_colour getcolour(char *s);
- extern int getsize(char *s,double f);
- extern int getconstant(char *s);
- extern void unlink(void *l,void *v);
- extern void screensize(int *x,int *y);
- /* Set current eig factors */
-
- void modeinfo(void);
- extern void diagram_modechange(void);
- extern void diagram_palettechange(void);
- extern bool document_redraw(void);
- extern bool document_close(void);
- extern tcl_menu *document_menu(void);
- extern bool diagram_redraw(void);
- extern bool diagram_close(void);
- extern bool diagram_click(void);
- extern void mp_to_os(os_box *b);
- extern tcl_menu *diagram_menu(void);
- extern void setbutton(void);
- extern void menu_select(void);
- extern tcl_menu *menu_make(char *desc,char *tag);
- extern void menu_bar(tcl_menu *wm);
- extern void menu_open(void);
- extern void menu_free(tcl_menu *m);
- extern void *box_find(char *name);
- extern void box_submenu(void *db,char *tag,int x,int y);
- extern bool box_close(void);
- extern bool box_click(void);
- extern bool box_key(void);
- extern void box_dragged(void);
- extern void box_dragsave(wimp_message *m);
- extern bool box_dragload(wimp_message *m);
- extern void task_message(wimp_message *m);
- extern void task_killall(void);
- extern osspriteop_area *spriteinfo(char *s,int *xx,int *yy,bool os);
- /* tcl wimp commands */
- extern int w_TextCmd(ClientData dummy,Tcl_Interp *interp,int argc,char **argv);
- extern int w_DrawCmd(ClientData dummy,Tcl_Interp *interp,int argc,char **argv);
- extern int w_BoxCmd(ClientData dummy,Tcl_Interp *interp,int argc,char **argv);
- extern int w_TaskCmd(ClientData dummy,Tcl_Interp *interp,int argc,char **argv);
- extern int w_SystemCmd(ClientData dmy,Tcl_Interp *interp,int argc,char **argv);
- extern int w_InfoCmd(ClientData dummy,Tcl_Interp *interp,int argc,char **argv);
- #endif /* _W_INT */
-