Wikihack
Advertisement

Below is the full text to winprocs.h from the source code of NetHack 3.3.0. To link to a particular line, write [[NetHack 3.3.0/winprocs.h#line123]], for example.

Warning! This is the source code from an old release. For the latest release, see Source code

The NetHack General Public License applies to screenshots, source code and other content from NetHack.
1.    /*	SCCS Id: @(#)winprocs.h 3.3	96/02/18	*/
2.    /* Copyright (c) David Cohrs, 1992				  */
3.    /* NetHack may be freely redistributed.  See license for details. */
4.    
5.    #ifndef WINPROCS_H
6.    #define WINPROCS_H
7.    
8.    struct window_procs {
9.        const char *name;
10.       void FDECL((*win_init_nhwindows), (int *, char **));
11.       void NDECL((*win_player_selection));
12.       void NDECL((*win_askname));
13.       void NDECL((*win_get_nh_event)) ;
14.       void FDECL((*win_exit_nhwindows), (const char *));
15.       void FDECL((*win_suspend_nhwindows), (const char *));
16.       void NDECL((*win_resume_nhwindows));
17.       winid FDECL((*win_create_nhwindow), (int));
18.       void FDECL((*win_clear_nhwindow), (winid));
19.       void FDECL((*win_display_nhwindow), (winid, BOOLEAN_P));
20.       void FDECL((*win_destroy_nhwindow), (winid));
21.       void FDECL((*win_curs), (winid,int,int));
22.       void FDECL((*win_putstr), (winid, int, const char *));
23.       void FDECL((*win_display_file), (const char *, BOOLEAN_P));
24.       void FDECL((*win_start_menu), (winid));
25.       void FDECL((*win_add_menu), (winid,int,const ANY_P *,
26.   		CHAR_P,CHAR_P,int,const char *, BOOLEAN_P));
27.       void FDECL((*win_end_menu), (winid, const char *));
28.       int FDECL((*win_select_menu), (winid, int, MENU_ITEM_P **));
29.       char FDECL((*win_message_menu), (CHAR_P,int,const char *));
30.       void NDECL((*win_update_inventory));
31.       void NDECL((*win_mark_synch));
32.       void NDECL((*win_wait_synch));
33.   #ifdef CLIPPING
34.       void FDECL((*win_cliparound), (int, int));
35.   #endif
36.   #ifdef POSITIONBAR
37.       void FDECL((*win_update_positionbar), (char *));
38.   #endif
39.       void FDECL((*win_print_glyph), (winid,XCHAR_P,XCHAR_P,int));
40.       void FDECL((*win_raw_print), (const char *));
41.       void FDECL((*win_raw_print_bold), (const char *));
42.       int NDECL((*win_nhgetch));
43.       int FDECL((*win_nh_poskey), (int *, int *, int *));
44.       void NDECL((*win_nhbell));
45.       int NDECL((*win_doprev_message));
46.       char FDECL((*win_yn_function), (const char *, const char *, CHAR_P));
47.       void FDECL((*win_getlin), (const char *,char *));
48.       int NDECL((*win_get_ext_cmd));
49.       void FDECL((*win_number_pad), (int));
50.       void NDECL((*win_delay_output));
51.   #ifdef CHANGE_COLOR
52.       void FDECL((*win_change_color), (int,long,int));
53.   #ifdef MAC
54.       void FDECL((*win_change_background), (int));
55.       short FDECL((*win_set_font_name), (winid, char *));
56.   #endif
57.       char * NDECL((*win_get_color_string));
58.   #endif
59.   
60.       /* other defs that really should go away (they're tty specific) */
61.       void NDECL((*win_start_screen));
62.       void NDECL((*win_end_screen));
63.   
64.       void FDECL((*win_outrip), (winid,int));
65.   };
66.   
67.   extern NEARDATA struct window_procs windowprocs;
68.   
69.   /*
70.    * If you wish to only support one window system and not use procedure
71.    * pointers, add the appropriate #ifdef below.
72.    */
73.   
74.   #define init_nhwindows (*windowprocs.win_init_nhwindows)
75.   #define player_selection (*windowprocs.win_player_selection)
76.   #define askname (*windowprocs.win_askname)
77.   #define get_nh_event (*windowprocs.win_get_nh_event)
78.   #define exit_nhwindows (*windowprocs.win_exit_nhwindows)
79.   #define suspend_nhwindows (*windowprocs.win_suspend_nhwindows)
80.   #define resume_nhwindows (*windowprocs.win_resume_nhwindows)
81.   #define create_nhwindow (*windowprocs.win_create_nhwindow)
82.   #define clear_nhwindow (*windowprocs.win_clear_nhwindow)
83.   #define display_nhwindow (*windowprocs.win_display_nhwindow)
84.   #define destroy_nhwindow (*windowprocs.win_destroy_nhwindow)
85.   #define curs (*windowprocs.win_curs)
86.   #define putstr (*windowprocs.win_putstr)
87.   #define display_file (*windowprocs.win_display_file)
88.   #define start_menu (*windowprocs.win_start_menu)
89.   #define add_menu (*windowprocs.win_add_menu)
90.   #define end_menu (*windowprocs.win_end_menu)
91.   #define select_menu (*windowprocs.win_select_menu)
92.   #define message_menu (*windowprocs.win_message_menu)
93.   #define update_inventory (*windowprocs.win_update_inventory)
94.   #define mark_synch (*windowprocs.win_mark_synch)
95.   #define wait_synch (*windowprocs.win_wait_synch)
96.   #ifdef CLIPPING
97.   #define cliparound (*windowprocs.win_cliparound)
98.   #endif
99.   #ifdef POSITIONBAR
100.  #define update_positionbar (*windowprocs.win_update_positionbar)
101.  #endif
102.  #define print_glyph (*windowprocs.win_print_glyph)
103.  #define raw_print (*windowprocs.win_raw_print)
104.  #define raw_print_bold (*windowprocs.win_raw_print_bold)
105.  #define nhgetch (*windowprocs.win_nhgetch)
106.  #define nh_poskey (*windowprocs.win_nh_poskey)
107.  #define nhbell (*windowprocs.win_nhbell)
108.  #define nh_doprev_message (*windowprocs.win_doprev_message)
109.  #define yn_function (*windowprocs.win_yn_function)
110.  #define getlin (*windowprocs.win_getlin)
111.  #define get_ext_cmd (*windowprocs.win_get_ext_cmd)
112.  #define number_pad (*windowprocs.win_number_pad)
113.  #define delay_output (*windowprocs.win_delay_output)
114.  #ifdef CHANGE_COLOR
115.  #define change_color (*windowprocs.win_change_color)
116.  #ifdef MAC
117.  #define change_background (*windowprocs.win_change_background)
118.  #define set_font_name (*windowprocs.win_set_font_name)
119.  #endif
120.  #define get_color_string (*windowprocs.win_get_color_string)
121.  #endif
122.  
123.  /* other defs that really should go away (they're tty specific) */
124.  #define start_screen (*windowprocs.win_start_screen)
125.  #define end_screen (*windowprocs.win_end_screen)
126.  
127.  #define outrip (*windowprocs.win_outrip)
128.  #endif
Advertisement