changeset 2186:82e8ee492593

(selection_request_event, selection_clear_event): New event kinds.
author Richard M. Stallman <rms@gnu.org>
date Mon, 15 Mar 1993 05:43:15 +0000
parents 5bf3a379d7b5
children 12b50e8d3b1c
files src/termhooks.h
diffstat 1 files changed, 26 insertions(+), 16 deletions(-) [+]
line wrap: on
line diff
--- a/src/termhooks.h	Mon Mar 15 04:46:45 1993 +0000
+++ b/src/termhooks.h	Mon Mar 15 05:43:15 1993 +0000
@@ -190,18 +190,11 @@
    has been included before this file.  */
 #ifdef XINT
 
-/* The keyboard input buffer is an array of these structures.  Each one
-   represents some sort of input event - a keystroke, a mouse click, or
-   a window system event.  These get turned into their lispy forms when
-   they are removed from the event queue.  */
-
-struct input_event {
-
-  /* What kind of event was this?  */
-  enum {
-    no_event,			/* nothing happened.  This should never
+enum event_kind
+{
+  no_event,			/* nothing happened.  This should never
 				   actually appear in the event queue.  */
-    ascii_keystroke,		/* The ASCII code is in .code.
+  ascii_keystroke,		/* The ASCII code is in .code.
 				   .frame_or_window is the frame in
 				   which the key was typed.
 				   Note that this includes meta-keys, and
@@ -209,7 +202,7 @@
 				   is unused.
 				   .timestamp gives a timestamp (in
 				   milliseconds) for the keystroke.  */
-    non_ascii_keystroke,	/* .code is a number identifying the
+  non_ascii_keystroke,		/* .code is a number identifying the
 				   function key.  A code N represents
 				   a key whose name is
 				   function_key_names[N]; function_key_names
@@ -221,7 +214,7 @@
 				   which the key was typed.
 				   .timestamp gives a timestamp (in
 				   milliseconds) for the keystroke.  */
-    mouse_click,		/* The button number is in .code; it must
+  mouse_click,			/* The button number is in .code; it must
 				   be >= 0 and < NUM_MOUSE_BUTTONS, defined
 				   below.
 				   .modifiers holds the state of the
@@ -232,7 +225,7 @@
 				   the mouse click occurred in.
 				   .timestamp gives a timestamp (in
 				   milliseconds) for the click.  */
-    scroll_bar_click,		/* .code gives the number of the mouse button
+  scroll_bar_click,		/* .code gives the number of the mouse button
 				   that was clicked.
 				   .modifiers holds the state of the modifier
 				   keys.
@@ -245,7 +238,24 @@
 				   whose scroll bar was clicked in.
 				   .timestamp gives a timestamp (in
 				   milliseconds) for the click.  */
-  } kind;
+  selection_request_event,	/* Another X client wants a selection from us.
+				   See `struct selection_event'.  */
+  selection_clear_event,	/* Another X client cleared our selection.  */
+};
+
+/* If a struct input_event has a kind which is selection_request_event
+   or selection_clear_event, then its contents are really described
+   by `struct selection_event'; see xterm.h.  */
+
+/* The keyboard input buffer is an array of these structures.  Each one
+   represents some sort of input event - a keystroke, a mouse click, or
+   a window system event.  These get turned into their lispy forms when
+   they are removed from the event queue.  */
+
+struct input_event {
+
+  /* What kind of event was this?  */
+  enum event_kind kind;
   
   Lisp_Object code;
   enum scroll_bar_part part;
@@ -259,7 +269,7 @@
   Lisp_Object x, y;
   unsigned long timestamp;
 };
-
+
 /* This is used in keyboard.c, to tell how many buttons we will need
    to track the positions of.  */
 #define NUM_MOUSE_BUTTONS (5)