diff --git a/include/wingem.h b/include/wingem.h new file mode 100644 index 000000000..ddafee06c --- /dev/null +++ b/include/wingem.h @@ -0,0 +1,112 @@ +/* SCCS Id: @(#)wingem.h 3.3 1999/12/10 */ +/* Copyright (c) Christian Bressler, 1999 */ +/* NetHack may be freely redistributed. See license for details. */ + +#ifndef WINGEM_H +#define WINGEM_H + +#define E extern + +/* menu structure */ +typedef struct Gmi{ + struct Gmi *Gmi_next; + int Gmi_glyph; + long Gmi_identifier; + char Gmi_accelerator, Gmi_groupacc; + int Gmi_attr; + char *Gmi_str; + long Gmi_count; + int Gmi_selected; +} Gem_menu_item; + +#define MAXWIN 20 /* maximum number of windows, cop-out */ + +extern struct window_procs Gem_procs; + +/* ### wingem1.c ### */ +#ifdef CLIPPING +E void NDECL(setclipped); +#endif +E void FDECL(docorner, (int, int)); +E void NDECL(end_glyphout); +E void FDECL(g_putch, (int)); +E void NDECL(win_Gem_init); +E int NDECL(mar_gem_init); +E char NDECL(mar_ask_class); +E char * NDECL(mar_ask_name); +E int FDECL(mar_create_window, (int)); +E void FDECL(mar_destroy_nhwindow, (int)); +E void FDECL(mar_print_glyph, (int, int, int, int)); +E void FDECL(mar_print_line, (int, int, int, char *)); +E void FDECL(mar_set_message, (char *, char *, char *)); +E Gem_menu_item *NDECL(mar_hol_inv); +E void FDECL(mar_set_menu_type,(int)); +E void NDECL(mar_reverse_menu); +E void FDECL(mar_set_menu_title, (const char *)); +E void NDECL(mar_set_accelerators); +E void FDECL(mar_add_menu, (winid, Gem_menu_item *)); +E void FDECL(mar_change_menu_2_text, (winid)); +E void FDECL(mar_add_message, (const char *)); +E void NDECL(mar_status_dirty); +E int FDECL(mar_hol_win_type, (int)); +E void NDECL(mar_clear_messagewin); +E void FDECL(mar_set_no_glyph, (int)); +E void NDECL(mar_map_curs_weiter); + +/* external declarations */ +E void FDECL(Gem_init_nhwindows, (int *, char **)); +E void NDECL(Gem_player_selection); +E void NDECL(Gem_askname); +E void NDECL(Gem_get_nh_event) ; +E void FDECL(Gem_exit_nhwindows, (const char *)); +E void FDECL(Gem_suspend_nhwindows, (const char *)); +E void NDECL(Gem_resume_nhwindows); +E winid FDECL(Gem_create_nhwindow, (int)); +E void FDECL(Gem_clear_nhwindow, (winid)); +E void FDECL(Gem_display_nhwindow, (winid, BOOLEAN_P)); +E void FDECL(Gem_dismiss_nhwindow, (winid)); +E void FDECL(Gem_destroy_nhwindow, (winid)); +E void FDECL(Gem_curs, (winid,int,int)); +E void FDECL(Gem_putstr, (winid, int, const char *)); +E void FDECL(Gem_display_file, (const char *, BOOLEAN_P)); +E void FDECL(Gem_start_menu, (winid)); +E void FDECL(Gem_add_menu, (winid,int,const ANY_P *, + CHAR_P,CHAR_P,int,const char *, BOOLEAN_P)); +E void FDECL(Gem_end_menu, (winid, const char *)); +E int FDECL(Gem_select_menu, (winid, int, MENU_ITEM_P **)); +E char FDECL(Gem_message_menu, (CHAR_P,int,const char *)); +E void NDECL(Gem_update_inventory); +E void NDECL(Gem_mark_synch); +E void NDECL(Gem_wait_synch); +#ifdef CLIPPING +E void FDECL(Gem_cliparound, (int, int)); +#endif +#ifdef POSITIONBAR +E void FDECL(Gem_update_positionbar, (char *)); +#endif +E void FDECL(Gem_print_glyph, (winid,XCHAR_P,XCHAR_P,int)); +E void FDECL(Gem_raw_print, (const char *)); +E void FDECL(Gem_raw_print_bold, (const char *)); +E int NDECL(Gem_nhgetch); +E int FDECL(Gem_nh_poskey, (int *, int *, int *)); +E void NDECL(Gem_nhbell); +E int NDECL(Gem_doprev_message); +E char FDECL(Gem_yn_function, (const char *, const char *, CHAR_P)); +E void FDECL(Gem_getlin, (const char *,char *)); +E int NDECL(Gem_get_ext_cmd); +E void FDECL(Gem_number_pad, (int)); +E void NDECL(Gem_delay_output); +#ifdef CHANGE_COLOR +E void FDECL(Gem_change_color,(int color,long rgb,int reverse)); +E char * NDECL(Gem_get_color_string); +#endif + +/* other defs that really should go away (they're tty specific) */ +E void NDECL(Gem_start_screen); +E void NDECL(Gem_end_screen); + +E void FDECL(genl_outrip, (winid,int)); + +#undef E + +#endif /* WINGEM_H */