<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://nethackwiki.com/index.php?action=history&amp;feed=atom&amp;title=Source%3ASLASH%27EM_0.0.7E7F2%2FwinX.h</id>
	<title>Source:SLASH'EM 0.0.7E7F2/winX.h - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://nethackwiki.com/index.php?action=history&amp;feed=atom&amp;title=Source%3ASLASH%27EM_0.0.7E7F2%2FwinX.h"/>
	<link rel="alternate" type="text/html" href="https://nethackwiki.com/index.php?title=Source:SLASH%27EM_0.0.7E7F2/winX.h&amp;action=history"/>
	<updated>2026-06-04T10:40:43Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.32.5</generator>
	<entry>
		<id>https://nethackwiki.com/index.php?title=Source:SLASH%27EM_0.0.7E7F2/winX.h&amp;diff=172293&amp;oldid=prev</id>
		<title>Furey: Change particular-line instructions to our Source: filename. Fix wording on &quot;source code for vanilla nethack&quot;.</title>
		<link rel="alternate" type="text/html" href="https://nethackwiki.com/index.php?title=Source:SLASH%27EM_0.0.7E7F2/winX.h&amp;diff=172293&amp;oldid=prev"/>
		<updated>2024-06-27T16:24:32Z</updated>

		<summary type="html">&lt;p&gt;Change particular-line instructions to our Source: filename. Fix wording on &amp;quot;source code for vanilla nethack&amp;quot;.&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 16:24, 27 June 2024&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot; &gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Below is the full text to '''winX.h''' from the [[SLASH'EM 0.0.7E7F2 source code|source code]] of [[SLASH'EM 0.0.7E7F2]]. To link to a particular line, write [[SLASH'EM 0.0.7E7F2/winX.h#line123|&amp;lt;nowiki&amp;gt;[[SLASH'EM 0.0.7E7F2/winX.h#line123]]&amp;lt;/nowiki&amp;gt;]], for example.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Below is the full text to '''winX.h''' from the [[SLASH'EM 0.0.7E7F2 source code|source code]] of [[SLASH'EM 0.0.7E7F2]]. To link to a particular line, write [[&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Source:&lt;/ins&gt;SLASH'EM 0.0.7E7F2/winX.h#line123|&amp;lt;nowiki&amp;gt;[[&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Source:&lt;/ins&gt;SLASH'EM 0.0.7E7F2/winX.h#line123]]&amp;lt;/nowiki&amp;gt;]], for example.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;The latest source &lt;/del&gt;code for vanilla NetHack is at [[Source code]].&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Source &lt;/ins&gt;code for vanilla NetHack is at [[Source code]].&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Furey</name></author>
		
	</entry>
	<entry>
		<id>https://nethackwiki.com/index.php?title=Source:SLASH%27EM_0.0.7E7F2/winX.h&amp;diff=30156&amp;oldid=prev</id>
		<title>Kernigh bot: SLASH'EM 0.0.7E7F2/winX.h moved to Source:SLASH'EM 0.0.7E7F2/winX.h: Robot: moved page</title>
		<link rel="alternate" type="text/html" href="https://nethackwiki.com/index.php?title=Source:SLASH%27EM_0.0.7E7F2/winX.h&amp;diff=30156&amp;oldid=prev"/>
		<updated>2008-03-07T18:41:34Z</updated>

		<summary type="html">&lt;p&gt;&lt;a href=&quot;/index.php?title=SLASH%27EM_0.0.7E7F2/winX.h&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;SLASH&amp;#039;EM 0.0.7E7F2/winX.h (page does not exist)&quot;&gt;SLASH&amp;#039;EM 0.0.7E7F2/winX.h&lt;/a&gt; moved to &lt;a href=&quot;/wiki/Source:SLASH%27EM_0.0.7E7F2/winX.h&quot; title=&quot;Source:SLASH&amp;#039;EM 0.0.7E7F2/winX.h&quot;&gt;Source:SLASH&amp;#039;EM 0.0.7E7F2/winX.h&lt;/a&gt;: Robot: moved page&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 18:41, 7 March 2008&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;en&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Kernigh bot</name></author>
		
	</entry>
	<entry>
		<id>https://nethackwiki.com/index.php?title=Source:SLASH%27EM_0.0.7E7F2/winX.h&amp;diff=13365&amp;oldid=prev</id>
		<title>Jaytbot: Automated source code upload</title>
		<link rel="alternate" type="text/html" href="https://nethackwiki.com/index.php?title=Source:SLASH%27EM_0.0.7E7F2/winX.h&amp;diff=13365&amp;oldid=prev"/>
		<updated>2006-10-02T20:21:17Z</updated>

		<summary type="html">&lt;p&gt;Automated source code upload&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Below is the full text to '''winX.h''' from the [[SLASH'EM 0.0.7E7F2 source code|source code]] of [[SLASH'EM 0.0.7E7F2]]. To link to a particular line, write [[SLASH'EM 0.0.7E7F2/winX.h#line123|&amp;lt;nowiki&amp;gt;[[SLASH'EM 0.0.7E7F2/winX.h#line123]]&amp;lt;/nowiki&amp;gt;]], for example.&lt;br /&gt;
&lt;br /&gt;
The latest source code for vanilla NetHack is at [[Source code]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{NGPL}}&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line1&amp;quot;&amp;gt;1.    /*	SCCS Id: @(#)winX.h	3.4	1996/08/18	*/&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line2&amp;quot;&amp;gt;2.    /* Copyright (c) Dean Luick, 1992				  */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line3&amp;quot;&amp;gt;3.    /* NetHack may be freely redistributed.  See license for details. */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line4&amp;quot;&amp;gt;4.    &amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line5&amp;quot;&amp;gt;5.    /*&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line6&amp;quot;&amp;gt;6.     * Definitions for the X11 window-port.  See doc/window.doc for details on&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line7&amp;quot;&amp;gt;7.     * the window interface.&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line8&amp;quot;&amp;gt;8.     */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line9&amp;quot;&amp;gt;9.    #ifndef WINX_H&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line10&amp;quot;&amp;gt;10.   #define WINX_H&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line11&amp;quot;&amp;gt;11.   &amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line12&amp;quot;&amp;gt;12.   #ifndef E&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line13&amp;quot;&amp;gt;13.   #define E extern&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line14&amp;quot;&amp;gt;14.   #endif&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line15&amp;quot;&amp;gt;15.   &amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line16&amp;quot;&amp;gt;16.   #if defined(BOS) || defined(NHSTDC)&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line17&amp;quot;&amp;gt;17.   #define DIMENSION_P int&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line18&amp;quot;&amp;gt;18.   #else&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line19&amp;quot;&amp;gt;19.   # ifdef WIDENED_PROTOTYPES&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line20&amp;quot;&amp;gt;20.   #define DIMENSION_P unsigned int&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line21&amp;quot;&amp;gt;21.   # else&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line22&amp;quot;&amp;gt;22.   #define DIMENSION_P Dimension&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line23&amp;quot;&amp;gt;23.   # endif&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line24&amp;quot;&amp;gt;24.   #endif&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line25&amp;quot;&amp;gt;25.   &amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line26&amp;quot;&amp;gt;26.   /*&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line27&amp;quot;&amp;gt;27.    * Generic text buffer.&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line28&amp;quot;&amp;gt;28.    */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line29&amp;quot;&amp;gt;29.   #define START_SIZE 512	/* starting text buffer size */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line30&amp;quot;&amp;gt;30.   struct text_buffer {&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line31&amp;quot;&amp;gt;31.       char *text;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line32&amp;quot;&amp;gt;32.       int  text_size;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line33&amp;quot;&amp;gt;33.       int  text_last;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line34&amp;quot;&amp;gt;34.       int  num_lines;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line35&amp;quot;&amp;gt;35.   };&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line36&amp;quot;&amp;gt;36.   &amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line37&amp;quot;&amp;gt;37.   &amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line38&amp;quot;&amp;gt;38.   /*&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line39&amp;quot;&amp;gt;39.    * Information specific to a map window.&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line40&amp;quot;&amp;gt;40.    */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line41&amp;quot;&amp;gt;41.   struct text_map_info_t {&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line42&amp;quot;&amp;gt;42.       unsigned char   text[ROWNO][COLNO]; /* Actual displayed screen. */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line43&amp;quot;&amp;gt;43.   #ifdef TEXTCOLOR&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line44&amp;quot;&amp;gt;44.       unsigned char   colors[ROWNO][COLNO];	/* Color of each character. */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line45&amp;quot;&amp;gt;45.       GC		    color_gcs[CLR_MAX],		/* GC for each color */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line46&amp;quot;&amp;gt;46.   		    inv_color_gcs[CLR_MAX];	/* GC for each inverse color */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line47&amp;quot;&amp;gt;47.   #define copy_gc     color_gcs[NO_COLOR]&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line48&amp;quot;&amp;gt;48.   #define inv_copy_gc inv_color_gcs[NO_COLOR]&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line49&amp;quot;&amp;gt;49.   #else&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line50&amp;quot;&amp;gt;50.       GC		    copy_gc,			/* Drawing GC */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line51&amp;quot;&amp;gt;51.   		    inv_copy_gc;		/* Inverse drawing GC */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line52&amp;quot;&amp;gt;52.   #endif&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line53&amp;quot;&amp;gt;53.   };&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line54&amp;quot;&amp;gt;54.   &amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line55&amp;quot;&amp;gt;55.   struct tile_map_info_t {&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line56&amp;quot;&amp;gt;56.       unsigned short glyphs[ROWNO][COLNO];	/* Saved glyph numbers. */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line57&amp;quot;&amp;gt;57.       GC	white_gc;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line58&amp;quot;&amp;gt;58.       GC	black_gc;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line59&amp;quot;&amp;gt;59.   };&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line60&amp;quot;&amp;gt;60.   &amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line61&amp;quot;&amp;gt;61.   struct map_info_t {&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line62&amp;quot;&amp;gt;62.       Dimension	    viewport_width,	/* Saved viewport size, so we can */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line63&amp;quot;&amp;gt;63.   		    viewport_height;	/*   clip to cursor on a resize.  */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line64&amp;quot;&amp;gt;64.       unsigned char   t_start[ROWNO],	/* Starting column for new info. */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line65&amp;quot;&amp;gt;65.   		    t_stop[ROWNO];	/* Ending column for new info. */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line66&amp;quot;&amp;gt;66.       int		    square_width,	/* Saved font/tile information so */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line67&amp;quot;&amp;gt;67.   		    square_height,	/*   we can calculate the correct */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line68&amp;quot;&amp;gt;68.   		    square_ascent,	/*   placement of changes.	  */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line69&amp;quot;&amp;gt;69.   		    square_lbearing;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line70&amp;quot;&amp;gt;70.       boolean	    is_tile;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line71&amp;quot;&amp;gt;71.       union {&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line72&amp;quot;&amp;gt;72.   	struct text_map_info_t *text_map;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line73&amp;quot;&amp;gt;73.   	struct tile_map_info_t *tile_map;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line74&amp;quot;&amp;gt;74.       } mtype;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line75&amp;quot;&amp;gt;75.   };&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line76&amp;quot;&amp;gt;76.   &amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line77&amp;quot;&amp;gt;77.   &amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line78&amp;quot;&amp;gt;78.   /*&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line79&amp;quot;&amp;gt;79.    * Information specific to a message window.&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line80&amp;quot;&amp;gt;80.    */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line81&amp;quot;&amp;gt;81.   struct line_element {&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line82&amp;quot;&amp;gt;82.       struct line_element *next;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line83&amp;quot;&amp;gt;83.       char *line;			/* char buffer */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line84&amp;quot;&amp;gt;84.       int  buf_length;		/* length of buffer */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line85&amp;quot;&amp;gt;85.       int  str_length;		/* length of string in buffer */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line86&amp;quot;&amp;gt;86.   };&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line87&amp;quot;&amp;gt;87.   &amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line88&amp;quot;&amp;gt;88.   struct mesg_info_t {&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line89&amp;quot;&amp;gt;89.       XFontStruct *fs;		/* Font for the window. */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line90&amp;quot;&amp;gt;90.       int		num_lines;	/* line count */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line91&amp;quot;&amp;gt;91.       struct line_element *head;	/* head of circular line queue */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line92&amp;quot;&amp;gt;92.       struct line_element *line_here;/* current drawn line position */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line93&amp;quot;&amp;gt;93.       struct line_element *last_pause;/* point to the line after the prev */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line94&amp;quot;&amp;gt;94.   				/*     bottom of screen			*/&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line95&amp;quot;&amp;gt;95.       struct line_element *last_pause_head;/* pointer to head of previous */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line96&amp;quot;&amp;gt;96.   				/* turn					*/&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line97&amp;quot;&amp;gt;97.       GC		gc;		/* GC for text drawing */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line98&amp;quot;&amp;gt;98.       int		char_width,	/* Saved font information so we can  */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line99&amp;quot;&amp;gt;99.   		char_height,	/*   calculate the correct placement */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line100&amp;quot;&amp;gt;100.  		char_ascent,	/*   of changes.		     */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line101&amp;quot;&amp;gt;101.  		char_lbearing;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line102&amp;quot;&amp;gt;102.      Dimension	viewport_width, /* Saved viewport size, so we can adjust */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line103&amp;quot;&amp;gt;103.  		viewport_height;/*   the slider on a resize.		 */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line104&amp;quot;&amp;gt;104.      Boolean	dirty;		/* Lines have been added to the window. */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line105&amp;quot;&amp;gt;105.  };&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line106&amp;quot;&amp;gt;106.  &amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line107&amp;quot;&amp;gt;107.  /*&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line108&amp;quot;&amp;gt;108.   * Information specific to a &amp;quot;text&amp;quot; status window.&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line109&amp;quot;&amp;gt;109.   */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line110&amp;quot;&amp;gt;110.  struct status_info_t {&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line111&amp;quot;&amp;gt;111.      struct text_buffer text;	/* Just a text buffer. */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line112&amp;quot;&amp;gt;112.  };&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line113&amp;quot;&amp;gt;113.  &amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line114&amp;quot;&amp;gt;114.  /*&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line115&amp;quot;&amp;gt;115.   * Information specific to a menu window.  First a structure for each&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line116&amp;quot;&amp;gt;116.   * menu entry, then the structure for each menu window.&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line117&amp;quot;&amp;gt;117.   */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line118&amp;quot;&amp;gt;118.  typedef struct x11_mi {&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line119&amp;quot;&amp;gt;119.      struct x11_mi *next;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line120&amp;quot;&amp;gt;120.      anything identifier;	/* Opaque type to identify this selection */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line121&amp;quot;&amp;gt;121.      long pick_count;		/* specific selection count; -1 if none */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line122&amp;quot;&amp;gt;122.      char *str;			/* The text of the item. */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line123&amp;quot;&amp;gt;123.      int  attr;			/* Attribute for the line. */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line124&amp;quot;&amp;gt;124.      boolean selected;		/* Been selected? */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line125&amp;quot;&amp;gt;125.      char selector;		/* Char used to select this entry. */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line126&amp;quot;&amp;gt;126.      char gselector;		/* Group selector. */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line127&amp;quot;&amp;gt;127.  } x11_menu_item;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line128&amp;quot;&amp;gt;128.  &amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line129&amp;quot;&amp;gt;129.  struct menu {&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line130&amp;quot;&amp;gt;130.      x11_menu_item *base;	/* Starting pointer for item list. */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line131&amp;quot;&amp;gt;131.      x11_menu_item *last;	/* End pointer for item list. */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line132&amp;quot;&amp;gt;132.      const char	  *query;	/* Query string. */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line133&amp;quot;&amp;gt;133.      const char	  *gacc;	/* Group accelerators. */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line134&amp;quot;&amp;gt;134.      int		  count;	/* Number of strings. */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line135&amp;quot;&amp;gt;135.      String	  *list_pointer;/* String list. */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line136&amp;quot;&amp;gt;136.      Boolean	  *sensitive;	/* Active list. */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line137&amp;quot;&amp;gt;137.      char	  curr_selector;/* Next keyboard accelerator to assign, */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line138&amp;quot;&amp;gt;138.  				/*   if 0, then we're out.		*/&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line139&amp;quot;&amp;gt;139.  };&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line140&amp;quot;&amp;gt;140.  &amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line141&amp;quot;&amp;gt;141.  struct menu_info_t {&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line142&amp;quot;&amp;gt;142.      struct menu curr_menu;	/* Menu being displayed. */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line143&amp;quot;&amp;gt;143.      struct menu new_menu;	/* New menu being built. */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line144&amp;quot;&amp;gt;144.  &amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line145&amp;quot;&amp;gt;145.      XFontStruct *fs;		/* Font for the window. */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line146&amp;quot;&amp;gt;146.      long menu_count;		/* number entered by user */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line147&amp;quot;&amp;gt;147.      Dimension line_height;	/* Total height of a line of text. */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line148&amp;quot;&amp;gt;148.      Dimension internal_height;	/* Internal height between widget &amp;amp; border */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line149&amp;quot;&amp;gt;149.      Dimension internal_width;	/* Internal width between widget &amp;amp; border */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line150&amp;quot;&amp;gt;150.      short how;			/* Menu mode PICK_NONE, PICK_ONE, PICK_ANY */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line151&amp;quot;&amp;gt;151.      boolean valid_widgets;	/* TRUE if widgets have been created. */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line152&amp;quot;&amp;gt;152.      boolean is_menu;		/* Has been confirmed to being a menu window. */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line153&amp;quot;&amp;gt;153.      boolean is_active;		/* TRUE when waiting for user input. */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line154&amp;quot;&amp;gt;154.      boolean is_up;		/* TRUE when window is popped-up. */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line155&amp;quot;&amp;gt;155.      boolean cancelled;	/* Menu has been explicitly cancelled. */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line156&amp;quot;&amp;gt;156.      boolean counting;	/* true when menu_count has a valid value */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line157&amp;quot;&amp;gt;157.  };&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line158&amp;quot;&amp;gt;158.  &amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line159&amp;quot;&amp;gt;159.  /*&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line160&amp;quot;&amp;gt;160.   * Information specific to a text window.&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line161&amp;quot;&amp;gt;161.   */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line162&amp;quot;&amp;gt;162.  struct text_info_t {&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line163&amp;quot;&amp;gt;163.      struct text_buffer text;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line164&amp;quot;&amp;gt;164.      XFontStruct *fs;		/* Font for the text window. */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line165&amp;quot;&amp;gt;165.      int		max_width;	/* Width of widest line so far. */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line166&amp;quot;&amp;gt;166.      int		extra_width,	/* Sum of left and right border widths. */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line167&amp;quot;&amp;gt;167.  		extra_height;	/* Sum of top and bottom border widths. */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line168&amp;quot;&amp;gt;168.      boolean	blocked;	/*  */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line169&amp;quot;&amp;gt;169.      boolean	destroy_on_ack; /* Destroy this window when acknowleged. */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line170&amp;quot;&amp;gt;170.  #ifdef GRAPHIC_TOMBSTONE&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line171&amp;quot;&amp;gt;171.      boolean	is_rip;		/* This window needs a tombstone. */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line172&amp;quot;&amp;gt;172.  #endif&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line173&amp;quot;&amp;gt;173.  };&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line174&amp;quot;&amp;gt;174.  &amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line175&amp;quot;&amp;gt;175.  &amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line176&amp;quot;&amp;gt;176.  /*&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line177&amp;quot;&amp;gt;177.   * Basic window structure.&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line178&amp;quot;&amp;gt;178.   */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line179&amp;quot;&amp;gt;179.  struct xwindow {&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line180&amp;quot;&amp;gt;180.      int       type;		/* type of nethack window */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line181&amp;quot;&amp;gt;181.      Widget    popup;		/* direct parent of widget w or viewport */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line182&amp;quot;&amp;gt;182.      Widget    w;		/* the widget that does things */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line183&amp;quot;&amp;gt;183.      Dimension pixel_width;	/* window size, in pixels */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line184&amp;quot;&amp;gt;184.      Dimension pixel_height;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line185&amp;quot;&amp;gt;185.      int       prevx, cursx;	/* Cursor position, only used by    */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line186&amp;quot;&amp;gt;186.      int       prevy, cursy;	/*   map and &amp;quot;plain&amp;quot; status windows.*/&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line187&amp;quot;&amp;gt;187.  &amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line188&amp;quot;&amp;gt;188.      union {&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line189&amp;quot;&amp;gt;189.  	struct map_info_t    *Map_info;     /* map window info */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line190&amp;quot;&amp;gt;190.  	struct mesg_info_t   *Mesg_info;    /* message window info */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line191&amp;quot;&amp;gt;191.  	struct status_info_t *Status_info;  /* status window info */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line192&amp;quot;&amp;gt;192.  	struct menu_info_t   *Menu_info;    /* menu window info */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line193&amp;quot;&amp;gt;193.  	struct text_info_t   *Text_info;    /* menu window info */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line194&amp;quot;&amp;gt;194.      } Win_info;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line195&amp;quot;&amp;gt;195.      boolean	keep_window;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line196&amp;quot;&amp;gt;196.  };&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line197&amp;quot;&amp;gt;197.  &amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line198&amp;quot;&amp;gt;198.  /* Defines to use for the window information union. */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line199&amp;quot;&amp;gt;199.  #define map_information    Win_info.Map_info&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line200&amp;quot;&amp;gt;200.  #define mesg_information   Win_info.Mesg_info&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line201&amp;quot;&amp;gt;201.  #define status_information Win_info.Status_info&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line202&amp;quot;&amp;gt;202.  #define menu_information   Win_info.Menu_info&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line203&amp;quot;&amp;gt;203.  #define text_information   Win_info.Text_info&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line204&amp;quot;&amp;gt;204.  &amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line205&amp;quot;&amp;gt;205.  &amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line206&amp;quot;&amp;gt;206.  #define MAX_WINDOWS 20		/* max number of open windows */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line207&amp;quot;&amp;gt;207.  &amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line208&amp;quot;&amp;gt;208.  #define NHW_NONE 0		/* Unallocated window type.  Must be	*/&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line209&amp;quot;&amp;gt;209.  				/* different from any other NHW_* type. */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line210&amp;quot;&amp;gt;210.  &amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line211&amp;quot;&amp;gt;211.  #define NO_CLICK 0		/* No click occured on the map window. Must */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line212&amp;quot;&amp;gt;212.  				/* be different than CLICK_1 and CLICK_2.   */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line213&amp;quot;&amp;gt;213.  &amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line214&amp;quot;&amp;gt;214.  #define DEFAULT_MESSAGE_WIDTH 60/* width in chars of the message window */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line215&amp;quot;&amp;gt;215.  &amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line216&amp;quot;&amp;gt;216.  #define DISPLAY_FILE_SIZE 35	/* Max number of lines in the default	*/&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line217&amp;quot;&amp;gt;217.  				/* file display window.			*/&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line218&amp;quot;&amp;gt;218.  &amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line219&amp;quot;&amp;gt;219.  #define MAX_KEY_STRING 64	/* String size for converting a keypress */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line220&amp;quot;&amp;gt;220.  				/* event into a character(s)		 */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line221&amp;quot;&amp;gt;221.  &amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line222&amp;quot;&amp;gt;222.  #define DEFAULT_LINES_DISPLAYED 12 /* # of lines displayed message window */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line223&amp;quot;&amp;gt;223.  #define MAX_HISTORY 60		/* max history saved on message window */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line224&amp;quot;&amp;gt;224.  &amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line225&amp;quot;&amp;gt;225.  &amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line226&amp;quot;&amp;gt;226.  /* Window variables (winX.c). */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line227&amp;quot;&amp;gt;227.  E struct xwindow window_list[MAX_WINDOWS];&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line228&amp;quot;&amp;gt;228.  E XtAppContext	 app_context;		/* context of application */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line229&amp;quot;&amp;gt;229.  E Widget	 toplevel;		/* toplevel widget */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line230&amp;quot;&amp;gt;230.  E Atom		 wm_delete_window;	/* delete window protocol */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line231&amp;quot;&amp;gt;231.  E boolean	 exit_x_event;		/* exit condition for event loop */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line232&amp;quot;&amp;gt;232.  #define EXIT_ON_KEY_PRESS	    0	/* valid values for exit_x_event */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line233&amp;quot;&amp;gt;233.  #define EXIT_ON_KEY_OR_BUTTON_PRESS 1&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line234&amp;quot;&amp;gt;234.  #define EXIT_ON_EXIT		    2&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line235&amp;quot;&amp;gt;235.  #define EXIT_ON_SENT_EVENT	    3&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line236&amp;quot;&amp;gt;236.  E int click_x, click_y, click_button, updated_inventory;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line237&amp;quot;&amp;gt;237.  &amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line238&amp;quot;&amp;gt;238.  typedef struct {&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line239&amp;quot;&amp;gt;239.      Boolean slow;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line240&amp;quot;&amp;gt;240.      Boolean autofocus;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line241&amp;quot;&amp;gt;241.      Boolean message_line;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line242&amp;quot;&amp;gt;242.      Boolean double_tile_size;	/* double tile size */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line243&amp;quot;&amp;gt;243.      String  tile_file;		/* name of file to open for tiles */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line244&amp;quot;&amp;gt;244.      String  icon;		/* name of desired icon */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line245&amp;quot;&amp;gt;245.      int     message_lines;	/* number of lines to attempt to show */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line246&amp;quot;&amp;gt;246.      String  pet_mark_bitmap;	/* X11 bitmap file used to mark pets */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line247&amp;quot;&amp;gt;247.      Pixel   pet_mark_color;	/* color of pet mark */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line248&amp;quot;&amp;gt;248.  #ifdef GRAPHIC_TOMBSTONE&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line249&amp;quot;&amp;gt;249.      String  tombstone;		/* name of XPM file for tombstone */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line250&amp;quot;&amp;gt;250.      int     tombtext_x;		/* x-coord of center of first tombstone text */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line251&amp;quot;&amp;gt;251.      int     tombtext_y;		/* y-coord of center of first tombstone text */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line252&amp;quot;&amp;gt;252.      int     tombtext_dx;	/* x-displacement between tombstone line */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line253&amp;quot;&amp;gt;253.      int     tombtext_dy;	/* y-displacement between tombstone line */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line254&amp;quot;&amp;gt;254.  #endif&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line255&amp;quot;&amp;gt;255.  } AppResources;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line256&amp;quot;&amp;gt;256.  &amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line257&amp;quot;&amp;gt;257.  E AppResources appResources;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line258&amp;quot;&amp;gt;258.  E void (*input_func)();&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line259&amp;quot;&amp;gt;259.  &amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line260&amp;quot;&amp;gt;260.  extern struct window_procs X11_procs;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line261&amp;quot;&amp;gt;261.  &amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line262&amp;quot;&amp;gt;262.  /* Check for an invalid window id. */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line263&amp;quot;&amp;gt;263.  #define check_winid(window)					\&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line264&amp;quot;&amp;gt;264.  	if ((window) &amp;lt; 0 || (window) &amp;gt;= MAX_WINDOWS) {		\&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line265&amp;quot;&amp;gt;265.  	    panic(&amp;quot;illegal windid [%d] in %s at line %d&amp;quot;,	\&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line266&amp;quot;&amp;gt;266.  		window, __FILE__, __LINE__);			\&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line267&amp;quot;&amp;gt;267.  	}&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line268&amp;quot;&amp;gt;268.  &amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line269&amp;quot;&amp;gt;269.  &amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line270&amp;quot;&amp;gt;270.  /* ### dialogs.c ### */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line271&amp;quot;&amp;gt;271.  E Widget FDECL(CreateDialog, (Widget, String, XtCallbackProc, XtCallbackProc));&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line272&amp;quot;&amp;gt;272.  E void FDECL(SetDialogPrompt,(Widget, String));&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line273&amp;quot;&amp;gt;273.  E String FDECL(GetDialogResponse,(Widget));&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line274&amp;quot;&amp;gt;274.  E void FDECL(SetDialogResponse,(Widget, String));&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line275&amp;quot;&amp;gt;275.  E void FDECL(positionpopup,(Widget,BOOLEAN_P));&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line276&amp;quot;&amp;gt;276.  &amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line277&amp;quot;&amp;gt;277.  /* ### winX.c ### */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line278&amp;quot;&amp;gt;278.  E struct xwindow *FDECL(find_widget,(Widget));&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line279&amp;quot;&amp;gt;279.  E Boolean FDECL(nhApproxColor,(Screen*, Colormap, char*, XColor*));&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line280&amp;quot;&amp;gt;280.  E Dimension FDECL(nhFontHeight,(Widget));&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line281&amp;quot;&amp;gt;281.  E char FDECL(key_event_to_char,(XKeyEvent*));&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line282&amp;quot;&amp;gt;282.  E void FDECL(msgkey, (Widget, XtPointer, XEvent*));&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line283&amp;quot;&amp;gt;283.  E void FDECL(nh_XtPopup, (Widget, int, Widget));&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line284&amp;quot;&amp;gt;284.  E void FDECL(nh_XtPopdown, (Widget));&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line285&amp;quot;&amp;gt;285.  E void NDECL(win_X11_init);&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line286&amp;quot;&amp;gt;286.  E void FDECL(nh_keyscroll, (Widget, XEvent*, String*, Cardinal*));&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line287&amp;quot;&amp;gt;287.  &amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line288&amp;quot;&amp;gt;288.  /* ### winmesg.c ### */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line289&amp;quot;&amp;gt;289.  E void FDECL(set_message_slider, (struct xwindow*));&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line290&amp;quot;&amp;gt;290.  E void FDECL(create_message_window,(struct xwindow*, BOOLEAN_P, Widget));&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line291&amp;quot;&amp;gt;291.  E void FDECL(destroy_message_window,(struct xwindow*));&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line292&amp;quot;&amp;gt;292.  E void FDECL(display_message_window, (struct xwindow*));&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line293&amp;quot;&amp;gt;293.  E void FDECL(append_message,(struct xwindow*, const char*));&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line294&amp;quot;&amp;gt;294.  E void FDECL(set_last_pause, (struct xwindow*));&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line295&amp;quot;&amp;gt;295.  &amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line296&amp;quot;&amp;gt;296.  /* ### winmap.c ### */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line297&amp;quot;&amp;gt;297.  E void NDECL(post_process_tiles);&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line298&amp;quot;&amp;gt;298.  E void FDECL(check_cursor_visibility,(struct xwindow*));&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line299&amp;quot;&amp;gt;299.  E void FDECL(display_map_window,(struct xwindow*));&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line300&amp;quot;&amp;gt;300.  E void FDECL(clear_map_window,(struct xwindow*));&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line301&amp;quot;&amp;gt;301.  E void FDECL(map_input, (Widget, XEvent*, String*, Cardinal*));&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line302&amp;quot;&amp;gt;302.  E void FDECL(set_map_size,(struct xwindow*, DIMENSION_P, DIMENSION_P));&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line303&amp;quot;&amp;gt;303.  E void FDECL(create_map_window,(struct xwindow*, BOOLEAN_P, Widget));&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line304&amp;quot;&amp;gt;304.  E void FDECL(destroy_map_window,(struct xwindow*));&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line305&amp;quot;&amp;gt;305.  E int  FDECL(x_event,(int));&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line306&amp;quot;&amp;gt;306.  &amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line307&amp;quot;&amp;gt;307.  /* ### winmenu.c ### */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line308&amp;quot;&amp;gt;308.  E void FDECL(menu_delete, (Widget, XEvent*, String*, Cardinal*));&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line309&amp;quot;&amp;gt;309.  E void FDECL(menu_key,(Widget, XEvent*, String*, Cardinal*));&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line310&amp;quot;&amp;gt;310.  E void FDECL(create_menu_window,(struct xwindow*));&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line311&amp;quot;&amp;gt;311.  E void FDECL(destroy_menu_window,(struct xwindow*));&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line312&amp;quot;&amp;gt;312.  &amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line313&amp;quot;&amp;gt;313.  /* ### winmisc.c ### */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line314&amp;quot;&amp;gt;314.  E void FDECL(ps_key,(Widget, XEvent*, String*, Cardinal*)); /* player selection action */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line315&amp;quot;&amp;gt;315.  E void FDECL(race_key,(Widget, XEvent*, String*, Cardinal*)); /* race selection action */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line316&amp;quot;&amp;gt;316.  E void FDECL(gend_key, (Widget,XEvent *,String *,Cardinal *)); /* gender */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line317&amp;quot;&amp;gt;317.  E void FDECL(algn_key, (Widget,XEvent *,String *,Cardinal *)); /* alignment */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line318&amp;quot;&amp;gt;318.  E void FDECL(ec_delete, (Widget, XEvent*, String*, Cardinal*));&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line319&amp;quot;&amp;gt;319.  E void FDECL(ec_key,(Widget, XEvent*, String*, Cardinal*)); /* extended command action */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line320&amp;quot;&amp;gt;320.  &amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line321&amp;quot;&amp;gt;321.  /* ### winstatus.c ### */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line322&amp;quot;&amp;gt;322.  E void FDECL(create_status_window,(struct xwindow*, BOOLEAN_P, Widget));&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line323&amp;quot;&amp;gt;323.  E void FDECL(destroy_status_window,(struct xwindow*));&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line324&amp;quot;&amp;gt;324.  E void FDECL(adjust_status,(struct xwindow*, const char*));&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line325&amp;quot;&amp;gt;325.  E void NDECL(null_out_status);&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line326&amp;quot;&amp;gt;326.  E void NDECL(check_turn_events);&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line327&amp;quot;&amp;gt;327.  &amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line328&amp;quot;&amp;gt;328.  /* ### wintext.c ### */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line329&amp;quot;&amp;gt;329.  E void FDECL(delete_text, (Widget, XEvent*, String*, Cardinal*));&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line330&amp;quot;&amp;gt;330.  E void FDECL(dismiss_text,(Widget, XEvent*, String*, Cardinal*));&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line331&amp;quot;&amp;gt;331.  E void FDECL(key_dismiss_text,(Widget, XEvent*, String*, Cardinal*));&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line332&amp;quot;&amp;gt;332.  #ifdef GRAPHIC_TOMBSTONE&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line333&amp;quot;&amp;gt;333.  E void FDECL(rip_dismiss_text,(Widget, XEvent*, String*, Cardinal*));&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line334&amp;quot;&amp;gt;334.  #endif&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line335&amp;quot;&amp;gt;335.  E void FDECL(add_to_text_window,(struct xwindow*, int, const char*));&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line336&amp;quot;&amp;gt;336.  E void FDECL(display_text_window,(struct xwindow*, BOOLEAN_P));&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line337&amp;quot;&amp;gt;337.  E void FDECL(create_text_window,(struct xwindow*));&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line338&amp;quot;&amp;gt;338.  E void FDECL(destroy_text_window,(struct xwindow*));&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line339&amp;quot;&amp;gt;339.  E void FDECL(clear_text_window,(struct xwindow*));&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line340&amp;quot;&amp;gt;340.  E void FDECL(append_text_buffer,(struct text_buffer*, const char*, BOOLEAN_P)); /* text buffer routines */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line341&amp;quot;&amp;gt;341.  E void FDECL(init_text_buffer,(struct text_buffer*));&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line342&amp;quot;&amp;gt;342.  E void FDECL(clear_text_buffer,(struct text_buffer*));&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line343&amp;quot;&amp;gt;343.  E void FDECL(free_text_buffer,(struct text_buffer*));&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line344&amp;quot;&amp;gt;344.  #ifdef GRAPHIC_TOMBSTONE&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line345&amp;quot;&amp;gt;345.  E void FDECL(calculate_rip_text, (int));&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line346&amp;quot;&amp;gt;346.  #endif&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line347&amp;quot;&amp;gt;347.  &amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line348&amp;quot;&amp;gt;348.  &amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line349&amp;quot;&amp;gt;349.  /* ### winval.c ### */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line350&amp;quot;&amp;gt;350.  E Widget FDECL(create_value,(Widget, const char*));&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line351&amp;quot;&amp;gt;351.  E void	 FDECL(set_name,(Widget, char*));&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line352&amp;quot;&amp;gt;352.  E void	 FDECL(set_name_width,(Widget, int));&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line353&amp;quot;&amp;gt;353.  E int	 FDECL(get_name_width,(Widget));&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line354&amp;quot;&amp;gt;354.  E void	 FDECL(set_value,(Widget, const char*));&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line355&amp;quot;&amp;gt;355.  E void	 FDECL(set_value_width,(Widget, int));&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line356&amp;quot;&amp;gt;356.  E int	 FDECL(get_value_width,(Widget));&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line357&amp;quot;&amp;gt;357.  E void	 FDECL(hilight_value,(Widget));&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line358&amp;quot;&amp;gt;358.  E void	 FDECL(swap_fg_bg,(Widget));&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line359&amp;quot;&amp;gt;359.  &amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line360&amp;quot;&amp;gt;360.  /* external declarations */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line361&amp;quot;&amp;gt;361.  E void FDECL(X11_init_nhwindows, (int *, char **));&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line362&amp;quot;&amp;gt;362.  E void NDECL(X11_player_selection);&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line363&amp;quot;&amp;gt;363.  E void NDECL(X11_askname);&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line364&amp;quot;&amp;gt;364.  E void NDECL(X11_get_nh_event) ;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line365&amp;quot;&amp;gt;365.  E void FDECL(X11_exit_nhwindows, (const char *));&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line366&amp;quot;&amp;gt;366.  E void FDECL(X11_suspend_nhwindows, (const char *));&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line367&amp;quot;&amp;gt;367.  E void NDECL(X11_resume_nhwindows);&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line368&amp;quot;&amp;gt;368.  E winid FDECL(X11_create_nhwindow, (int));&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line369&amp;quot;&amp;gt;369.  E void FDECL(X11_clear_nhwindow, (winid));&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line370&amp;quot;&amp;gt;370.  E void FDECL(X11_display_nhwindow, (winid, BOOLEAN_P));&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line371&amp;quot;&amp;gt;371.  E void FDECL(X11_destroy_nhwindow, (winid));&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line372&amp;quot;&amp;gt;372.  E void FDECL(X11_curs, (winid,int,int));&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line373&amp;quot;&amp;gt;373.  E void FDECL(X11_putstr, (winid, int, const char *));&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line374&amp;quot;&amp;gt;374.  #ifdef FILE_AREAS&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line375&amp;quot;&amp;gt;375.  E void FDECL(X11_display_file, (const char *, const char *, BOOLEAN_P));&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line376&amp;quot;&amp;gt;376.  #else&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line377&amp;quot;&amp;gt;377.  E void FDECL(X11_display_file, (const char *, BOOLEAN_P));&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line378&amp;quot;&amp;gt;378.  #endif&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line379&amp;quot;&amp;gt;379.  E void FDECL(X11_start_menu, (winid));&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line380&amp;quot;&amp;gt;380.  E void FDECL(X11_add_menu, (winid,int,const ANY_P *,&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line381&amp;quot;&amp;gt;381.  			CHAR_P, CHAR_P, int, const char *, BOOLEAN_P));&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line382&amp;quot;&amp;gt;382.  E void FDECL(X11_end_menu, (winid, const char *));&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line383&amp;quot;&amp;gt;383.  E int FDECL(X11_select_menu, (winid, int, MENU_ITEM_P **));&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line384&amp;quot;&amp;gt;384.  E void NDECL(X11_update_inventory);&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line385&amp;quot;&amp;gt;385.  E void NDECL(X11_mark_synch);&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line386&amp;quot;&amp;gt;386.  E void NDECL(X11_wait_synch);&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line387&amp;quot;&amp;gt;387.  #ifdef CLIPPING&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line388&amp;quot;&amp;gt;388.  E void FDECL(X11_cliparound, (int, int));&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line389&amp;quot;&amp;gt;389.  #endif&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line390&amp;quot;&amp;gt;390.  E void FDECL(X11_print_glyph, (winid,XCHAR_P,XCHAR_P,int));&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line391&amp;quot;&amp;gt;391.  E void FDECL(X11_raw_print, (const char *));&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line392&amp;quot;&amp;gt;392.  E void FDECL(X11_raw_print_bold, (const char *));&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line393&amp;quot;&amp;gt;393.  E int NDECL(X11_nhgetch);&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line394&amp;quot;&amp;gt;394.  E int FDECL(X11_nh_poskey, (int *, int *, int *));&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line395&amp;quot;&amp;gt;395.  E void NDECL(X11_nhbell);&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line396&amp;quot;&amp;gt;396.  E int NDECL(X11_doprev_message);&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line397&amp;quot;&amp;gt;397.  E char FDECL(X11_yn_function, (const char *, const char *, CHAR_P));&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line398&amp;quot;&amp;gt;398.  E void FDECL(X11_getlin, (const char *,char *));&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line399&amp;quot;&amp;gt;399.  E int NDECL(X11_get_ext_cmd);&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line400&amp;quot;&amp;gt;400.  E void FDECL(X11_number_pad, (int));&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line401&amp;quot;&amp;gt;401.  E void NDECL(X11_delay_output);&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line402&amp;quot;&amp;gt;402.  &amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line403&amp;quot;&amp;gt;403.  /* other defs that really should go away (they're tty specific) */&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line404&amp;quot;&amp;gt;404.  E void NDECL(X11_start_screen);&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line405&amp;quot;&amp;gt;405.  E void NDECL(X11_end_screen);&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line406&amp;quot;&amp;gt;406.  &amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line407&amp;quot;&amp;gt;407.  #ifdef GRAPHIC_TOMBSTONE&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line408&amp;quot;&amp;gt;408.  E void FDECL(X11_outrip, (winid,int));&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line409&amp;quot;&amp;gt;409.  #else&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line410&amp;quot;&amp;gt;410.  E void FDECL(genl_outrip, (winid,int));&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line411&amp;quot;&amp;gt;411.  #endif&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line412&amp;quot;&amp;gt;412.  &amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span id=&amp;quot;line413&amp;quot;&amp;gt;413.  #endif /* WINX_H */&amp;lt;/span&amp;gt;&lt;br /&gt;
[[Category:SLASH'EM 0.0.7E7F2 source code|winX.h]]&lt;/div&gt;</summary>
		<author><name>Jaytbot</name></author>
		
	</entry>
</feed>