Mercurial > emacs
annotate src/termhooks.h @ 83408:39bb10ce301a
Merged in changes from CVS trunk.
Patches applied:
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-667
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-668
Merge from gnus--rel--5.10
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-669
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-670
Update from CVS
* miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-157
Merge from emacs--cvs-trunk--0
* miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-158
Update from CVS
* miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-159
Update from CVS
* miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-160
Update from CVS
* miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-161
Update from CVS
* miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-162
Update from CVS
* miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-163
Update from CVS
* miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-164
Update from CVS
* miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-165
Update from CVS: texi/message.texi: Fix default values.
* miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-166
Update from CVS
* miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-167
Update from CVS
* miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-168
Update from CVS
git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-448
| author | Karoly Lorentey <lorentey@elte.hu> |
|---|---|
| date | Sun, 11 Dec 2005 22:42:40 +0000 |
| parents | 532e0a9335a9 d74c30ee3772 |
| children | 521d3f18b3d1 |
| rev | line source |
|---|---|
|
83353
532e0a9335a9
Merged in changes from CVS trunk. Plus added lisp/term tweaks.
Karoly Lorentey <lorentey@elte.hu>
diff
changeset
|
1 /* Parameters and display hooks for output devices. |
|
64770
a0d1312ede66
Update years in copyright notice; nfc.
Thien-Thi Nguyen <ttn@gnuvola.org>
parents:
64084
diff
changeset
|
2 Copyright (C) 1985, 1986, 1993, 1994, 2002, 2003, 2004, |
|
a0d1312ede66
Update years in copyright notice; nfc.
Thien-Thi Nguyen <ttn@gnuvola.org>
parents:
64084
diff
changeset
|
3 2005 Free Software Foundation, Inc. |
| 296 | 4 |
| 5 This file is part of GNU Emacs. | |
| 6 | |
| 7 GNU Emacs is free software; you can redistribute it and/or modify | |
| 8 it under the terms of the GNU General Public License as published by | |
| 648 | 9 the Free Software Foundation; either version 2, or (at your option) |
| 296 | 10 any later version. |
| 11 | |
| 12 GNU Emacs is distributed in the hope that it will be useful, | |
| 13 but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| 14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
| 15 GNU General Public License for more details. | |
| 16 | |
| 17 You should have received a copy of the GNU General Public License | |
| 18 along with GNU Emacs; see the file COPYING. If not, write to | |
| 64084 | 19 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, |
| 20 Boston, MA 02110-1301, USA. */ | |
| 296 | 21 |
|
1782
5d58b9f1ff22
* termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1717
diff
changeset
|
22 |
|
5d58b9f1ff22
* termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1717
diff
changeset
|
23 /* Miscellanea. */ |
|
5d58b9f1ff22
* termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1717
diff
changeset
|
24 |
|
25001
65dabc032485
(scroll_bar_end_scroll): New.
Gerd Moellmann <gerd@gnu.org>
parents:
24376
diff
changeset
|
25 struct glyph; |
|
65dabc032485
(scroll_bar_end_scroll): New.
Gerd Moellmann <gerd@gnu.org>
parents:
24376
diff
changeset
|
26 struct frame; |
|
65dabc032485
(scroll_bar_end_scroll): New.
Gerd Moellmann <gerd@gnu.org>
parents:
24376
diff
changeset
|
27 |
| 21515 | 28 /* Only use prototypes when lisp.h has been included. */ |
| 29 #ifndef P_ | |
| 30 #define P_(X) () | |
| 31 #endif | |
|
1782
5d58b9f1ff22
* termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1717
diff
changeset
|
32 |
| 296 | 33 |
|
1994
73ce9dd21093
Use the term `scroll bar', instead of `scrollbar'.
Jim Blandy <jimb@redhat.com>
parents:
1821
diff
changeset
|
34 enum scroll_bar_part { |
|
73ce9dd21093
Use the term `scroll bar', instead of `scrollbar'.
Jim Blandy <jimb@redhat.com>
parents:
1821
diff
changeset
|
35 scroll_bar_above_handle, |
|
73ce9dd21093
Use the term `scroll bar', instead of `scrollbar'.
Jim Blandy <jimb@redhat.com>
parents:
1821
diff
changeset
|
36 scroll_bar_handle, |
|
15176
87c0298bd4f7
(enum scroll_bar_part): New alternatives
Richard M. Stallman <rms@gnu.org>
parents:
14407
diff
changeset
|
37 scroll_bar_below_handle, |
|
87c0298bd4f7
(enum scroll_bar_part): New alternatives
Richard M. Stallman <rms@gnu.org>
parents:
14407
diff
changeset
|
38 scroll_bar_up_arrow, |
|
25001
65dabc032485
(scroll_bar_end_scroll): New.
Gerd Moellmann <gerd@gnu.org>
parents:
24376
diff
changeset
|
39 scroll_bar_down_arrow, |
|
65dabc032485
(scroll_bar_end_scroll): New.
Gerd Moellmann <gerd@gnu.org>
parents:
24376
diff
changeset
|
40 scroll_bar_to_top, |
|
65dabc032485
(scroll_bar_end_scroll): New.
Gerd Moellmann <gerd@gnu.org>
parents:
24376
diff
changeset
|
41 scroll_bar_to_bottom, |
|
26787
5379722b5468
(scroll_bar_part): Add `scroll_bar_move_ratio'.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
25544
diff
changeset
|
42 scroll_bar_end_scroll, |
|
5379722b5468
(scroll_bar_part): Add `scroll_bar_move_ratio'.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
25544
diff
changeset
|
43 scroll_bar_move_ratio |
|
1717
aa7d6d57504b
* frame.h (struct frame): New fields `can_have_scrollbars' and
Jim Blandy <jimb@redhat.com>
parents:
1319
diff
changeset
|
44 }; |
|
aa7d6d57504b
* frame.h (struct frame): New fields `can_have_scrollbars' and
Jim Blandy <jimb@redhat.com>
parents:
1319
diff
changeset
|
45 |
|
1782
5d58b9f1ff22
* termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1717
diff
changeset
|
46 |
|
5d58b9f1ff22
* termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1717
diff
changeset
|
47 /* Input queue declarations and hooks. */ |
|
1717
aa7d6d57504b
* frame.h (struct frame): New fields `can_have_scrollbars' and
Jim Blandy <jimb@redhat.com>
parents:
1319
diff
changeset
|
48 |
| 296 | 49 /* Expedient hack: only provide the below definitions to files that |
|
6747
135dd9df7893
(enum event_kind): Add buffer_switch_event.
Karl Heuer <kwzh@gnu.org>
parents:
6602
diff
changeset
|
50 are prepared to handle lispy things. CONSP is defined iff lisp.h |
| 485 | 51 has been included before this file. */ |
|
4143
5c8de184cccf
* termhooks.h: In order to avoid declaring struct input_event
Jim Blandy <jimb@redhat.com>
parents:
3861
diff
changeset
|
52 #ifdef CONSP |
| 296 | 53 |
|
2186
82e8ee492593
(selection_request_event, selection_clear_event): New event kinds.
Richard M. Stallman <rms@gnu.org>
parents:
2046
diff
changeset
|
54 enum event_kind |
|
82e8ee492593
(selection_request_event, selection_clear_event): New event kinds.
Richard M. Stallman <rms@gnu.org>
parents:
2046
diff
changeset
|
55 { |
|
45803
9484de301252
Rename enum event_kind items.
Pavel Jan?k <Pavel@Janik.cz>
parents:
44299
diff
changeset
|
56 NO_EVENT, /* nothing happened. This should never |
| 296 | 57 actually appear in the event queue. */ |
| 4799 | 58 |
|
45803
9484de301252
Rename enum event_kind items.
Pavel Jan?k <Pavel@Janik.cz>
parents:
44299
diff
changeset
|
59 ASCII_KEYSTROKE_EVENT, /* The ASCII code is in .code, perhaps |
| 4799 | 60 with modifiers applied. |
| 61 .modifiers holds the state of the | |
| 62 modifier keys. | |
|
1782
5d58b9f1ff22
* termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1717
diff
changeset
|
63 .frame_or_window is the frame in |
|
5d58b9f1ff22
* termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1717
diff
changeset
|
64 which the key was typed. |
| 485 | 65 .timestamp gives a timestamp (in |
| 66 milliseconds) for the keystroke. */ | |
|
45803
9484de301252
Rename enum event_kind items.
Pavel Jan?k <Pavel@Janik.cz>
parents:
44299
diff
changeset
|
67 MULTIBYTE_CHAR_KEYSTROKE_EVENT, /* The multibyte char code is in .code, |
|
30750
e96da8e19cef
(enum event_kind): New member multibyte_char_keystroke.
Kenichi Handa <handa@m17n.org>
parents:
30175
diff
changeset
|
68 perhaps with modifiers applied. |
|
e96da8e19cef
(enum event_kind): New member multibyte_char_keystroke.
Kenichi Handa <handa@m17n.org>
parents:
30175
diff
changeset
|
69 The others are the same as |
| 48090 | 70 ASCII_KEYSTROKE_EVENT. */ |
|
45803
9484de301252
Rename enum event_kind items.
Pavel Jan?k <Pavel@Janik.cz>
parents:
44299
diff
changeset
|
71 NON_ASCII_KEYSTROKE_EVENT, /* .code is a number identifying the |
| 296 | 72 function key. A code N represents |
| 73 a key whose name is | |
| 74 function_key_names[N]; function_key_names | |
| 75 is a table in keyboard.c to which you | |
| 76 should feel free to add missing keys. | |
| 77 .modifiers holds the state of the | |
| 338 | 78 modifier keys. |
|
1782
5d58b9f1ff22
* termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1717
diff
changeset
|
79 .frame_or_window is the frame in |
|
5d58b9f1ff22
* termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1717
diff
changeset
|
80 which the key was typed. |
| 485 | 81 .timestamp gives a timestamp (in |
| 82 milliseconds) for the keystroke. */ | |
|
45803
9484de301252
Rename enum event_kind items.
Pavel Jan?k <Pavel@Janik.cz>
parents:
44299
diff
changeset
|
83 TIMER_EVENT, /* A timer fired. */ |
|
9484de301252
Rename enum event_kind items.
Pavel Jan?k <Pavel@Janik.cz>
parents:
44299
diff
changeset
|
84 MOUSE_CLICK_EVENT, /* The button number is in .code; it must |
|
1312
540110352c0d
* termhooks.h (struct input_event): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1238
diff
changeset
|
85 be >= 0 and < NUM_MOUSE_BUTTONS, defined |
|
540110352c0d
* termhooks.h (struct input_event): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1238
diff
changeset
|
86 below. |
| 296 | 87 .modifiers holds the state of the |
| 88 modifier keys. | |
| 89 .x and .y give the mouse position, | |
| 708 | 90 in characters, within the window. |
|
1782
5d58b9f1ff22
* termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1717
diff
changeset
|
91 .frame_or_window gives the frame |
|
5d58b9f1ff22
* termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1717
diff
changeset
|
92 the mouse click occurred in. |
| 296 | 93 .timestamp gives a timestamp (in |
| 94 milliseconds) for the click. */ | |
|
51383
8f30748bdf8f
(enum event_kind): Added new WHEEL_EVENT event.
Jason Rumney <jasonr@gnu.org>
parents:
49600
diff
changeset
|
95 WHEEL_EVENT, /* A wheel event is generated by a |
|
8f30748bdf8f
(enum event_kind): Added new WHEEL_EVENT event.
Jason Rumney <jasonr@gnu.org>
parents:
49600
diff
changeset
|
96 wheel on a mouse (e.g., MS |
|
8f30748bdf8f
(enum event_kind): Added new WHEEL_EVENT event.
Jason Rumney <jasonr@gnu.org>
parents:
49600
diff
changeset
|
97 Intellimouse). |
|
8f30748bdf8f
(enum event_kind): Added new WHEEL_EVENT event.
Jason Rumney <jasonr@gnu.org>
parents:
49600
diff
changeset
|
98 .modifiers holds the rotate |
|
8f30748bdf8f
(enum event_kind): Added new WHEEL_EVENT event.
Jason Rumney <jasonr@gnu.org>
parents:
49600
diff
changeset
|
99 direction (up or down), and the |
|
8f30748bdf8f
(enum event_kind): Added new WHEEL_EVENT event.
Jason Rumney <jasonr@gnu.org>
parents:
49600
diff
changeset
|
100 state of the modifier keys. |
|
8f30748bdf8f
(enum event_kind): Added new WHEEL_EVENT event.
Jason Rumney <jasonr@gnu.org>
parents:
49600
diff
changeset
|
101 .x and .y give the mouse position, |
|
8f30748bdf8f
(enum event_kind): Added new WHEEL_EVENT event.
Jason Rumney <jasonr@gnu.org>
parents:
49600
diff
changeset
|
102 in characters, within the window. |
|
8f30748bdf8f
(enum event_kind): Added new WHEEL_EVENT event.
Jason Rumney <jasonr@gnu.org>
parents:
49600
diff
changeset
|
103 .frame_or_window gives the frame |
|
8f30748bdf8f
(enum event_kind): Added new WHEEL_EVENT event.
Jason Rumney <jasonr@gnu.org>
parents:
49600
diff
changeset
|
104 the wheel event occurred in. |
|
8f30748bdf8f
(enum event_kind): Added new WHEEL_EVENT event.
Jason Rumney <jasonr@gnu.org>
parents:
49600
diff
changeset
|
105 .timestamp gives a timestamp (in |
|
8f30748bdf8f
(enum event_kind): Added new WHEEL_EVENT event.
Jason Rumney <jasonr@gnu.org>
parents:
49600
diff
changeset
|
106 milliseconds) for the event. */ |
|
61501
1ccfb57e0ed0
(enum event_kind) [MAC_OS]: Add LANGUAGE_CHANGE_EVENT.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
54168
diff
changeset
|
107 #if defined (WINDOWSNT) || defined (MAC_OS) |
|
1ccfb57e0ed0
(enum event_kind) [MAC_OS]: Add LANGUAGE_CHANGE_EVENT.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
54168
diff
changeset
|
108 LANGUAGE_CHANGE_EVENT, /* A LANGUAGE_CHANGE_EVENT is |
|
1ccfb57e0ed0
(enum event_kind) [MAC_OS]: Add LANGUAGE_CHANGE_EVENT.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
54168
diff
changeset
|
109 generated on WINDOWSNT or Mac OS |
|
1ccfb57e0ed0
(enum event_kind) [MAC_OS]: Add LANGUAGE_CHANGE_EVENT.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
54168
diff
changeset
|
110 when the keyboard layout or input |
|
1ccfb57e0ed0
(enum event_kind) [MAC_OS]: Add LANGUAGE_CHANGE_EVENT.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
54168
diff
changeset
|
111 language is changed by the |
|
23800
a7dd4cded68c
termhooks.h (event_kind) [WINDOWSNT]: Define
Geoff Voelker <voelker@cs.washington.edu>
parents:
21889
diff
changeset
|
112 user. */ |
|
19700
3c251b1dcdf5
(event_kind) [WINDOWSNT]: New event type: mouse_wheel.
Geoff Voelker <voelker@cs.washington.edu>
parents:
16588
diff
changeset
|
113 #endif |
|
45803
9484de301252
Rename enum event_kind items.
Pavel Jan?k <Pavel@Janik.cz>
parents:
44299
diff
changeset
|
114 SCROLL_BAR_CLICK_EVENT, /* .code gives the number of the mouse button |
|
1717
aa7d6d57504b
* frame.h (struct frame): New fields `can_have_scrollbars' and
Jim Blandy <jimb@redhat.com>
parents:
1319
diff
changeset
|
115 that was clicked. |
|
aa7d6d57504b
* frame.h (struct frame): New fields `can_have_scrollbars' and
Jim Blandy <jimb@redhat.com>
parents:
1319
diff
changeset
|
116 .modifiers holds the state of the modifier |
|
aa7d6d57504b
* frame.h (struct frame): New fields `can_have_scrollbars' and
Jim Blandy <jimb@redhat.com>
parents:
1319
diff
changeset
|
117 keys. |
| 296 | 118 .part is a lisp symbol indicating which |
|
1994
73ce9dd21093
Use the term `scroll bar', instead of `scrollbar'.
Jim Blandy <jimb@redhat.com>
parents:
1821
diff
changeset
|
119 part of the scroll bar got clicked. |
|
1717
aa7d6d57504b
* frame.h (struct frame): New fields `can_have_scrollbars' and
Jim Blandy <jimb@redhat.com>
parents:
1319
diff
changeset
|
120 .x gives the distance from the start of the |
|
aa7d6d57504b
* frame.h (struct frame): New fields `can_have_scrollbars' and
Jim Blandy <jimb@redhat.com>
parents:
1319
diff
changeset
|
121 scroll bar of the click; .y gives the total |
|
aa7d6d57504b
* frame.h (struct frame): New fields `can_have_scrollbars' and
Jim Blandy <jimb@redhat.com>
parents:
1319
diff
changeset
|
122 length of the scroll bar. |
|
1782
5d58b9f1ff22
* termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1717
diff
changeset
|
123 .frame_or_window gives the window |
|
1994
73ce9dd21093
Use the term `scroll bar', instead of `scrollbar'.
Jim Blandy <jimb@redhat.com>
parents:
1821
diff
changeset
|
124 whose scroll bar was clicked in. |
| 296 | 125 .timestamp gives a timestamp (in |
| 126 milliseconds) for the click. */ | |
|
15176
87c0298bd4f7
(enum scroll_bar_part): New alternatives
Richard M. Stallman <rms@gnu.org>
parents:
14407
diff
changeset
|
127 #ifdef WINDOWSNT |
|
45803
9484de301252
Rename enum event_kind items.
Pavel Jan?k <Pavel@Janik.cz>
parents:
44299
diff
changeset
|
128 W32_SCROLL_BAR_CLICK_EVENT, /* as for SCROLL_BAR_CLICK, but only generated |
|
15176
87c0298bd4f7
(enum scroll_bar_part): New alternatives
Richard M. Stallman <rms@gnu.org>
parents:
14407
diff
changeset
|
129 by MS-Windows scroll bar controls. */ |
|
87c0298bd4f7
(enum scroll_bar_part): New alternatives
Richard M. Stallman <rms@gnu.org>
parents:
14407
diff
changeset
|
130 #endif |
|
45803
9484de301252
Rename enum event_kind items.
Pavel Jan?k <Pavel@Janik.cz>
parents:
44299
diff
changeset
|
131 SELECTION_REQUEST_EVENT, /* Another X client wants a selection from us. |
|
67460
d74c30ee3772
(enum event_kind) [MAC_OS]: Add new MAC_APPLE_EVENT event.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64770
diff
changeset
|
132 See `struct selection_input_event'. */ |
|
45803
9484de301252
Rename enum event_kind items.
Pavel Jan?k <Pavel@Janik.cz>
parents:
44299
diff
changeset
|
133 SELECTION_CLEAR_EVENT, /* Another X client cleared our selection. */ |
|
9484de301252
Rename enum event_kind items.
Pavel Jan?k <Pavel@Janik.cz>
parents:
44299
diff
changeset
|
134 BUFFER_SWITCH_EVENT, /* A process filter has switched buffers. */ |
|
9484de301252
Rename enum event_kind items.
Pavel Jan?k <Pavel@Janik.cz>
parents:
44299
diff
changeset
|
135 DELETE_WINDOW_EVENT, /* An X client said "delete this window". */ |
|
30175
67c99cc46d03
(struct input_event): Add member `arg'.
Gerd Moellmann <gerd@gnu.org>
parents:
29514
diff
changeset
|
136 MENU_BAR_EVENT, /* An event generated by the menu bar. |
|
10798
6f71ef20581c
Update comments to reflect changes in xmenu.c.
Karl Heuer <kwzh@gnu.org>
parents:
9728
diff
changeset
|
137 The frame_or_window field's cdr holds the |
|
7097
34c94047f8f9
(menu_bar_event): New event type.
Richard M. Stallman <rms@gnu.org>
parents:
6747
diff
changeset
|
138 Lisp-level event value. |
|
34c94047f8f9
(menu_bar_event): New event type.
Richard M. Stallman <rms@gnu.org>
parents:
6747
diff
changeset
|
139 (Only the toolkit version uses these.) */ |
|
45803
9484de301252
Rename enum event_kind items.
Pavel Jan?k <Pavel@Janik.cz>
parents:
44299
diff
changeset
|
140 ICONIFY_EVENT, /* An X client iconified this window. */ |
|
9484de301252
Rename enum event_kind items.
Pavel Jan?k <Pavel@Janik.cz>
parents:
44299
diff
changeset
|
141 DEICONIFY_EVENT, /* An X client deiconified this window. */ |
|
9484de301252
Rename enum event_kind items.
Pavel Jan?k <Pavel@Janik.cz>
parents:
44299
diff
changeset
|
142 MENU_BAR_ACTIVATE_EVENT, /* A button press in the menu bar |
|
12660
8b9633307acc
(enum event_kind): Added menu_bar_activate_event.
Richard M. Stallman <rms@gnu.org>
parents:
10798
diff
changeset
|
143 (toolkit version only). */ |
|
45803
9484de301252
Rename enum event_kind items.
Pavel Jan?k <Pavel@Janik.cz>
parents:
44299
diff
changeset
|
144 DRAG_N_DROP_EVENT, /* A drag-n-drop event is generated when |
|
21889
93207874c93c
(event_kind): New event type `drag_n_drop'.
Richard M. Stallman <rms@gnu.org>
parents:
21515
diff
changeset
|
145 files selected outside of Emacs are dropped |
|
93207874c93c
(event_kind): New event type `drag_n_drop'.
Richard M. Stallman <rms@gnu.org>
parents:
21515
diff
changeset
|
146 onto an Emacs window. |
|
93207874c93c
(event_kind): New event type `drag_n_drop'.
Richard M. Stallman <rms@gnu.org>
parents:
21515
diff
changeset
|
147 Currently used only on Windows NT. |
|
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
48090
diff
changeset
|
148 .modifiers holds the state of the |
|
21889
93207874c93c
(event_kind): New event type `drag_n_drop'.
Richard M. Stallman <rms@gnu.org>
parents:
21515
diff
changeset
|
149 modifier keys. |
|
93207874c93c
(event_kind): New event type `drag_n_drop'.
Richard M. Stallman <rms@gnu.org>
parents:
21515
diff
changeset
|
150 .x and .y give the mouse position, |
|
93207874c93c
(event_kind): New event type `drag_n_drop'.
Richard M. Stallman <rms@gnu.org>
parents:
21515
diff
changeset
|
151 in characters, within the window. |
|
93207874c93c
(event_kind): New event type `drag_n_drop'.
Richard M. Stallman <rms@gnu.org>
parents:
21515
diff
changeset
|
152 .frame_or_window is a cons of the frame |
|
93207874c93c
(event_kind): New event type `drag_n_drop'.
Richard M. Stallman <rms@gnu.org>
parents:
21515
diff
changeset
|
153 in which the drop was made and a list of |
|
93207874c93c
(event_kind): New event type `drag_n_drop'.
Richard M. Stallman <rms@gnu.org>
parents:
21515
diff
changeset
|
154 the filenames of the dropped files. |
|
93207874c93c
(event_kind): New event type `drag_n_drop'.
Richard M. Stallman <rms@gnu.org>
parents:
21515
diff
changeset
|
155 .timestamp gives a timestamp (in |
|
93207874c93c
(event_kind): New event type `drag_n_drop'.
Richard M. Stallman <rms@gnu.org>
parents:
21515
diff
changeset
|
156 milliseconds) for the click. */ |
|
30175
67c99cc46d03
(struct input_event): Add member `arg'.
Gerd Moellmann <gerd@gnu.org>
parents:
29514
diff
changeset
|
157 USER_SIGNAL_EVENT, /* A user signal. |
|
67c99cc46d03
(struct input_event): Add member `arg'.
Gerd Moellmann <gerd@gnu.org>
parents:
29514
diff
changeset
|
158 code is a number identifying it, |
|
25001
65dabc032485
(scroll_bar_end_scroll): New.
Gerd Moellmann <gerd@gnu.org>
parents:
24376
diff
changeset
|
159 index into lispy_user_signals. */ |
|
65dabc032485
(scroll_bar_end_scroll): New.
Gerd Moellmann <gerd@gnu.org>
parents:
24376
diff
changeset
|
160 |
|
30175
67c99cc46d03
(struct input_event): Add member `arg'.
Gerd Moellmann <gerd@gnu.org>
parents:
29514
diff
changeset
|
161 /* Help events. Member `frame_or_window' of the input_event is the |
|
67c99cc46d03
(struct input_event): Add member `arg'.
Gerd Moellmann <gerd@gnu.org>
parents:
29514
diff
changeset
|
162 frame on which the event occurred, and member `arg' contains |
|
67c99cc46d03
(struct input_event): Add member `arg'.
Gerd Moellmann <gerd@gnu.org>
parents:
29514
diff
changeset
|
163 the help to show. */ |
|
25001
65dabc032485
(scroll_bar_end_scroll): New.
Gerd Moellmann <gerd@gnu.org>
parents:
24376
diff
changeset
|
164 HELP_EVENT, |
|
65dabc032485
(scroll_bar_end_scroll): New.
Gerd Moellmann <gerd@gnu.org>
parents:
24376
diff
changeset
|
165 |
|
30175
67c99cc46d03
(struct input_event): Add member `arg'.
Gerd Moellmann <gerd@gnu.org>
parents:
29514
diff
changeset
|
166 /* An event from a tool-bar. Member `arg' of the input event |
|
67c99cc46d03
(struct input_event): Add member `arg'.
Gerd Moellmann <gerd@gnu.org>
parents:
29514
diff
changeset
|
167 contains the tool-bar item selected. If `frame_or_window' |
|
67c99cc46d03
(struct input_event): Add member `arg'.
Gerd Moellmann <gerd@gnu.org>
parents:
29514
diff
changeset
|
168 and `arg' are equal, this is a prefix event. */ |
|
29514
e31f78844157
(enum event_kind): Add FOCUS_IN_EVENT.
Gerd Moellmann <gerd@gnu.org>
parents:
28482
diff
changeset
|
169 TOOL_BAR_EVENT, |
|
e31f78844157
(enum event_kind): Add FOCUS_IN_EVENT.
Gerd Moellmann <gerd@gnu.org>
parents:
28482
diff
changeset
|
170 |
|
e31f78844157
(enum event_kind): Add FOCUS_IN_EVENT.
Gerd Moellmann <gerd@gnu.org>
parents:
28482
diff
changeset
|
171 /* Queued from XTread_socket on FocusIn events. Translated into |
|
e31f78844157
(enum event_kind): Add FOCUS_IN_EVENT.
Gerd Moellmann <gerd@gnu.org>
parents:
28482
diff
changeset
|
172 `switch-frame' events in kbd_buffer_get_event, if necessary. */ |
|
43813
7c1c9baea70f
(enum event_kind): Added save_session_event.
Jan Dj?rv <jan.h.d@swipnet.se>
parents:
40080
diff
changeset
|
173 FOCUS_IN_EVENT, |
|
7c1c9baea70f
(enum event_kind): Added save_session_event.
Jan Dj?rv <jan.h.d@swipnet.se>
parents:
40080
diff
changeset
|
174 |
|
44299
b7f9e859425a
(enum event_kind): New event type `SELECT_WINDOW_EVENT'.
Pavel Jan?k <Pavel@Janik.cz>
parents:
43813
diff
changeset
|
175 /* Generated when mouse moves over window not currently selected. */ |
|
b7f9e859425a
(enum event_kind): New event type `SELECT_WINDOW_EVENT'.
Pavel Jan?k <Pavel@Janik.cz>
parents:
43813
diff
changeset
|
176 SELECT_WINDOW_EVENT, |
|
b7f9e859425a
(enum event_kind): New event type `SELECT_WINDOW_EVENT'.
Pavel Jan?k <Pavel@Janik.cz>
parents:
43813
diff
changeset
|
177 |
|
43813
7c1c9baea70f
(enum event_kind): Added save_session_event.
Jan Dj?rv <jan.h.d@swipnet.se>
parents:
40080
diff
changeset
|
178 /* Queued from XTread_socket when session manager sends |
|
7c1c9baea70f
(enum event_kind): Added save_session_event.
Jan Dj?rv <jan.h.d@swipnet.se>
parents:
40080
diff
changeset
|
179 save yourself before shutdown. */ |
|
67460
d74c30ee3772
(enum event_kind) [MAC_OS]: Add new MAC_APPLE_EVENT event.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64770
diff
changeset
|
180 SAVE_SESSION_EVENT, |
|
d74c30ee3772
(enum event_kind) [MAC_OS]: Add new MAC_APPLE_EVENT event.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64770
diff
changeset
|
181 |
|
d74c30ee3772
(enum event_kind) [MAC_OS]: Add new MAC_APPLE_EVENT event.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64770
diff
changeset
|
182 #ifdef MAC_OS |
|
d74c30ee3772
(enum event_kind) [MAC_OS]: Add new MAC_APPLE_EVENT event.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64770
diff
changeset
|
183 /* Generated when an Apple event, a HICommand event, or a Services |
|
d74c30ee3772
(enum event_kind) [MAC_OS]: Add new MAC_APPLE_EVENT event.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64770
diff
changeset
|
184 menu event is received and the corresponding handler is |
|
d74c30ee3772
(enum event_kind) [MAC_OS]: Add new MAC_APPLE_EVENT event.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64770
diff
changeset
|
185 registered. Members `x' and `y' are for the event class and ID |
|
d74c30ee3772
(enum event_kind) [MAC_OS]: Add new MAC_APPLE_EVENT event.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64770
diff
changeset
|
186 symbols, respectively. Member `code' points to the Apple event |
|
d74c30ee3772
(enum event_kind) [MAC_OS]: Add new MAC_APPLE_EVENT event.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64770
diff
changeset
|
187 descriptor. Parameters for Non-Apple events are converted to |
|
d74c30ee3772
(enum event_kind) [MAC_OS]: Add new MAC_APPLE_EVENT event.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64770
diff
changeset
|
188 those in Apple events. */ |
|
d74c30ee3772
(enum event_kind) [MAC_OS]: Add new MAC_APPLE_EVENT event.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64770
diff
changeset
|
189 MAC_APPLE_EVENT |
|
d74c30ee3772
(enum event_kind) [MAC_OS]: Add new MAC_APPLE_EVENT event.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64770
diff
changeset
|
190 #endif |
|
2186
82e8ee492593
(selection_request_event, selection_clear_event): New event kinds.
Richard M. Stallman <rms@gnu.org>
parents:
2046
diff
changeset
|
191 }; |
|
82e8ee492593
(selection_request_event, selection_clear_event): New event kinds.
Richard M. Stallman <rms@gnu.org>
parents:
2046
diff
changeset
|
192 |
|
45803
9484de301252
Rename enum event_kind items.
Pavel Jan?k <Pavel@Janik.cz>
parents:
44299
diff
changeset
|
193 /* If a struct input_event has a kind which is SELECTION_REQUEST_EVENT |
|
9484de301252
Rename enum event_kind items.
Pavel Jan?k <Pavel@Janik.cz>
parents:
44299
diff
changeset
|
194 or SELECTION_CLEAR_EVENT, then its contents are really described |
|
67460
d74c30ee3772
(enum event_kind) [MAC_OS]: Add new MAC_APPLE_EVENT event.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64770
diff
changeset
|
195 by `struct selection_input_event'; see xterm.h. */ |
|
2186
82e8ee492593
(selection_request_event, selection_clear_event): New event kinds.
Richard M. Stallman <rms@gnu.org>
parents:
2046
diff
changeset
|
196 |
|
82e8ee492593
(selection_request_event, selection_clear_event): New event kinds.
Richard M. Stallman <rms@gnu.org>
parents:
2046
diff
changeset
|
197 /* The keyboard input buffer is an array of these structures. Each one |
|
82e8ee492593
(selection_request_event, selection_clear_event): New event kinds.
Richard M. Stallman <rms@gnu.org>
parents:
2046
diff
changeset
|
198 represents some sort of input event - a keystroke, a mouse click, or |
|
82e8ee492593
(selection_request_event, selection_clear_event): New event kinds.
Richard M. Stallman <rms@gnu.org>
parents:
2046
diff
changeset
|
199 a window system event. These get turned into their lispy forms when |
|
82e8ee492593
(selection_request_event, selection_clear_event): New event kinds.
Richard M. Stallman <rms@gnu.org>
parents:
2046
diff
changeset
|
200 they are removed from the event queue. */ |
|
82e8ee492593
(selection_request_event, selection_clear_event): New event kinds.
Richard M. Stallman <rms@gnu.org>
parents:
2046
diff
changeset
|
201 |
|
14393
c977e0ae56b4
(struct input_event): New field `padding'.
Richard M. Stallman <rms@gnu.org>
parents:
14186
diff
changeset
|
202 struct input_event |
|
c977e0ae56b4
(struct input_event): New field `padding'.
Richard M. Stallman <rms@gnu.org>
parents:
14186
diff
changeset
|
203 { |
|
2186
82e8ee492593
(selection_request_event, selection_clear_event): New event kinds.
Richard M. Stallman <rms@gnu.org>
parents:
2046
diff
changeset
|
204 /* What kind of event was this? */ |
|
39583
936ffa2961ca
(struct input_event): Use proper type for `kind'.
Gerd Moellmann <gerd@gnu.org>
parents:
30750
diff
changeset
|
205 enum event_kind kind; |
|
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
48090
diff
changeset
|
206 |
|
45803
9484de301252
Rename enum event_kind items.
Pavel Jan?k <Pavel@Janik.cz>
parents:
44299
diff
changeset
|
207 /* For an ASCII_KEYSTROKE_EVENT and MULTIBYTE_CHAR_KEYSTROKE_EVENT, |
|
9484de301252
Rename enum event_kind items.
Pavel Jan?k <Pavel@Janik.cz>
parents:
44299
diff
changeset
|
208 this is the character. |
|
9484de301252
Rename enum event_kind items.
Pavel Jan?k <Pavel@Janik.cz>
parents:
44299
diff
changeset
|
209 For a NON_ASCII_KEYSTROKE_EVENT, this is the keysym code. |
|
5361
f8be998bdeba
(struct input_event): FIx typo in previous change.
Richard M. Stallman <rms@gnu.org>
parents:
5226
diff
changeset
|
210 For a mouse event, this is the button number. */ |
|
19700
3c251b1dcdf5
(event_kind) [WINDOWSNT]: New event type: mouse_wheel.
Geoff Voelker <voelker@cs.washington.edu>
parents:
16588
diff
changeset
|
211 /* In WindowsNT, for a mouse wheel event, this is the delta. */ |
|
5226
4891291b5785
(struct input_event): `code' is now an int.
Richard M. Stallman <rms@gnu.org>
parents:
5106
diff
changeset
|
212 int code; |
|
1994
73ce9dd21093
Use the term `scroll bar', instead of `scrollbar'.
Jim Blandy <jimb@redhat.com>
parents:
1821
diff
changeset
|
213 enum scroll_bar_part part; |
| 732 | 214 |
|
14161
670721a540c8
(struct input_event): Put frame_or_window last.
Richard M. Stallman <rms@gnu.org>
parents:
14034
diff
changeset
|
215 int modifiers; /* See enum below for interpretation. */ |
|
670721a540c8
(struct input_event): Put frame_or_window last.
Richard M. Stallman <rms@gnu.org>
parents:
14034
diff
changeset
|
216 |
|
670721a540c8
(struct input_event): Put frame_or_window last.
Richard M. Stallman <rms@gnu.org>
parents:
14034
diff
changeset
|
217 Lisp_Object x, y; |
|
670721a540c8
(struct input_event): Put frame_or_window last.
Richard M. Stallman <rms@gnu.org>
parents:
14034
diff
changeset
|
218 unsigned long timestamp; |
|
670721a540c8
(struct input_event): Put frame_or_window last.
Richard M. Stallman <rms@gnu.org>
parents:
14034
diff
changeset
|
219 |
|
14393
c977e0ae56b4
(struct input_event): New field `padding'.
Richard M. Stallman <rms@gnu.org>
parents:
14186
diff
changeset
|
220 /* This is padding just to put the frame_or_window field |
|
67460
d74c30ee3772
(enum event_kind) [MAC_OS]: Add new MAC_APPLE_EVENT event.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
64770
diff
changeset
|
221 past the size of struct selection_input_event. */ |
|
14393
c977e0ae56b4
(struct input_event): New field `padding'.
Richard M. Stallman <rms@gnu.org>
parents:
14186
diff
changeset
|
222 int *padding[2]; |
|
c977e0ae56b4
(struct input_event): New field `padding'.
Richard M. Stallman <rms@gnu.org>
parents:
14186
diff
changeset
|
223 |
|
1782
5d58b9f1ff22
* termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1717
diff
changeset
|
224 /* This field is copied into a vector while the event is in the queue, |
|
5d58b9f1ff22
* termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1717
diff
changeset
|
225 so that garbage collections won't kill it. */ |
|
10798
6f71ef20581c
Update comments to reflect changes in xmenu.c.
Karl Heuer <kwzh@gnu.org>
parents:
9728
diff
changeset
|
226 /* In a menu_bar_event, this is a cons cell whose car is the frame |
|
6f71ef20581c
Update comments to reflect changes in xmenu.c.
Karl Heuer <kwzh@gnu.org>
parents:
9728
diff
changeset
|
227 and whose cdr is the Lisp object that is the event's value. */ |
|
14161
670721a540c8
(struct input_event): Put frame_or_window last.
Richard M. Stallman <rms@gnu.org>
parents:
14034
diff
changeset
|
228 /* This field is last so that struct selection_input_event |
|
670721a540c8
(struct input_event): Put frame_or_window last.
Richard M. Stallman <rms@gnu.org>
parents:
14034
diff
changeset
|
229 does not overlap with it. */ |
|
1782
5d58b9f1ff22
* termhooks.h (mouse_position_hook): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1717
diff
changeset
|
230 Lisp_Object frame_or_window; |
|
30175
67c99cc46d03
(struct input_event): Add member `arg'.
Gerd Moellmann <gerd@gnu.org>
parents:
29514
diff
changeset
|
231 |
|
67c99cc46d03
(struct input_event): Add member `arg'.
Gerd Moellmann <gerd@gnu.org>
parents:
29514
diff
changeset
|
232 /* Additional event argument. This is used for TOOL_BAR_EVENTs and |
|
67c99cc46d03
(struct input_event): Add member `arg'.
Gerd Moellmann <gerd@gnu.org>
parents:
29514
diff
changeset
|
233 HELP_EVENTs and avoids calling Fcons during signal handling. */ |
|
67c99cc46d03
(struct input_event): Add member `arg'.
Gerd Moellmann <gerd@gnu.org>
parents:
29514
diff
changeset
|
234 Lisp_Object arg; |
| 296 | 235 }; |
| 21515 | 236 |
|
51568
5dc40bf1e32a
(EVENT_INIT): New macro.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
51466
diff
changeset
|
237 #define EVENT_INIT(event) bzero (&(event), sizeof (struct input_event)) |
|
5dc40bf1e32a
(EVENT_INIT): New macro.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
51466
diff
changeset
|
238 |
|
1238
407100cee78a
* termhooks.h (alt_modifier, hyper_modifier, super_modifier,
Jim Blandy <jimb@redhat.com>
parents:
766
diff
changeset
|
239 /* Bits in the modifiers member of the input_event structure. |
|
407100cee78a
* termhooks.h (alt_modifier, hyper_modifier, super_modifier,
Jim Blandy <jimb@redhat.com>
parents:
766
diff
changeset
|
240 Note that reorder_modifiers assumes that the bits are in canonical |
|
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
48090
diff
changeset
|
241 order. |
|
1312
540110352c0d
* termhooks.h (struct input_event): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1238
diff
changeset
|
242 |
|
540110352c0d
* termhooks.h (struct input_event): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1238
diff
changeset
|
243 The modifiers applied to mouse clicks are rather ornate. The |
|
540110352c0d
* termhooks.h (struct input_event): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1238
diff
changeset
|
244 window-system-specific code should store mouse clicks with |
| 1319 | 245 up_modifier or down_modifier set. Having an explicit down modifier |
| 246 simplifies some of window-system-independent code; without it, the | |
| 247 code would have to recognize down events by checking if the event | |
| 248 is a mouse click lacking the click and drag modifiers. | |
| 249 | |
| 250 The window-system independent code turns all up_modifier events | |
|
3861
fc8c92b69513
* keyboard.c (make_lispy_event): Added detection of double-click
Jim Blandy <jimb@redhat.com>
parents:
2659
diff
changeset
|
251 bits into drag_modifier, click_modifier, double_modifier, or |
|
fc8c92b69513
* keyboard.c (make_lispy_event): Added detection of double-click
Jim Blandy <jimb@redhat.com>
parents:
2659
diff
changeset
|
252 triple_modifier events. The click_modifier has no written |
|
fc8c92b69513
* keyboard.c (make_lispy_event): Added detection of double-click
Jim Blandy <jimb@redhat.com>
parents:
2659
diff
changeset
|
253 representation in the names of the symbols used as event heads, |
|
fc8c92b69513
* keyboard.c (make_lispy_event): Added detection of double-click
Jim Blandy <jimb@redhat.com>
parents:
2659
diff
changeset
|
254 but it does appear in the Qevent_symbol_components property of the |
|
fc8c92b69513
* keyboard.c (make_lispy_event): Added detection of double-click
Jim Blandy <jimb@redhat.com>
parents:
2659
diff
changeset
|
255 event heads. */ |
| 296 | 256 enum { |
|
1312
540110352c0d
* termhooks.h (struct input_event): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1238
diff
changeset
|
257 up_modifier = 1, /* Only used on mouse buttons - always |
|
540110352c0d
* termhooks.h (struct input_event): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1238
diff
changeset
|
258 turned into a click or a drag modifier |
|
540110352c0d
* termhooks.h (struct input_event): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1238
diff
changeset
|
259 before lisp code sees the event. */ |
|
2659
3e8799eff918
* lisp.h (CHAR_ALT, CHAR_SUPER, CHAR_HYPER): New constants, in
Jim Blandy <jimb@redhat.com>
parents:
2186
diff
changeset
|
260 down_modifier = 2, /* Only used on mouse buttons. */ |
|
3e8799eff918
* lisp.h (CHAR_ALT, CHAR_SUPER, CHAR_HYPER): New constants, in
Jim Blandy <jimb@redhat.com>
parents:
2186
diff
changeset
|
261 drag_modifier = 4, /* This is never used in the event |
|
1312
540110352c0d
* termhooks.h (struct input_event): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1238
diff
changeset
|
262 queue; it's only used internally by |
|
540110352c0d
* termhooks.h (struct input_event): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
1238
diff
changeset
|
263 the window-system-independent code. */ |
|
2659
3e8799eff918
* lisp.h (CHAR_ALT, CHAR_SUPER, CHAR_HYPER): New constants, in
Jim Blandy <jimb@redhat.com>
parents:
2186
diff
changeset
|
264 click_modifier= 8, /* See drag_modifier. */ |
|
3861
fc8c92b69513
* keyboard.c (make_lispy_event): Added detection of double-click
Jim Blandy <jimb@redhat.com>
parents:
2659
diff
changeset
|
265 double_modifier= 16, /* See drag_modifier. */ |
|
fc8c92b69513
* keyboard.c (make_lispy_event): Added detection of double-click
Jim Blandy <jimb@redhat.com>
parents:
2659
diff
changeset
|
266 triple_modifier= 32, /* See drag_modifier. */ |
|
2659
3e8799eff918
* lisp.h (CHAR_ALT, CHAR_SUPER, CHAR_HYPER): New constants, in
Jim Blandy <jimb@redhat.com>
parents:
2186
diff
changeset
|
267 |
|
3e8799eff918
* lisp.h (CHAR_ALT, CHAR_SUPER, CHAR_HYPER): New constants, in
Jim Blandy <jimb@redhat.com>
parents:
2186
diff
changeset
|
268 /* The next four modifier bits are used also in keyboard events at |
|
3e8799eff918
* lisp.h (CHAR_ALT, CHAR_SUPER, CHAR_HYPER): New constants, in
Jim Blandy <jimb@redhat.com>
parents:
2186
diff
changeset
|
269 the Lisp level. |
|
2046
9e30cf115e63
(alt_modifier, super_modifier, hyper_modifier):
Richard M. Stallman <rms@gnu.org>
parents:
1994
diff
changeset
|
270 |
|
2659
3e8799eff918
* lisp.h (CHAR_ALT, CHAR_SUPER, CHAR_HYPER): New constants, in
Jim Blandy <jimb@redhat.com>
parents:
2186
diff
changeset
|
271 It's probably not the greatest idea to use the 2^23 bit for any |
|
3e8799eff918
* lisp.h (CHAR_ALT, CHAR_SUPER, CHAR_HYPER): New constants, in
Jim Blandy <jimb@redhat.com>
parents:
2186
diff
changeset
|
272 modifier. It may or may not be the sign bit, depending on |
|
3e8799eff918
* lisp.h (CHAR_ALT, CHAR_SUPER, CHAR_HYPER): New constants, in
Jim Blandy <jimb@redhat.com>
parents:
2186
diff
changeset
|
273 VALBITS, so using it to represent a modifier key means that |
|
3e8799eff918
* lisp.h (CHAR_ALT, CHAR_SUPER, CHAR_HYPER): New constants, in
Jim Blandy <jimb@redhat.com>
parents:
2186
diff
changeset
|
274 characters thus modified have different integer equivalents |
|
3e8799eff918
* lisp.h (CHAR_ALT, CHAR_SUPER, CHAR_HYPER): New constants, in
Jim Blandy <jimb@redhat.com>
parents:
2186
diff
changeset
|
275 depending on the architecture they're running on. Oh, and |
|
3e8799eff918
* lisp.h (CHAR_ALT, CHAR_SUPER, CHAR_HYPER): New constants, in
Jim Blandy <jimb@redhat.com>
parents:
2186
diff
changeset
|
276 applying XINT to a character whose 2^23 bit is set sign-extends |
|
3e8799eff918
* lisp.h (CHAR_ALT, CHAR_SUPER, CHAR_HYPER): New constants, in
Jim Blandy <jimb@redhat.com>
parents:
2186
diff
changeset
|
277 it, so you get a bunch of bits in the mask you didn't want. |
|
3e8799eff918
* lisp.h (CHAR_ALT, CHAR_SUPER, CHAR_HYPER): New constants, in
Jim Blandy <jimb@redhat.com>
parents:
2186
diff
changeset
|
278 |
|
3e8799eff918
* lisp.h (CHAR_ALT, CHAR_SUPER, CHAR_HYPER): New constants, in
Jim Blandy <jimb@redhat.com>
parents:
2186
diff
changeset
|
279 The CHAR_ macros are defined in lisp.h. */ |
|
3e8799eff918
* lisp.h (CHAR_ALT, CHAR_SUPER, CHAR_HYPER): New constants, in
Jim Blandy <jimb@redhat.com>
parents:
2186
diff
changeset
|
280 alt_modifier = CHAR_ALT, /* Under X, the XK_Alt_[LR] keysyms. */ |
|
3e8799eff918
* lisp.h (CHAR_ALT, CHAR_SUPER, CHAR_HYPER): New constants, in
Jim Blandy <jimb@redhat.com>
parents:
2186
diff
changeset
|
281 super_modifier= CHAR_SUPER, /* Under X, the XK_Super_[LR] keysyms. */ |
|
3e8799eff918
* lisp.h (CHAR_ALT, CHAR_SUPER, CHAR_HYPER): New constants, in
Jim Blandy <jimb@redhat.com>
parents:
2186
diff
changeset
|
282 hyper_modifier= CHAR_HYPER, /* Under X, the XK_Hyper_[LR] keysyms. */ |
|
3e8799eff918
* lisp.h (CHAR_ALT, CHAR_SUPER, CHAR_HYPER): New constants, in
Jim Blandy <jimb@redhat.com>
parents:
2186
diff
changeset
|
283 shift_modifier= CHAR_SHIFT, |
|
3e8799eff918
* lisp.h (CHAR_ALT, CHAR_SUPER, CHAR_HYPER): New constants, in
Jim Blandy <jimb@redhat.com>
parents:
2186
diff
changeset
|
284 ctrl_modifier = CHAR_CTL, |
|
4569
9ea563d584f4
(enum event_kind): Delete final comma.
Richard M. Stallman <rms@gnu.org>
parents:
4143
diff
changeset
|
285 meta_modifier = CHAR_META /* Under X, the XK_Meta_[LR] keysyms. */ |
| 296 | 286 }; |
| 287 | |
|
82990
2ecd1f669db9
Fixed X support, preliminary support for X-tty combo sessions.
Karoly Lorentey <lorentey@elte.hu>
parents:
82989
diff
changeset
|
288 #endif /* CONSP */ |
| 52401 | 289 |
|
83004
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
290 |
|
83342
9216636c02fc
Rename `struct display' to `struct device'. Update function, parameter and variable names accordingly.
Karoly Lorentey <lorentey@elte.hu>
parents:
83332
diff
changeset
|
291 /* Device-local parameters. */ |
|
9216636c02fc
Rename `struct display' to `struct device'. Update function, parameter and variable names accordingly.
Karoly Lorentey <lorentey@elte.hu>
parents:
83332
diff
changeset
|
292 struct device |
|
83004
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
293 { |
|
83342
9216636c02fc
Rename `struct display' to `struct device'. Update function, parameter and variable names accordingly.
Karoly Lorentey <lorentey@elte.hu>
parents:
83332
diff
changeset
|
294 /* Chain of all display devices. */ |
|
9216636c02fc
Rename `struct display' to `struct device'. Update function, parameter and variable names accordingly.
Karoly Lorentey <lorentey@elte.hu>
parents:
83332
diff
changeset
|
295 struct device *next_device; |
|
83004
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
296 |
|
83342
9216636c02fc
Rename `struct display' to `struct device'. Update function, parameter and variable names accordingly.
Karoly Lorentey <lorentey@elte.hu>
parents:
83332
diff
changeset
|
297 /* Unique id for this display device. */ |
|
83167
69ebc75cb461
Implemented display ids for multiple emacsclients on the same tty. Plus assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83127
diff
changeset
|
298 int id; |
|
69ebc75cb461
Implemented display ids for multiple emacsclients on the same tty. Plus assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83127
diff
changeset
|
299 |
|
83342
9216636c02fc
Rename `struct display' to `struct device'. Update function, parameter and variable names accordingly.
Karoly Lorentey <lorentey@elte.hu>
parents:
83332
diff
changeset
|
300 /* The number of frames that are on this device. */ |
|
83004
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
301 int reference_count; |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
302 |
|
83342
9216636c02fc
Rename `struct display' to `struct device'. Update function, parameter and variable names accordingly.
Karoly Lorentey <lorentey@elte.hu>
parents:
83332
diff
changeset
|
303 /* The type of the display device. */ |
|
83004
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
304 enum output_method type; |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
305 |
|
83342
9216636c02fc
Rename `struct display' to `struct device'. Update function, parameter and variable names accordingly.
Karoly Lorentey <lorentey@elte.hu>
parents:
83332
diff
changeset
|
306 /* The name of the display device. Do not use this to identify the device. */ |
|
83167
69ebc75cb461
Implemented display ids for multiple emacsclients on the same tty. Plus assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83127
diff
changeset
|
307 char *name; |
|
69ebc75cb461
Implemented display ids for multiple emacsclients on the same tty. Plus assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83127
diff
changeset
|
308 |
|
83323
61487e73bbc2
Cleanup: Move kboard fields from struct frame and device-specific descriptors to struct display.
Karoly Lorentey <lorentey@elte.hu>
parents:
83298
diff
changeset
|
309 #ifdef MULTI_KBOARD |
|
61487e73bbc2
Cleanup: Move kboard fields from struct frame and device-specific descriptors to struct display.
Karoly Lorentey <lorentey@elte.hu>
parents:
83298
diff
changeset
|
310 /* The device's keyboard object. */ |
|
61487e73bbc2
Cleanup: Move kboard fields from struct frame and device-specific descriptors to struct display.
Karoly Lorentey <lorentey@elte.hu>
parents:
83298
diff
changeset
|
311 struct kboard *kboard; |
| 296 | 312 #endif |
| 52401 | 313 |
|
83342
9216636c02fc
Rename `struct display' to `struct device'. Update function, parameter and variable names accordingly.
Karoly Lorentey <lorentey@elte.hu>
parents:
83332
diff
changeset
|
314 /* Device-type dependent data shared amongst all frames on this display. */ |
|
83004
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
315 union display_info |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
316 { |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
317 struct tty_display_info *tty; /* termchar.h */ |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
318 struct x_display_info *x; /* xterm.h */ |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
319 } display_info; |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
320 |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
321 |
|
83127
5182815e0ee1
Make terminal_coding and keyboard_coding display-local.
Karoly Lorentey <lorentey@elte.hu>
parents:
83100
diff
changeset
|
322 /* Coding-system to be used for encoding terminal output. This |
|
5182815e0ee1
Make terminal_coding and keyboard_coding display-local.
Karoly Lorentey <lorentey@elte.hu>
parents:
83100
diff
changeset
|
323 structure contains information of a coding-system specified by |
|
5182815e0ee1
Make terminal_coding and keyboard_coding display-local.
Karoly Lorentey <lorentey@elte.hu>
parents:
83100
diff
changeset
|
324 the function `set-terminal-coding-system'. Also see |
|
5182815e0ee1
Make terminal_coding and keyboard_coding display-local.
Karoly Lorentey <lorentey@elte.hu>
parents:
83100
diff
changeset
|
325 `safe_terminal_coding' in coding.h. */ |
|
5182815e0ee1
Make terminal_coding and keyboard_coding display-local.
Karoly Lorentey <lorentey@elte.hu>
parents:
83100
diff
changeset
|
326 struct coding_system *terminal_coding; |
|
5182815e0ee1
Make terminal_coding and keyboard_coding display-local.
Karoly Lorentey <lorentey@elte.hu>
parents:
83100
diff
changeset
|
327 |
|
5182815e0ee1
Make terminal_coding and keyboard_coding display-local.
Karoly Lorentey <lorentey@elte.hu>
parents:
83100
diff
changeset
|
328 /* Coding-system of what is sent from terminal keyboard. This |
|
5182815e0ee1
Make terminal_coding and keyboard_coding display-local.
Karoly Lorentey <lorentey@elte.hu>
parents:
83100
diff
changeset
|
329 structure contains information of a coding-system specified by |
|
5182815e0ee1
Make terminal_coding and keyboard_coding display-local.
Karoly Lorentey <lorentey@elte.hu>
parents:
83100
diff
changeset
|
330 the function `set-keyboard-coding-system'. */ |
|
5182815e0ee1
Make terminal_coding and keyboard_coding display-local.
Karoly Lorentey <lorentey@elte.hu>
parents:
83100
diff
changeset
|
331 struct coding_system *keyboard_coding; |
|
5182815e0ee1
Make terminal_coding and keyboard_coding display-local.
Karoly Lorentey <lorentey@elte.hu>
parents:
83100
diff
changeset
|
332 |
|
83004
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
333 /* Terminal characteristics. */ |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
334 /* XXX Are these really used on non-termcap displays? */ |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
335 |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
336 int must_write_spaces; /* Nonzero means spaces in the text must |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
337 actually be output; can't just skip over |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
338 some columns to leave them blank. */ |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
339 int fast_clear_end_of_line; /* Nonzero means terminal has a `ce' string */ |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
340 |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
341 int line_ins_del_ok; /* Terminal can insert and delete lines */ |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
342 int char_ins_del_ok; /* Terminal can insert and delete chars */ |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
343 int scroll_region_ok; /* Terminal supports setting the scroll |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
344 window */ |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
345 int scroll_region_cost; /* Cost of setting the scroll window, |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
346 measured in characters. */ |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
347 int memory_below_frame; /* Terminal remembers lines scrolled |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
348 off bottom */ |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
349 |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
350 #if 0 /* These are not used anywhere. */ |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
351 /* EMACS_INT baud_rate; */ /* Output speed in baud */ |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
352 int min_padding_speed; /* Speed below which no padding necessary. */ |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
353 int dont_calculate_costs; /* Nonzero means don't bother computing |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
354 various cost tables; we won't use them. */ |
| 296 | 355 #endif |
| 52401 | 356 |
|
83004
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
357 |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
358 /* Window-based redisplay interface for this device (0 for tty |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
359 devices). */ |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
360 struct redisplay_interface *rif; |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
361 |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
362 /* Frame-based redisplay interface. */ |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
363 |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
364 /* Text display hooks. */ |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
365 |
|
83100
4970ad4995f5
Eliminated updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents:
83067
diff
changeset
|
366 void (*cursor_to_hook) P_ ((struct frame *f, int vpos, int hpos)); |
|
4970ad4995f5
Eliminated updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents:
83067
diff
changeset
|
367 void (*raw_cursor_to_hook) P_ ((struct frame *, int, int)); |
|
83004
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
368 |
|
83100
4970ad4995f5
Eliminated updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents:
83067
diff
changeset
|
369 void (*clear_to_end_hook) P_ ((struct frame *)); |
|
4970ad4995f5
Eliminated updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents:
83067
diff
changeset
|
370 void (*clear_frame_hook) P_ ((struct frame *)); |
|
4970ad4995f5
Eliminated updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents:
83067
diff
changeset
|
371 void (*clear_end_of_line_hook) P_ ((struct frame *, int)); |
|
83004
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
372 |
|
83100
4970ad4995f5
Eliminated updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents:
83067
diff
changeset
|
373 void (*ins_del_lines_hook) P_ ((struct frame *f, int, int)); |
|
83004
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
374 |
|
83100
4970ad4995f5
Eliminated updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents:
83067
diff
changeset
|
375 void (*insert_glyphs_hook) P_ ((struct frame *f, struct glyph *s, int n)); |
|
4970ad4995f5
Eliminated updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents:
83067
diff
changeset
|
376 void (*write_glyphs_hook) P_ ((struct frame *f, struct glyph *s, int n)); |
|
4970ad4995f5
Eliminated updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents:
83067
diff
changeset
|
377 void (*delete_glyphs_hook) P_ ((struct frame *, int)); |
|
83004
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
378 |
|
83100
4970ad4995f5
Eliminated updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents:
83067
diff
changeset
|
379 void (*ring_bell_hook) P_ ((struct frame *f)); |
|
83004
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
380 |
|
83342
9216636c02fc
Rename `struct display' to `struct device'. Update function, parameter and variable names accordingly.
Karoly Lorentey <lorentey@elte.hu>
parents:
83332
diff
changeset
|
381 void (*reset_terminal_modes_hook) P_ ((struct device *)); |
|
9216636c02fc
Rename `struct display' to `struct device'. Update function, parameter and variable names accordingly.
Karoly Lorentey <lorentey@elte.hu>
parents:
83332
diff
changeset
|
382 void (*set_terminal_modes_hook) P_ ((struct device *)); |
|
83100
4970ad4995f5
Eliminated updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents:
83067
diff
changeset
|
383 |
|
83004
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
384 void (*update_begin_hook) P_ ((struct frame *)); |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
385 void (*update_end_hook) P_ ((struct frame *)); |
|
83100
4970ad4995f5
Eliminated updating_frame.
Karoly Lorentey <lorentey@elte.hu>
parents:
83067
diff
changeset
|
386 void (*set_terminal_window_hook) P_ ((struct frame *, int)); |
|
83004
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
387 |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
388 /* Multi-frame and mouse support hooks. */ |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
389 |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
390 /* Return the current position of the mouse. |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
391 |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
392 Set *f to the frame the mouse is in, or zero if the mouse is in no |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
393 Emacs frame. If it is set to zero, all the other arguments are |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
394 garbage. |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
395 |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
396 If the motion started in a scroll bar, set *bar_window to the |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
397 scroll bar's window, *part to the part the mouse is currently over, |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
398 *x to the position of the mouse along the scroll bar, and *y to the |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
399 overall length of the scroll bar. |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
400 |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
401 Otherwise, set *bar_window to Qnil, and *x and *y to the column and |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
402 row of the character cell the mouse is over. |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
403 |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
404 Set *time to the time the mouse was at the returned position. |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
405 |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
406 This should clear mouse_moved until the next motion |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
407 event arrives. */ |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
408 void (*mouse_position_hook) P_ ((struct frame **f, int, |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
409 Lisp_Object *bar_window, |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
410 enum scroll_bar_part *part, |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
411 Lisp_Object *x, |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
412 Lisp_Object *y, |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
413 unsigned long *time)); |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
414 |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
415 /* The window system handling code should set this if the mouse has |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
416 moved since the last call to the mouse_position_hook. Calling that |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
417 hook should clear this. */ |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
418 int mouse_moved; |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
419 |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
420 /* When a frame's focus redirection is changed, this hook tells the |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
421 window system code to re-decide where to put the highlight. Under |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
422 X, this means that Emacs lies about where the focus is. */ |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
423 void (*frame_rehighlight_hook) P_ ((struct frame *)); |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
424 |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
425 /* If we're displaying frames using a window system that can stack |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
426 frames on top of each other, this hook allows you to bring a frame |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
427 to the front, or bury it behind all the other windows. If this |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
428 hook is zero, that means the device we're displaying on doesn't |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
429 support overlapping frames, so there's no need to raise or lower |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
430 anything. |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
431 |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
432 If RAISE is non-zero, F is brought to the front, before all other |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
433 windows. If RAISE is zero, F is sent to the back, behind all other |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
434 windows. */ |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
435 void (*frame_raise_lower_hook) P_ ((struct frame *f, int raise)); |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
436 |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
437 |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
438 /* Scroll bar hooks. */ |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
439 |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
440 /* The representation of scroll bars is determined by the code which |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
441 implements them, except for one thing: they must be represented by |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
442 lisp objects. This allows us to place references to them in |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
443 Lisp_Windows without worrying about those references becoming |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
444 dangling references when the scroll bar is destroyed. |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
445 |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
446 The window-system-independent portion of Emacs just refers to |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
447 scroll bars via their windows, and never looks inside the scroll bar |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
448 representation; it always uses hook functions to do all the |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
449 scroll bar manipulation it needs. |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
450 |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
451 The `vertical_scroll_bar' field of a Lisp_Window refers to that |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
452 window's scroll bar, or is nil if the window doesn't have a |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
453 scroll bar. |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
454 |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
455 The `scroll_bars' and `condemned_scroll_bars' fields of a Lisp_Frame |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
456 are free for use by the scroll bar implementation in any way it sees |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
457 fit. They are marked by the garbage collector. */ |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
458 |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
459 |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
460 /* Set the vertical scroll bar for WINDOW to have its upper left corner |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
461 at (TOP, LEFT), and be LENGTH rows high. Set its handle to |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
462 indicate that we are displaying PORTION characters out of a total |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
463 of WHOLE characters, starting at POSITION. If WINDOW doesn't yet |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
464 have a scroll bar, create one for it. */ |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
465 void (*set_vertical_scroll_bar_hook) P_ ((struct window *window, |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
466 int portion, int whole, |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
467 int position)); |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
468 |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
469 |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
470 /* The following three hooks are used when we're doing a thorough |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
471 redisplay of the frame. We don't explicitly know which scroll bars |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
472 are going to be deleted, because keeping track of when windows go |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
473 away is a real pain - can you say set-window-configuration? |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
474 Instead, we just assert at the beginning of redisplay that *all* |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
475 scroll bars are to be removed, and then save scroll bars from the |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
476 fiery pit when we actually redisplay their window. */ |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
477 |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
478 /* Arrange for all scroll bars on FRAME to be removed at the next call |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
479 to `*judge_scroll_bars_hook'. A scroll bar may be spared if |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
480 `*redeem_scroll_bar_hook' is applied to its window before the judgement. |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
481 |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
482 This should be applied to each frame each time its window tree is |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
483 redisplayed, even if it is not displaying scroll bars at the moment; |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
484 if the HAS_SCROLL_BARS flag has just been turned off, only calling |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
485 this and the judge_scroll_bars_hook will get rid of them. |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
486 |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
487 If non-zero, this hook should be safe to apply to any frame, |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
488 whether or not it can support scroll bars, and whether or not it is |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
489 currently displaying them. */ |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
490 void (*condemn_scroll_bars_hook) P_ ((struct frame *frame)); |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
491 |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
492 /* Unmark WINDOW's scroll bar for deletion in this judgement cycle. |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
493 Note that it's okay to redeem a scroll bar that is not condemned. */ |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
494 void (*redeem_scroll_bar_hook) P_ ((struct window *window)); |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
495 |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
496 /* Remove all scroll bars on FRAME that haven't been saved since the |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
497 last call to `*condemn_scroll_bars_hook'. |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
498 |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
499 This should be applied to each frame after each time its window |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
500 tree is redisplayed, even if it is not displaying scroll bars at the |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
501 moment; if the HAS_SCROLL_BARS flag has just been turned off, only |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
502 calling this and condemn_scroll_bars_hook will get rid of them. |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
503 |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
504 If non-zero, this hook should be safe to apply to any frame, |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
505 whether or not it can support scroll bars, and whether or not it is |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
506 currently displaying them. */ |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
507 void (*judge_scroll_bars_hook) P_ ((struct frame *FRAME)); |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
508 |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
509 |
|
83021
32bf8e7cc0c2
Fixed tty faces during combo sessions. Plus other assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83011
diff
changeset
|
510 /* Called to read input events. |
|
32bf8e7cc0c2
Fixed tty faces during combo sessions. Plus other assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83011
diff
changeset
|
511 |
|
83342
9216636c02fc
Rename `struct display' to `struct device'. Update function, parameter and variable names accordingly.
Karoly Lorentey <lorentey@elte.hu>
parents:
83332
diff
changeset
|
512 DEVICE indicates which display device to read from. Input events |
|
83021
32bf8e7cc0c2
Fixed tty faces during combo sessions. Plus other assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83011
diff
changeset
|
513 should be read into BUF, the size of which is given in SIZE. |
|
32bf8e7cc0c2
Fixed tty faces during combo sessions. Plus other assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83011
diff
changeset
|
514 EXPECTED is non-zero if the caller suspects that new input is |
|
32bf8e7cc0c2
Fixed tty faces during combo sessions. Plus other assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83011
diff
changeset
|
515 available. |
|
32bf8e7cc0c2
Fixed tty faces during combo sessions. Plus other assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83011
diff
changeset
|
516 |
|
32bf8e7cc0c2
Fixed tty faces during combo sessions. Plus other assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83011
diff
changeset
|
517 A positive return value indicates that that many input events |
|
32bf8e7cc0c2
Fixed tty faces during combo sessions. Plus other assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83011
diff
changeset
|
518 where read into BUF. |
|
32bf8e7cc0c2
Fixed tty faces during combo sessions. Plus other assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83011
diff
changeset
|
519 Zero means no events were immediately available. |
|
32bf8e7cc0c2
Fixed tty faces during combo sessions. Plus other assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83011
diff
changeset
|
520 A value of -1 means a transient read error, while -2 indicates |
|
83342
9216636c02fc
Rename `struct display' to `struct device'. Update function, parameter and variable names accordingly.
Karoly Lorentey <lorentey@elte.hu>
parents:
83332
diff
changeset
|
521 that the device was closed (hangup), and it should be deleted. |
|
83021
32bf8e7cc0c2
Fixed tty faces during combo sessions. Plus other assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83011
diff
changeset
|
522 |
|
32bf8e7cc0c2
Fixed tty faces during combo sessions. Plus other assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83011
diff
changeset
|
523 XXX Please note that a non-zero value of EXPECTED only means that |
|
32bf8e7cc0c2
Fixed tty faces during combo sessions. Plus other assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83011
diff
changeset
|
524 there is available input on at least one of the currently opened |
|
32bf8e7cc0c2
Fixed tty faces during combo sessions. Plus other assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83011
diff
changeset
|
525 display devices -- but not necessarily on this device. |
|
32bf8e7cc0c2
Fixed tty faces during combo sessions. Plus other assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83011
diff
changeset
|
526 Therefore, in most cases EXPECTED should be simply ignored. |
| 83067 | 527 |
| 528 XXX This documentation needs to be updated. */ | |
|
83342
9216636c02fc
Rename `struct display' to `struct device'. Update function, parameter and variable names accordingly.
Karoly Lorentey <lorentey@elte.hu>
parents:
83332
diff
changeset
|
529 int (*read_socket_hook) P_ ((struct device *device, |
| 83067 | 530 int expected, |
| 531 struct input_event *hold_quit)); | |
|
83004
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
532 |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
533 /* Called when a frame's display becomes entirely up to date. */ |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
534 void (*frame_up_to_date_hook) P_ ((struct frame *)); |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
535 |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
536 |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
537 /* Called to delete the device-specific portions of a frame that is |
|
83342
9216636c02fc
Rename `struct display' to `struct device'. Update function, parameter and variable names accordingly.
Karoly Lorentey <lorentey@elte.hu>
parents:
83332
diff
changeset
|
538 on this display device. */ |
|
83004
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
539 void (*delete_frame_hook) P_ ((struct frame *)); |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
540 |
|
83342
9216636c02fc
Rename `struct display' to `struct device'. Update function, parameter and variable names accordingly.
Karoly Lorentey <lorentey@elte.hu>
parents:
83332
diff
changeset
|
541 /* Called after the last frame on this device is deleted, or when |
|
83021
32bf8e7cc0c2
Fixed tty faces during combo sessions. Plus other assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83011
diff
changeset
|
542 the display device was closed (hangup). |
|
32bf8e7cc0c2
Fixed tty faces during combo sessions. Plus other assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83011
diff
changeset
|
543 |
|
83342
9216636c02fc
Rename `struct display' to `struct device'. Update function, parameter and variable names accordingly.
Karoly Lorentey <lorentey@elte.hu>
parents:
83332
diff
changeset
|
544 If this is NULL, then the generic delete_device is called |
|
9216636c02fc
Rename `struct display' to `struct device'. Update function, parameter and variable names accordingly.
Karoly Lorentey <lorentey@elte.hu>
parents:
83332
diff
changeset
|
545 instead. Otherwise the hook must call delete_device itself. |
|
83004
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
546 |
|
83021
32bf8e7cc0c2
Fixed tty faces during combo sessions. Plus other assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83011
diff
changeset
|
547 The hook must check for and close any live frames that are still |
|
83342
9216636c02fc
Rename `struct display' to `struct device'. Update function, parameter and variable names accordingly.
Karoly Lorentey <lorentey@elte.hu>
parents:
83332
diff
changeset
|
548 on the device. Fdelete_frame ensures that there are no live |
|
9216636c02fc
Rename `struct display' to `struct device'. Update function, parameter and variable names accordingly.
Karoly Lorentey <lorentey@elte.hu>
parents:
83332
diff
changeset
|
549 frames on the device when it calls this hook, so infinite |
|
83021
32bf8e7cc0c2
Fixed tty faces during combo sessions. Plus other assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83011
diff
changeset
|
550 recursion is prevented. */ |
|
83342
9216636c02fc
Rename `struct display' to `struct device'. Update function, parameter and variable names accordingly.
Karoly Lorentey <lorentey@elte.hu>
parents:
83332
diff
changeset
|
551 void (*delete_device_hook) P_ ((struct device *)); |
|
83004
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
552 }; |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
553 |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
554 |
|
83342
9216636c02fc
Rename `struct display' to `struct device'. Update function, parameter and variable names accordingly.
Karoly Lorentey <lorentey@elte.hu>
parents:
83332
diff
changeset
|
555 /* Chain of all display devices currently in use. */ |
|
9216636c02fc
Rename `struct display' to `struct device'. Update function, parameter and variable names accordingly.
Karoly Lorentey <lorentey@elte.hu>
parents:
83332
diff
changeset
|
556 extern struct device *device_list; |
|
83004
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
557 |
|
83342
9216636c02fc
Rename `struct display' to `struct device'. Update function, parameter and variable names accordingly.
Karoly Lorentey <lorentey@elte.hu>
parents:
83332
diff
changeset
|
558 #define FRAME_MUST_WRITE_SPACES(f) ((f)->device->must_write_spaces) |
|
9216636c02fc
Rename `struct display' to `struct device'. Update function, parameter and variable names accordingly.
Karoly Lorentey <lorentey@elte.hu>
parents:
83332
diff
changeset
|
559 #define FRAME_FAST_CLEAR_END_OF_LINE(f) ((f)->device->fast_clear_end_of_line) |
|
9216636c02fc
Rename `struct display' to `struct device'. Update function, parameter and variable names accordingly.
Karoly Lorentey <lorentey@elte.hu>
parents:
83332
diff
changeset
|
560 #define FRAME_LINE_INS_DEL_OK(f) ((f)->device->line_ins_del_ok) |
|
9216636c02fc
Rename `struct display' to `struct device'. Update function, parameter and variable names accordingly.
Karoly Lorentey <lorentey@elte.hu>
parents:
83332
diff
changeset
|
561 #define FRAME_CHAR_INS_DEL_OK(f) ((f)->device->char_ins_del_ok) |
|
9216636c02fc
Rename `struct display' to `struct device'. Update function, parameter and variable names accordingly.
Karoly Lorentey <lorentey@elte.hu>
parents:
83332
diff
changeset
|
562 #define FRAME_SCROLL_REGION_OK(f) ((f)->device->scroll_region_ok) |
|
9216636c02fc
Rename `struct display' to `struct device'. Update function, parameter and variable names accordingly.
Karoly Lorentey <lorentey@elte.hu>
parents:
83332
diff
changeset
|
563 #define FRAME_SCROLL_REGION_COST(f) ((f)->device->scroll_region_cost) |
|
9216636c02fc
Rename `struct display' to `struct device'. Update function, parameter and variable names accordingly.
Karoly Lorentey <lorentey@elte.hu>
parents:
83332
diff
changeset
|
564 #define FRAME_MEMORY_BELOW_FRAME(f) ((f)->device->memory_below_frame) |
|
83004
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
565 |
|
83342
9216636c02fc
Rename `struct display' to `struct device'. Update function, parameter and variable names accordingly.
Karoly Lorentey <lorentey@elte.hu>
parents:
83332
diff
changeset
|
566 #define FRAME_TERMINAL_CODING(f) ((f)->device->terminal_coding) |
|
9216636c02fc
Rename `struct display' to `struct device'. Update function, parameter and variable names accordingly.
Karoly Lorentey <lorentey@elte.hu>
parents:
83332
diff
changeset
|
567 #define FRAME_KEYBOARD_CODING(f) ((f)->device->keyboard_coding) |
|
83127
5182815e0ee1
Make terminal_coding and keyboard_coding display-local.
Karoly Lorentey <lorentey@elte.hu>
parents:
83100
diff
changeset
|
568 |
|
83342
9216636c02fc
Rename `struct display' to `struct device'. Update function, parameter and variable names accordingly.
Karoly Lorentey <lorentey@elte.hu>
parents:
83332
diff
changeset
|
569 #define DEVICE_TERMINAL_CODING(d) ((d)->terminal_coding) |
|
9216636c02fc
Rename `struct display' to `struct device'. Update function, parameter and variable names accordingly.
Karoly Lorentey <lorentey@elte.hu>
parents:
83332
diff
changeset
|
570 #define DEVICE_KEYBOARD_CODING(d) ((d)->keyboard_coding) |
|
83298
ed09a89e2b25
Fix UTF-8 tty input when first frame is an X frame. Steps towards multiple tty locale support.
Karoly Lorentey <lorentey@elte.hu>
parents:
83288
diff
changeset
|
571 |
|
83342
9216636c02fc
Rename `struct display' to `struct device'. Update function, parameter and variable names accordingly.
Karoly Lorentey <lorentey@elte.hu>
parents:
83332
diff
changeset
|
572 #define FRAME_RIF(f) ((f)->device->rif) |
|
83004
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
573 |
|
83342
9216636c02fc
Rename `struct display' to `struct device'. Update function, parameter and variable names accordingly.
Karoly Lorentey <lorentey@elte.hu>
parents:
83332
diff
changeset
|
574 #define FRAME_DEVICE(f) ((f)->device) |
|
83004
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
575 |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
576 /* FRAME_WINDOW_P tests whether the frame is a window, and is |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
577 defined to be the predicate for the window system being used. */ |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
578 |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
579 #ifdef HAVE_X_WINDOWS |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
580 #define FRAME_WINDOW_P(f) FRAME_X_P (f) |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
581 #endif |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
582 #ifdef HAVE_NTGUI |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
583 #define FRAME_WINDOW_P(f) FRAME_W32_P (f) |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
584 #endif |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
585 #ifdef MAC_OS |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
586 #define FRAME_WINDOW_P(f) FRAME_MAC_P (f) |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
587 #endif |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
588 #ifndef FRAME_WINDOW_P |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
589 #define FRAME_WINDOW_P(f) (0) |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
590 #endif |
|
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
591 |
|
83342
9216636c02fc
Rename `struct display' to `struct device'. Update function, parameter and variable names accordingly.
Karoly Lorentey <lorentey@elte.hu>
parents:
83332
diff
changeset
|
592 /* Return true if the display device is not suspended. */ |
|
9216636c02fc
Rename `struct display' to `struct device'. Update function, parameter and variable names accordingly.
Karoly Lorentey <lorentey@elte.hu>
parents:
83332
diff
changeset
|
593 #define DEVICE_ACTIVE_P(d) ((d)->type != output_termcap || (d)->display_info.tty->input) |
|
83167
69ebc75cb461
Implemented display ids for multiple emacsclients on the same tty. Plus assorted bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83127
diff
changeset
|
594 |
|
83342
9216636c02fc
Rename `struct display' to `struct device'. Update function, parameter and variable names accordingly.
Karoly Lorentey <lorentey@elte.hu>
parents:
83332
diff
changeset
|
595 extern struct device *create_device P_ ((void)); |
|
9216636c02fc
Rename `struct display' to `struct device'. Update function, parameter and variable names accordingly.
Karoly Lorentey <lorentey@elte.hu>
parents:
83332
diff
changeset
|
596 extern void delete_device P_ ((struct device *)); |
|
83004
7900111db01c
Converted display hooks to be display-local. Plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
82992
diff
changeset
|
597 |
|
83009
b2b37c85b00a
Numerous bugfixes and small improvements.
Karoly Lorentey <lorentey@elte.hu>
parents:
83008
diff
changeset
|
598 /* The initial display device, created by initial_term_init. */ |
|
83342
9216636c02fc
Rename `struct display' to `struct device'. Update function, parameter and variable names accordingly.
Karoly Lorentey <lorentey@elte.hu>
parents:
83332
diff
changeset
|
599 extern struct device *initial_device; |
|
83009
b2b37c85b00a
Numerous bugfixes and small improvements.
Karoly Lorentey <lorentey@elte.hu>
parents:
83008
diff
changeset
|
600 |
| 52401 | 601 /* arch-tag: 33a00ecc-52b5-4186-a410-8801ac9f087d |
| 602 (do not change this comment) */ |
