1/* SCCS Id: @(#)wingem.h 3.4 1999/12/10 */ 2/* Copyright (c) Christian Bressler, 1999 */ 3/* NetHack may be freely redistributed. See license for details. */ 4 5#ifndef WINGEM_H 6#define WINGEM_H 7 8#define E extern 9 10/* menu structure */ 11typedef struct Gmi{ 12 struct Gmi *Gmi_next; 13 int Gmi_glyph; 14 long Gmi_identifier; 15 char Gmi_accelerator, Gmi_groupacc; 16 int Gmi_attr; 17 char *Gmi_str; 18 long Gmi_count; 19 int Gmi_selected; 20} Gem_menu_item; 21 22#define MAXWIN 20 /* maximum number of windows, cop-out */ 23 24extern struct window_procs Gem_procs; 25 26/* ### wingem1.c ### */ 27#ifdef CLIPPING 28E void NDECL(setclipped); 29#endif 30E void FDECL(docorner, (int, int)); 31E void NDECL(end_glyphout); 32E void FDECL(g_putch, (int)); 33E void NDECL(win_Gem_init); 34E int NDECL(mar_gem_init); 35E char NDECL(mar_ask_class); 36E char * NDECL(mar_ask_name); 37E int FDECL(mar_create_window, (int)); 38E void FDECL(mar_destroy_nhwindow, (int)); 39E void FDECL(mar_print_glyph, (int, int, int, int)); 40E void FDECL(mar_print_line, (int, int, int, char *)); 41E void FDECL(mar_set_message, (char *, char *, char *)); 42E Gem_menu_item *NDECL(mar_hol_inv); 43E void FDECL(mar_set_menu_type,(int)); 44E void NDECL(mar_reverse_menu); 45E void FDECL(mar_set_menu_title, (const char *)); 46E void NDECL(mar_set_accelerators); 47E void FDECL(mar_add_menu, (winid, Gem_menu_item *)); 48E void FDECL(mar_change_menu_2_text, (winid)); 49E void FDECL(mar_add_message, (const char *)); 50E void NDECL(mar_status_dirty); 51E int FDECL(mar_hol_win_type, (int)); 52E void NDECL(mar_clear_messagewin); 53E void FDECL(mar_set_no_glyph, (int)); 54E void NDECL(mar_map_curs_weiter); 55 56/* external declarations */ 57E void FDECL(Gem_init_nhwindows, (int *, char **)); 58E void NDECL(Gem_player_selection); 59E void NDECL(Gem_askname); 60E void NDECL(Gem_get_nh_event) ; 61E void FDECL(Gem_exit_nhwindows, (const char *)); 62E void FDECL(Gem_suspend_nhwindows, (const char *)); 63E void NDECL(Gem_resume_nhwindows); 64E winid FDECL(Gem_create_nhwindow, (int)); 65E void FDECL(Gem_clear_nhwindow, (winid)); 66E void FDECL(Gem_display_nhwindow, (winid, BOOLEAN_P)); 67E void FDECL(Gem_dismiss_nhwindow, (winid)); 68E void FDECL(Gem_destroy_nhwindow, (winid)); 69E void FDECL(Gem_curs, (winid,int,int)); 70E void FDECL(Gem_putstr, (winid, int, const char *)); 71E void FDECL(Gem_display_file, (const char *, BOOLEAN_P)); 72E void FDECL(Gem_start_menu, (winid)); 73E void FDECL(Gem_add_menu, (winid,int,const ANY_P *, 74 CHAR_P,CHAR_P,int,const char *, BOOLEAN_P)); 75E void FDECL(Gem_end_menu, (winid, const char *)); 76E int FDECL(Gem_select_menu, (winid, int, MENU_ITEM_P **)); 77E char FDECL(Gem_message_menu, (CHAR_P,int,const char *)); 78E void NDECL(Gem_update_inventory); 79E void NDECL(Gem_mark_synch); 80E void NDECL(Gem_wait_synch); 81#ifdef CLIPPING 82E void FDECL(Gem_cliparound, (int, int)); 83#endif 84#ifdef POSITIONBAR 85E void FDECL(Gem_update_positionbar, (char *)); 86#endif 87E void FDECL(Gem_print_glyph, (winid,XCHAR_P,XCHAR_P,int)); 88E void FDECL(Gem_raw_print, (const char *)); 89E void FDECL(Gem_raw_print_bold, (const char *)); 90E int NDECL(Gem_nhgetch); 91E int FDECL(Gem_nh_poskey, (int *, int *, int *)); 92E void NDECL(Gem_nhbell); 93E int NDECL(Gem_doprev_message); 94E char FDECL(Gem_yn_function, (const char *, const char *, CHAR_P)); 95E void FDECL(Gem_getlin, (const char *,char *)); 96E int NDECL(Gem_get_ext_cmd); 97E void FDECL(Gem_number_pad, (int)); 98E void NDECL(Gem_delay_output); 99#ifdef CHANGE_COLOR 100E void FDECL(Gem_change_color,(int color,long rgb,int reverse)); 101E char * NDECL(Gem_get_color_string); 102#endif 103 104/* other defs that really should go away (they're tty specific) */ 105E void NDECL(Gem_start_screen); 106E void NDECL(Gem_end_screen); 107 108E void FDECL(genl_outrip, (winid,int)); 109 110#undef E 111 112#endif /* WINGEM_H */ 113