/* 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, 2006 Free Software Foundation, Inc.
This file is part of GNU Emacs.
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. */
\f
/* Miscellanea. */
the wheel event occurred in.
.timestamp gives a timestamp (in
milliseconds) for the event. */
-#ifdef WINDOWSNT
- LANGUAGE_CHANGE_EVENT, /* A LANGUAGE_CHANGE_EVENT is generated
- on WINDOWSNT when the keyboard layout
- or input language is changed by the
+#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
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". */
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.
/* 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
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,
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 *));
};
#endif
+
+/* arch-tag: 33a00ecc-52b5-4186-a410-8801ac9f087d
+ (do not change this comment) */