About: Source:NetHack 3.3.0/winX.h   Sponge Permalink

An Entity of Type : owl:Thing, within Data Space : 134.155.108.49:8890 associated with source dataset(s)

Below is the full text to winX.h from the source code of NetHack 3.3.0. To link to a particular line, write [[NetHack 3.3.0/winX.h#line123]], for example. Warning! This is the source code from an old release. For the latest release, see Source code

AttributesValues
rdfs:label
  • Source:NetHack 3.3.0/winX.h
rdfs:comment
  • Below is the full text to winX.h from the source code of NetHack 3.3.0. To link to a particular line, write [[NetHack 3.3.0/winX.h#line123]], for example. Warning! This is the source code from an old release. For the latest release, see Source code
dcterms:subject
dbkwik:nethack/pro...iPageUsesTemplate
abstract
  • Below is the full text to winX.h from the source code of NetHack 3.3.0. To link to a particular line, write [[NetHack 3.3.0/winX.h#line123]], for example. Warning! This is the source code from an old release. For the latest release, see Source code 1. /* SCCS Id: @(#)winX.h 3.3 96/08/18 */ 2. /* Copyright (c) Dean Luick, 1992 */ 3. /* NetHack may be freely redistributed. See license for details. */ 4. 5. /* 6. * Definitions for the X11 window-port. See doc/window.doc for details on 7. * the window interface. 8. */ 9. #ifndef WINX_H 10. #define WINX_H 11. 12. #ifndef E 13. #define E extern 14. #endif 15. 16. #if defined(BOS) || defined(NHSTDC) 17. #define DIMENSION_P int 18. #else 19. # ifdef WIDENED_PROTOTYPES 20. #define DIMENSION_P unsigned int 21. # else 22. #define DIMENSION_P Dimension 23. # endif 24. #endif 25. 26. /* 27. * Generic text buffer. 28. */ 29. #define START_SIZE 512 /* starting text buffer size */ 30. struct text_buffer { 31. char *text; 32. int text_size; 33. int text_last; 34. int num_lines; 35. }; 36. 37. 38. /* 39. * Information specific to a map window. 40. */ 41. struct text_map_info_t { 42. unsigned char text[ROWNO][COLNO]; /* Actual displayed screen. */ 43. #ifdef TEXTCOLOR 44. unsigned char colors[ROWNO][COLNO]; /* Color of each character. */ 45. GC color_gcs[CLR_MAX], /* GC for each color */ 46. inv_color_gcs[CLR_MAX]; /* GC for each inverse color */ 47. #define copy_gc color_gcs[NO_COLOR] 48. #define inv_copy_gc inv_color_gcs[NO_COLOR] 49. #else 50. GC copy_gc, /* Drawing GC */ 51. inv_copy_gc; /* Inverse drawing GC */ 52. #endif 53. }; 54. 55. struct tile_map_info_t { 56. unsigned short glyphs[ROWNO][COLNO]; /* Saved glyph numbers. */ 57. GC white_gc; 58. GC black_gc; 59. }; 60. 61. struct map_info_t { 62. Dimension viewport_width, /* Saved viewport size, so we can */ 63. viewport_height; /* clip to cursor on a resize. */ 64. unsigned char t_start[ROWNO], /* Starting column for new info. */ 65. t_stop[ROWNO]; /* Ending column for new info. */ 66. int square_width, /* Saved font/tile information so */ 67. square_height, /* we can calculate the correct */ 68. square_ascent, /* placement of changes. */ 69. square_lbearing; 70. boolean is_tile; 71. union { 72. struct text_map_info_t *text_map; 73. struct tile_map_info_t *tile_map; 74. } mtype; 75. }; 76. 77. 78. /* 79. * Information specific to a message window. 80. */ 81. struct line_element { 82. struct line_element *next; 83. char *line; /* char buffer */ 84. int buf_length; /* length of buffer */ 85. int str_length; /* length of string in buffer */ 86. }; 87. 88. struct mesg_info_t { 89. XFontStruct *fs; /* Font for the window. */ 90. int num_lines; /* line count */ 91. struct line_element *head; /* head of circular line queue */ 92. struct line_element *line_here;/* current drawn line position */ 93. struct line_element *last_pause;/* point to the line after the prev */ 94. /* bottom of screen */ 95. struct line_element *last_pause_head;/* pointer to head of previous */ 96. /* turn */ 97. GC gc; /* GC for text drawing */ 98. int char_width, /* Saved font information so we can */ 99. char_height, /* calculate the correct placement */ 100. char_ascent, /* of changes. */ 101. char_lbearing; 102. Dimension viewport_width, /* Saved viewport size, so we can adjust */ 103. viewport_height;/* the slider on a resize. */ 104. Boolean dirty; /* Lines have been added to the window. */ 105. }; 106. 107. /* 108. * Information specific to a "text" status window. 109. */ 110. struct status_info_t { 111. struct text_buffer text; /* Just a text buffer. */ 112. }; 113. 114. /* 115. * Information specific to a menu window. First a structure for each 116. * menu entry, then the structure for each menu window. 117. */ 118. typedef struct x11_mi { 119. struct x11_mi *next; 120. anything identifier; /* Opaque type to identify this selection */ 121. long pick_count; /* specific selection count; -1 if none */ 122. char *str; /* The text of the item. */ 123. int attr; /* Attribute for the line. */ 124. boolean selected; /* Been selected? */ 125. char selector; /* Char used to select this entry. */ 126. char gselector; /* Group selector. */ 127. } x11_menu_item; 128. 129. struct menu { 130. x11_menu_item *base; /* Starting pointer for item list. */ 131. x11_menu_item *last; /* End pointer for item list. */ 132. const char *query; /* Query string. */ 133. const char *gacc; /* Group accelerators. */ 134. int count; /* Number of strings. */ 135. String *list_pointer;/* String list. */ 136. Boolean *sensitive; /* Active list. */ 137. char curr_selector;/* Next keyboard accelerator to assign, */ 138. /* if 0, then we're out. */ 139. }; 140. 141. struct menu_info_t { 142. struct menu curr_menu; /* Menu being displayed. */ 143. struct menu new_menu; /* New menu being built. */ 144. 145. XFontStruct *fs; /* Font for the window. */ 146. long menu_count; /* number entered by user */ 147. Dimension line_height; /* Total height of a line of text. */ 148. Dimension internal_height; /* Internal height between widget & border */ 149. Dimension internal_width; /* Internal width between widget & border */ 150. short how; /* Menu mode PICK_NONE, PICK_ONE, PICK_ANY */ 151. boolean valid_widgets; /* TRUE if widgets have been created. */ 152. boolean is_menu; /* Has been confirmed to being a menu window. */ 153. boolean is_active; /* TRUE when waiting for user input. */ 154. boolean is_up; /* TRUE when window is popped-up. */ 155. boolean cancelled; /* Menu has been explicitly cancelled. */ 156. boolean counting; /* true when menu_count has a valid value */ 157. }; 158. 159. /* 160. * Information specific to a text window. 161. */ 162. struct text_info_t { 163. struct text_buffer text; 164. XFontStruct *fs; /* Font for the text window. */ 165. int max_width; /* Width of widest line so far. */ 166. int extra_width, /* Sum of left and right border widths. */ 167. extra_height; /* Sum of top and bottom border widths. */ 168. boolean blocked; /* */ 169. boolean destroy_on_ack; /* Destroy this window when acknowleged. */ 170. #ifdef GRAPHIC_TOMBSTONE 171. boolean is_rip; /* This window needs a tombstone. */ 172. #endif 173. }; 174. 175. 176. /* 177. * Basic window structure. 178. */ 179. struct xwindow { 180. int type; /* type of nethack window */ 181. Widget popup; /* direct parent of widget w or viewport */ 182. Widget w; /* the widget that does things */ 183. Dimension pixel_width; /* window size, in pixels */ 184. Dimension pixel_height; 185. int prevx, cursx; /* Cursor position, only used by */ 186. int prevy, cursy; /* map and "plain" status windows.*/ 187. 188. union { 189. struct map_info_t *Map_info; /* map window info */ 190. struct mesg_info_t *Mesg_info; /* message window info */ 191. struct status_info_t *Status_info; /* status window info */ 192. struct menu_info_t *Menu_info; /* menu window info */ 193. struct text_info_t *Text_info; /* menu window info */ 194. } Win_info; 195. boolean keep_window; 196. }; 197. 198. /* Defines to use for the window information union. */ 199. #define map_information Win_info.Map_info 200. #define mesg_information Win_info.Mesg_info 201. #define status_information Win_info.Status_info 202. #define menu_information Win_info.Menu_info 203. #define text_information Win_info.Text_info 204. 205. 206. #define MAX_WINDOWS 20 /* max number of open windows */ 207. 208. #define NHW_NONE 0 /* Unallocated window type. Must be */ 209. /* different from any other NHW_* type. */ 210. 211. #define NO_CLICK 0 /* No click occured on the map window. Must */ 212. /* be different than CLICK_1 and CLICK_2. */ 213. 214. #define DEFAULT_MESSAGE_WIDTH 60/* width in chars of the message window */ 215. 216. #define DISPLAY_FILE_SIZE 35 /* Max number of lines in the default */ 217. /* file display window. */ 218. 219. #define MAX_KEY_STRING 64 /* String size for converting a keypress */ 220. /* event into a character(s) */ 221. 222. #define DEFAULT_LINES_DISPLAYED 12 /* # of lines displayed message window */ 223. #define MAX_HISTORY 60 /* max history saved on message window */ 224. 225. 226. /* Window variables (winX.c). */ 227. E struct xwindow window_list[MAX_WINDOWS]; 228. E XtAppContext app_context; /* context of application */ 229. E Widget toplevel; /* toplevel widget */ 230. E Atom wm_delete_window; /* delete window protocol */ 231. E boolean exit_x_event; /* exit condition for event loop */ 232. #define EXIT_ON_KEY_PRESS 0 /* valid values for exit_x_event */ 233. #define EXIT_ON_KEY_OR_BUTTON_PRESS 1 234. #define EXIT_ON_EXIT 2 235. #define EXIT_ON_SENT_EVENT 3 236. E int click_x, click_y, click_button, updated_inventory; 237. 238. typedef struct { 239. Boolean slow; 240. Boolean autofocus; 241. Boolean message_line; 242. Boolean double_tile_size; /* double tile size */ 243. String tile_file; /* name of file to open for tiles */ 244. String icon; /* name of desired icon */ 245. int message_lines; /* number of lines to attempt to show */ 246. String pet_mark_bitmap; /* X11 bitmap file used to mark pets */ 247. Pixel pet_mark_color; /* color of pet mark */ 248. #ifdef GRAPHIC_TOMBSTONE 249. String tombstone; /* name of XPM file for tombstone */ 250. int tombtext_x; /* x-coord of center of first tombstone text */ 251. int tombtext_y; /* y-coord of center of first tombstone text */ 252. int tombtext_dx; /* x-displacement between tombstone line */ 253. int tombtext_dy; /* y-displacement between tombstone line */ 254. #endif 255. } AppResources; 256. 257. E AppResources appResources; 258. E void (*input_func)(); 259. 260. extern struct window_procs X11_procs; 261. 262. /* Check for an invalid window id. */ 263. #define check_winid(window) \ 264. if ((window) < 0 || (window) >= MAX_WINDOWS) { \ 265. panic("illegal windid [%d] in %s at line %d", \ 266. window, __FILE__, __LINE__); \ 267. } 268. 269. 270. /* ### dialogs.c ### */ 271. E Widget FDECL(CreateDialog, (Widget, String, XtCallbackProc, XtCallbackProc)); 272. E void FDECL(SetDialogPrompt,(Widget, String)); 273. E String FDECL(GetDialogResponse,(Widget)); 274. E void FDECL(SetDialogResponse,(Widget, String)); 275. E void FDECL(positionpopup,(Widget,BOOLEAN_P)); 276. 277. /* ### winX.c ### */ 278. E struct xwindow *FDECL(find_widget,(Widget)); 279. E Boolean FDECL(nhApproxColor,(Screen*, Colormap, char*, XColor*)); 280. E char FDECL(key_event_to_char,(XKeyEvent*)); 281. E void FDECL(msgkey, (Widget, XtPointer, XEvent*)); 282. E void FDECL(nh_XtPopup, (Widget, int, Widget)); 283. E void FDECL(nh_XtPopdown, (Widget)); 284. E void NDECL(win_X11_init); 285. E void FDECL(nh_keyscroll, (Widget, XEvent*, String*, Cardinal*)); 286. 287. /* ### winmesg.c ### */ 288. E void FDECL(set_message_slider, (struct xwindow*)); 289. E void FDECL(create_message_window,(struct xwindow*, BOOLEAN_P, Widget)); 290. E void FDECL(destroy_message_window,(struct xwindow*)); 291. E void FDECL(display_message_window, (struct xwindow*)); 292. E void FDECL(append_message,(struct xwindow*, const char*)); 293. E void FDECL(set_last_pause, (struct xwindow*)); 294. 295. /* ### winmap.c ### */ 296. E void NDECL(post_process_tiles); 297. E void FDECL(check_cursor_visibility,(struct xwindow*)); 298. E void FDECL(display_map_window,(struct xwindow*)); 299. E void FDECL(clear_map_window,(struct xwindow*)); 300. E void FDECL(map_input, (Widget, XEvent*, String*, Cardinal*)); 301. E void FDECL(set_map_size,(struct xwindow*, DIMENSION_P, DIMENSION_P)); 302. E void FDECL(create_map_window,(struct xwindow*, BOOLEAN_P, Widget)); 303. E void FDECL(destroy_map_window,(struct xwindow*)); 304. E int FDECL(x_event,(int)); 305. 306. /* ### winmenu.c ### */ 307. E void FDECL(menu_delete, (Widget, XEvent*, String*, Cardinal*)); 308. E void FDECL(menu_key,(Widget, XEvent*, String*, Cardinal*)); 309. E void FDECL(create_menu_window,(struct xwindow*)); 310. E void FDECL(destroy_menu_window,(struct xwindow*)); 311. 312. /* ### winmisc.c ### */ 313. E void FDECL(ps_key,(Widget, XEvent*, String*, Cardinal*)); /* player selection action */ 314. E void FDECL(race_key,(Widget, XEvent*, String*, Cardinal*)); /* race selection action */ 315. E void FDECL(ec_delete, (Widget, XEvent*, String*, Cardinal*)); 316. E void FDECL(ec_key,(Widget, XEvent*, String*, Cardinal*)); /* extended command action */ 317. 318. /* ### winstatus.c ### */ 319. E void FDECL(create_status_window,(struct xwindow*, BOOLEAN_P, Widget)); 320. E void FDECL(destroy_status_window,(struct xwindow*)); 321. E void FDECL(adjust_status,(struct xwindow*, const char*)); 322. E void NDECL(null_out_status); 323. E void NDECL(check_turn_events); 324. 325. /* ### wintext.c ### */ 326. E void FDECL(delete_text, (Widget, XEvent*, String*, Cardinal*)); 327. E void FDECL(dismiss_text,(Widget, XEvent*, String*, Cardinal*)); 328. E void FDECL(key_dismiss_text,(Widget, XEvent*, String*, Cardinal*)); 329. #ifdef GRAPHIC_TOMBSTONE 330. E void FDECL(rip_dismiss_text,(Widget, XEvent*, String*, Cardinal*)); 331. #endif 332. E void FDECL(add_to_text_window,(struct xwindow*, int, const char*)); 333. E void FDECL(display_text_window,(struct xwindow*, BOOLEAN_P)); 334. E void FDECL(create_text_window,(struct xwindow*)); 335. E void FDECL(destroy_text_window,(struct xwindow*)); 336. E void FDECL(clear_text_window,(struct xwindow*)); 337. E void FDECL(append_text_buffer,(struct text_buffer*, const char*, BOOLEAN_P)); /* text buffer routines */ 338. E void FDECL(init_text_buffer,(struct text_buffer*)); 339. E void FDECL(clear_text_buffer,(struct text_buffer*)); 340. E void FDECL(free_text_buffer,(struct text_buffer*)); 341. #ifdef GRAPHIC_TOMBSTONE 342. E void FDECL(calculate_rip_text, (int)); 343. #endif 344. 345. 346. /* ### winval.c ### */ 347. E Widget FDECL(create_value,(Widget, const char*)); 348. E void FDECL(set_name,(Widget, char*)); 349. E void FDECL(set_name_width,(Widget, int)); 350. E int FDECL(get_name_width,(Widget)); 351. E void FDECL(set_value,(Widget, const char*)); 352. E void FDECL(set_value_width,(Widget, int)); 353. E int FDECL(get_value_width,(Widget)); 354. E void FDECL(hilight_value,(Widget)); 355. E void FDECL(swap_fg_bg,(Widget)); 356. 357. /* external declarations */ 358. E void FDECL(X11_init_nhwindows, (int *, char **)); 359. E void NDECL(X11_player_selection); 360. E void NDECL(X11_askname); 361. E void NDECL(X11_get_nh_event) ; 362. E void FDECL(X11_exit_nhwindows, (const char *)); 363. E void FDECL(X11_suspend_nhwindows, (const char *)); 364. E void NDECL(X11_resume_nhwindows); 365. E winid FDECL(X11_create_nhwindow, (int)); 366. E void FDECL(X11_clear_nhwindow, (winid)); 367. E void FDECL(X11_display_nhwindow, (winid, BOOLEAN_P)); 368. E void FDECL(X11_destroy_nhwindow, (winid)); 369. E void FDECL(X11_curs, (winid,int,int)); 370. E void FDECL(X11_putstr, (winid, int, const char *)); 371. E void FDECL(X11_display_file, (const char *, BOOLEAN_P)); 372. E void FDECL(X11_start_menu, (winid)); 373. E void FDECL(X11_add_menu, (winid,int,const ANY_P *, 374. CHAR_P, CHAR_P, int, const char *, BOOLEAN_P)); 375. E void FDECL(X11_end_menu, (winid, const char *)); 376. E int FDECL(X11_select_menu, (winid, int, MENU_ITEM_P **)); 377. E void NDECL(X11_update_inventory); 378. E void NDECL(X11_mark_synch); 379. E void NDECL(X11_wait_synch); 380. #ifdef CLIPPING 381. E void FDECL(X11_cliparound, (int, int)); 382. #endif 383. E void FDECL(X11_print_glyph, (winid,XCHAR_P,XCHAR_P,int)); 384. E void FDECL(X11_raw_print, (const char *)); 385. E void FDECL(X11_raw_print_bold, (const char *)); 386. E int NDECL(X11_nhgetch); 387. E int FDECL(X11_nh_poskey, (int *, int *, int *)); 388. E void NDECL(X11_nhbell); 389. E int NDECL(X11_doprev_message); 390. E char FDECL(X11_yn_function, (const char *, const char *, CHAR_P)); 391. E void FDECL(X11_getlin, (const char *,char *)); 392. E int NDECL(X11_get_ext_cmd); 393. E void FDECL(X11_number_pad, (int)); 394. E void NDECL(X11_delay_output); 395. 396. /* other defs that really should go away (they're tty specific) */ 397. E void NDECL(X11_start_screen); 398. E void NDECL(X11_end_screen); 399. 400. #ifdef GRAPHIC_TOMBSTONE 401. E void FDECL(X11_outrip, (winid,int)); 402. #else 403. E void FDECL(genl_outrip, (winid,int)); 404. #endif 405. 406. #endif /* WINX_H */
Alternative Linked Data Views: ODE     Raw Data in: CXML | CSV | RDF ( N-Triples N3/Turtle JSON XML ) | OData ( Atom JSON ) | Microdata ( JSON HTML) | JSON-LD    About   
This material is Open Knowledge   W3C Semantic Web Technology [RDF Data] Valid XHTML + RDFa
OpenLink Virtuoso version 07.20.3217, on Linux (x86_64-pc-linux-gnu), Standard Edition
Data on this page belongs to its respective rights holders.
Virtuoso Faceted Browser Copyright © 2009-2012 OpenLink Software