Source:NetHack 3.4.3/include/wingem.h

From NetHackWiki
Jump to navigation Jump to search

Below is the full text to include/wingem.h from NetHack 3.4.3. To link to a particular line, write [[wingem.h#line123]], for example.

/*	SCCS Id: @(#)wingem.h	3.4	1999/12/10	*/
/* Copyright (c) Christian Bressler, 1999				  */
/* NetHack may be freely redistributed.  See license for details. */

The NetHack General Public License applies to screenshots, source code and other content from NetHack.

This content was modified from the original NetHack source code distribution (by splitting up NetHack content between wiki pages, and possibly further editing). See the page history for a list of who changed it, and on what dates.

#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 */