diff src/termhooks.h @ 88155:d7ddb3e565de

sync with trunk
author Henrik Enberg <henrik.enberg@telia.com>
date Mon, 16 Jan 2006 00:03:54 +0000
parents 23a1cea22d13
children
line wrap: on
line diff
--- a/src/termhooks.h	Sun Jan 15 23:02:10 2006 +0000
+++ b/src/termhooks.h	Mon Jan 16 00:03:54 2006 +0000
@@ -1,6 +1,7 @@
 /* Hooks by which low level terminal operations
    can be made to call other routines.
-   Copyright (C) 1985, 1986, 1993, 1994 Free Software Foundation, Inc.
+   Copyright (C) 1985, 1986, 1993, 1994, 2002, 2003, 2004,
+                 2005 Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
@@ -16,8 +17,8 @@
 
 You should have received a copy of the GNU General Public License
 along with GNU Emacs; see the file COPYING.  If not, write to
-the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA.  */
+the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA.  */
 
 
 /* Miscellanea.   */
@@ -240,28 +241,23 @@
 				   the mouse click occurred in.
 				   .timestamp gives a timestamp (in
 				   milliseconds) for the click.  */
-#if defined(WINDOWSNT) || defined(MAC_OSX)
-  MOUSE_WHEEL_EVENT,		/* A mouse-wheel event is generated
-				   on WINDOWSNT or MAC_OSX by a
-				   wheel on a mouse (e.g., MS Intellimouse).
-				   The event contains a delta that corresponds
-				   to the amount and direction that the wheel
-				   is rotated.  This delta is typically
-				   used to implement a scroll or zoom.
-				   .code gives the delta.
-				   .modifiers holds the state of the
-				   modifier keys.
+  WHEEL_EVENT,			/* A wheel event is generated by a
+				   wheel on a mouse (e.g., MS
+				   Intellimouse).
+				   .modifiers holds the rotate
+				   direction (up or down), and the
+				   state of the modifier keys.
 				   .x and .y give the mouse position,
 				   in characters, within the window.
 				   .frame_or_window gives the frame
 				   the wheel event occurred in.
 				   .timestamp gives a timestamp (in
-				   milliseconds) for the wheel event.  */
-#endif
-#ifdef WINDOWSNT
-  LANGUAGE_CHANGE_EVENT,	/* A LANGUAGE_CHANGE_EVENT is generated
-				   on WINDOWSNT when the keyboard layout
-				   or input language is changed by the
+				   milliseconds) for the event.  */
+#if defined (WINDOWSNT) || defined (MAC_OS)
+  LANGUAGE_CHANGE_EVENT,	/* A LANGUAGE_CHANGE_EVENT is
+				   generated on WINDOWSNT or Mac OS
+				   when the keyboard layout or input
+				   language is changed by the
 				   user.  */
 #endif
   SCROLL_BAR_CLICK_EVENT,	/* .code gives the number of the mouse button
@@ -282,7 +278,7 @@
 				   by MS-Windows scroll bar controls. */
 #endif
   SELECTION_REQUEST_EVENT,	/* Another X client wants a selection from us.
-				   See `struct selection_event'.  */
+				   See `struct selection_input_event'.  */
   SELECTION_CLEAR_EVENT,	/* Another X client cleared our selection.  */
   BUFFER_SWITCH_EVENT,		/* A process filter has switched buffers.  */
   DELETE_WINDOW_EVENT,		/* An X client said "delete this window".  */
@@ -297,14 +293,14 @@
   DRAG_N_DROP_EVENT,		/* A drag-n-drop event is generated when
 				   files selected outside of Emacs are dropped
 				   onto an Emacs window.
-				   Currently used only on Windows NT.
 				   .modifiers holds the state of the
 				   modifier keys.
 				   .x and .y give the mouse position,
 				   in characters, within the window.
-				   .frame_or_window is a cons of the frame
-				   in which the drop was made and a list of
-				   the filenames of the dropped files.
+				   .frame_or_window is the frame in
+				   which the drop was made.
+				   .arg is a platform-dependent
+				   representation of the dropped items.
 				   .timestamp gives a timestamp (in
 				   milliseconds) for the click.  */
   USER_SIGNAL_EVENT,		/* A user signal.
@@ -330,12 +326,22 @@
 
   /* Queued from XTread_socket when session manager sends
      save yourself before shutdown. */
-  SAVE_SESSION_EVENT
+  SAVE_SESSION_EVENT,
+
+#ifdef MAC_OS
+  /* Generated when an Apple event, a HICommand event, or a Services
+     menu event is received and the corresponding handler is
+     registered.  Members `x' and `y' are for the event class and ID
+     symbols, respectively.  Member `code' points to the Apple event
+     descriptor.  Parameters for Non-Apple events are converted to
+     those in Apple events.  */
+  MAC_APPLE_EVENT
+#endif
 };
 
 /* 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.  */
+   by `struct selection_input_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
@@ -361,7 +367,7 @@
   unsigned long timestamp;
 
   /* This is padding just to put the frame_or_window field
-     past the size of struct selection_event.  */
+     past the size of struct selection_input_event.  */
   int *padding[2];
 
   /* This field is copied into a vector while the event is in the queue,
@@ -377,8 +383,10 @@
   Lisp_Object arg;
 };
 
+#define EVENT_INIT(event) bzero (&(event), sizeof (struct input_event))
+
 /* Called to read input events.  */
-extern int (*read_socket_hook) P_ ((int, struct input_event *, int, int));
+extern int (*read_socket_hook) P_ ((int, int, struct input_event *));
 
 /* Called when a frame's display becomes entirely up to date.  */
 extern void (*frame_up_to_date_hook) P_ ((struct frame *));
@@ -434,3 +442,6 @@
 };
 
 #endif
+
+/* arch-tag: 33a00ecc-52b5-4186-a410-8801ac9f087d
+   (do not change this comment) */