162 |
|
|
163 |
/* Arrange for all scroll bars on FRAME to be removed at the next call |
/* Arrange for all scroll bars on FRAME to be removed at the next call |
164 |
to `*judge_scroll_bars_hook'. A scroll bar may be spared if |
to `*judge_scroll_bars_hook'. A scroll bar may be spared if |
165 |
`*redeem_scroll_bar_hook' is applied to its window before the judgement. |
`*redeem_scroll_bar_hook' is applied to its window before the judgement. |
166 |
|
|
167 |
This should be applied to each frame each time its window tree is |
This should be applied to each frame each time its window tree is |
168 |
redisplayed, even if it is not displaying scroll bars at the moment; |
redisplayed, even if it is not displaying scroll bars at the moment; |
179 |
extern void (*redeem_scroll_bar_hook) P_ ((struct window *window)); |
extern void (*redeem_scroll_bar_hook) P_ ((struct window *window)); |
180 |
|
|
181 |
/* Remove all scroll bars on FRAME that haven't been saved since the |
/* Remove all scroll bars on FRAME that haven't been saved since the |
182 |
last call to `*condemn_scroll_bars_hook'. |
last call to `*condemn_scroll_bars_hook'. |
183 |
|
|
184 |
This should be applied to each frame after each time its window |
This should be applied to each frame after each time its window |
185 |
tree is redisplayed, even if it is not displaying scroll bars at the |
tree is redisplayed, even if it is not displaying scroll bars at the |
201 |
|
|
202 |
enum event_kind |
enum event_kind |
203 |
{ |
{ |
204 |
no_event, /* nothing happened. This should never |
NO_EVENT, /* nothing happened. This should never |
205 |
actually appear in the event queue. */ |
actually appear in the event queue. */ |
206 |
|
|
207 |
ascii_keystroke, /* The ASCII code is in .code, perhaps |
ASCII_KEYSTROKE_EVENT, /* The ASCII code is in .code, perhaps |
208 |
with modifiers applied. |
with modifiers applied. |
209 |
.modifiers holds the state of the |
.modifiers holds the state of the |
210 |
modifier keys. |
modifier keys. |
212 |
which the key was typed. |
which the key was typed. |
213 |
.timestamp gives a timestamp (in |
.timestamp gives a timestamp (in |
214 |
milliseconds) for the keystroke. */ |
milliseconds) for the keystroke. */ |
215 |
multibyte_char_keystroke, /* The multibye char code is in .code, |
MULTIBYTE_CHAR_KEYSTROKE_EVENT, /* The multibyte char code is in .code, |
216 |
perhaps with modifiers applied. |
perhaps with modifiers applied. |
217 |
The others are the same as |
The others are the same as |
218 |
ascii_keystroke. This type of event |
ASCII_KEYSTROKE_EVENT. */ |
219 |
is generated only when we are using |
NON_ASCII_KEYSTROKE_EVENT, /* .code is a number identifying the |
|
XIM on X window. */ |
|
|
non_ascii_keystroke, /* .code is a number identifying the |
|
220 |
function key. A code N represents |
function key. A code N represents |
221 |
a key whose name is |
a key whose name is |
222 |
function_key_names[N]; function_key_names |
function_key_names[N]; function_key_names |
228 |
which the key was typed. |
which the key was typed. |
229 |
.timestamp gives a timestamp (in |
.timestamp gives a timestamp (in |
230 |
milliseconds) for the keystroke. */ |
milliseconds) for the keystroke. */ |
231 |
timer_event, /* A timer fired. */ |
TIMER_EVENT, /* A timer fired. */ |
232 |
mouse_click, /* The button number is in .code; it must |
MOUSE_CLICK_EVENT, /* The button number is in .code; it must |
233 |
be >= 0 and < NUM_MOUSE_BUTTONS, defined |
be >= 0 and < NUM_MOUSE_BUTTONS, defined |
234 |
below. |
below. |
235 |
.modifiers holds the state of the |
.modifiers holds the state of the |
240 |
the mouse click occurred in. |
the mouse click occurred in. |
241 |
.timestamp gives a timestamp (in |
.timestamp gives a timestamp (in |
242 |
milliseconds) for the click. */ |
milliseconds) for the click. */ |
243 |
#ifdef WINDOWSNT |
#if defined(WINDOWSNT) || defined(MAC_OSX) |
244 |
mouse_wheel, /* A mouse-wheel event is generated |
MOUSE_WHEEL_EVENT, /* A mouse-wheel event is generated |
245 |
on WINDOWSNT by a |
on WINDOWSNT or MAC_OSX by a |
246 |
wheel on a mouse (e.g., MS Intellimouse). |
wheel on a mouse (e.g., MS Intellimouse). |
247 |
The event contains a delta that corresponds |
The event contains a delta that corresponds |
248 |
to the amount and direction that the wheel |
to the amount and direction that the wheel |
257 |
the wheel event occurred in. |
the wheel event occurred in. |
258 |
.timestamp gives a timestamp (in |
.timestamp gives a timestamp (in |
259 |
milliseconds) for the wheel event. */ |
milliseconds) for the wheel event. */ |
260 |
language_change_event, /* A language_change event is generated |
#endif |
261 |
|
#ifdef WINDOWSNT |
262 |
|
LANGUAGE_CHANGE_EVENT, /* A LANGUAGE_CHANGE_EVENT is generated |
263 |
on WINDOWSNT when the keyboard layout |
on WINDOWSNT when the keyboard layout |
264 |
or input language is changed by the |
or input language is changed by the |
265 |
user. */ |
user. */ |
266 |
#endif |
#endif |
267 |
scroll_bar_click, /* .code gives the number of the mouse button |
SCROLL_BAR_CLICK_EVENT, /* .code gives the number of the mouse button |
268 |
that was clicked. |
that was clicked. |
269 |
.modifiers holds the state of the modifier |
.modifiers holds the state of the modifier |
270 |
keys. |
keys. |
278 |
.timestamp gives a timestamp (in |
.timestamp gives a timestamp (in |
279 |
milliseconds) for the click. */ |
milliseconds) for the click. */ |
280 |
#ifdef WINDOWSNT |
#ifdef WINDOWSNT |
281 |
w32_scroll_bar_click, /* as for scroll_bar_click, but only generated |
W32_SCROLL_BAR_CLICK_EVENT, /* as for SCROLL_BAR_CLICK, but only generated |
282 |
by MS-Windows scroll bar controls. */ |
by MS-Windows scroll bar controls. */ |
283 |
#endif |
#endif |
284 |
selection_request_event, /* Another X client wants a selection from us. |
SELECTION_REQUEST_EVENT, /* Another X client wants a selection from us. |
285 |
See `struct selection_event'. */ |
See `struct selection_event'. */ |
286 |
selection_clear_event, /* Another X client cleared our selection. */ |
SELECTION_CLEAR_EVENT, /* Another X client cleared our selection. */ |
287 |
buffer_switch_event, /* A process filter has switched buffers. */ |
BUFFER_SWITCH_EVENT, /* A process filter has switched buffers. */ |
288 |
delete_window_event, /* An X client said "delete this window". */ |
DELETE_WINDOW_EVENT, /* An X client said "delete this window". */ |
289 |
MENU_BAR_EVENT, /* An event generated by the menu bar. |
MENU_BAR_EVENT, /* An event generated by the menu bar. |
290 |
The frame_or_window field's cdr holds the |
The frame_or_window field's cdr holds the |
291 |
Lisp-level event value. |
Lisp-level event value. |
292 |
(Only the toolkit version uses these.) */ |
(Only the toolkit version uses these.) */ |
293 |
iconify_event, /* An X client iconified this window. */ |
ICONIFY_EVENT, /* An X client iconified this window. */ |
294 |
deiconify_event, /* An X client deiconified this window. */ |
DEICONIFY_EVENT, /* An X client deiconified this window. */ |
295 |
menu_bar_activate_event, /* A button press in the menu bar |
MENU_BAR_ACTIVATE_EVENT, /* A button press in the menu bar |
296 |
(toolkit version only). */ |
(toolkit version only). */ |
297 |
drag_n_drop, /* A drag-n-drop event is generated when |
DRAG_N_DROP_EVENT, /* A drag-n-drop event is generated when |
298 |
files selected outside of Emacs are dropped |
files selected outside of Emacs are dropped |
299 |
onto an Emacs window. |
onto an Emacs window. |
300 |
Currently used only on Windows NT. |
Currently used only on Windows NT. |
301 |
.modifiers holds the state of the |
.modifiers holds the state of the |
302 |
modifier keys. |
modifier keys. |
303 |
.x and .y give the mouse position, |
.x and .y give the mouse position, |
304 |
in characters, within the window. |
in characters, within the window. |
330 |
|
|
331 |
/* Queued from XTread_socket when session manager sends |
/* Queued from XTread_socket when session manager sends |
332 |
save yourself before shutdown. */ |
save yourself before shutdown. */ |
333 |
save_session_event |
SAVE_SESSION_EVENT |
334 |
}; |
}; |
335 |
|
|
336 |
/* If a struct input_event has a kind which is selection_request_event |
/* If a struct input_event has a kind which is SELECTION_REQUEST_EVENT |
337 |
or selection_clear_event, then its contents are really described |
or SELECTION_CLEAR_EVENT, then its contents are really described |
338 |
by `struct selection_event'; see xterm.h. */ |
by `struct selection_event'; see xterm.h. */ |
339 |
|
|
340 |
/* The keyboard input buffer is an array of these structures. Each one |
/* The keyboard input buffer is an array of these structures. Each one |
346 |
{ |
{ |
347 |
/* What kind of event was this? */ |
/* What kind of event was this? */ |
348 |
enum event_kind kind; |
enum event_kind kind; |
349 |
|
|
350 |
/* For an ascii_keystroke and multibyte_char_keystroke, this is the |
/* For an ASCII_KEYSTROKE_EVENT and MULTIBYTE_CHAR_KEYSTROKE_EVENT, |
351 |
character. |
this is the character. |
352 |
For a non_ascii_keystroke, this is the keysym code. |
For a NON_ASCII_KEYSTROKE_EVENT, this is the keysym code. |
353 |
For a mouse event, this is the button number. */ |
For a mouse event, this is the button number. */ |
354 |
/* In WindowsNT, for a mouse wheel event, this is the delta. */ |
/* In WindowsNT, for a mouse wheel event, this is the delta. */ |
355 |
int code; |
int code; |
386 |
|
|
387 |
/* Bits in the modifiers member of the input_event structure. |
/* Bits in the modifiers member of the input_event structure. |
388 |
Note that reorder_modifiers assumes that the bits are in canonical |
Note that reorder_modifiers assumes that the bits are in canonical |
389 |
order. |
order. |
390 |
|
|
391 |
The modifiers applied to mouse clicks are rather ornate. The |
The modifiers applied to mouse clicks are rather ornate. The |
392 |
window-system-specific code should store mouse clicks with |
window-system-specific code should store mouse clicks with |