enum scroll_bar_part {
scroll_bar_above_handle,
scroll_bar_handle,
- scroll_bar_below_handle
+ scroll_bar_below_handle,
+ scroll_bar_up_arrow,
+ scroll_bar_down_arrow
};
/* Return the current position of the mouse.
which the key was typed.
.timestamp gives a timestamp (in
milliseconds) for the keystroke. */
+ timer_event, /* A timer fired. */
mouse_click, /* The button number is in .code; it must
be >= 0 and < NUM_MOUSE_BUTTONS, defined
below.
whose scroll bar was clicked in.
.timestamp gives a timestamp (in
milliseconds) for the click. */
+#ifdef WINDOWSNT
+ win32_scroll_bar_click, /* as for scroll_bar_click, but only generated
+ by MS-Windows scroll bar controls. */
+#endif
selection_request_event, /* Another X client wants a selection from us.
See `struct selection_event'. */
selection_clear_event, /* Another X client cleared our selection. */
a window system event. These get turned into their lispy forms when
they are removed from the event queue. */
-struct input_event {
+struct input_event
+{
/* What kind of event was this? */
- enum event_kind kind;
+ int kind;
/* For an ascii_keystroke, this is the character.
For a non_ascii_keystroke, this is the keysym code.
Lisp_Object x, y;
unsigned long timestamp;
+ /* This is padding just to put the frame_or_window field
+ past the size of struct selection_event. */
+ int *padding[2];
+
/* This field is copied into a vector while the event is in the queue,
so that garbage collections won't kill it. */
/* In a menu_bar_event, this is a cons cell whose car is the frame