Mercurial > emacs
annotate src/window.h @ 112429:6e50030da731
Some copyright.el updates.
* lisp/emacs-lisp/copyright.el (copyright-find-copyright): New function,
split out from copyright-update-year.
(copyright-update): Don't mess with the GPL version if we don't own the
copyright. Update license regexp, and remove no longer needed
Esperanto stuff.
author | Glenn Morris <rgm@gnu.org> |
---|---|
date | Sat, 22 Jan 2011 14:09:09 -0800 |
parents | 42e22c4f06b7 |
children |
rev | line source |
---|---|
361 | 1 /* Window definitions for GNU Emacs. |
64770
a0d1312ede66
Update years in copyright notice; nfc.
Thien-Thi Nguyen <ttn@gnuvola.org>
parents:
64084
diff
changeset
|
2 Copyright (C) 1985, 1986, 1993, 1995, 1997, 1998, 1999, 2000, 2001, |
112218
376148b31b5e
Add 2011 to FSF/AIST copyright years.
Glenn Morris <rgm@gnu.org>
parents:
106815
diff
changeset
|
3 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 |
79759 | 4 Free Software Foundation, Inc. |
361 | 5 |
6 This file is part of GNU Emacs. | |
7 | |
94994
29adfc9354e7
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
94514
diff
changeset
|
8 GNU Emacs is free software: you can redistribute it and/or modify |
361 | 9 it under the terms of the GNU General Public License as published by |
94994
29adfc9354e7
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
94514
diff
changeset
|
10 the Free Software Foundation, either version 3 of the License, or |
29adfc9354e7
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
94514
diff
changeset
|
11 (at your option) any later version. |
361 | 12 |
13 GNU Emacs is distributed in the hope that it will be useful, | |
14 but WITHOUT ANY WARRANTY; without even the implied warranty of | |
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
16 GNU General Public License for more details. | |
17 | |
18 You should have received a copy of the GNU General Public License | |
94994
29adfc9354e7
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
94514
diff
changeset
|
19 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ |
361 | 20 |
24996
429ec2c075e4
(struct window): Add vscroll.
Gerd Moellmann <gerd@gnu.org>
parents:
21938
diff
changeset
|
21 #ifndef WINDOW_H_INCLUDED |
429ec2c075e4
(struct window): Add vscroll.
Gerd Moellmann <gerd@gnu.org>
parents:
21938
diff
changeset
|
22 #define WINDOW_H_INCLUDED |
429ec2c075e4
(struct window): Add vscroll.
Gerd Moellmann <gerd@gnu.org>
parents:
21938
diff
changeset
|
23 |
429ec2c075e4
(struct window): Add vscroll.
Gerd Moellmann <gerd@gnu.org>
parents:
21938
diff
changeset
|
24 #include "dispextern.h" |
361 | 25 |
51208
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
26 extern Lisp_Object Qleft, Qright; |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
27 |
361 | 28 /* Windows are allocated as if they were vectors, but then the |
29 Lisp data type is changed to Lisp_Window. They are garbage | |
30 collected along with the vectors. | |
31 | |
32 All windows in use are arranged into a tree, with pointers up and down. | |
33 | |
34 Windows that are leaves of the tree are actually displayed | |
35 and show the contents of buffers. Windows that are not leaves | |
36 are used for representing the way groups of leaf windows are | |
769 | 37 arranged on the frame. Leaf windows never become non-leaves. |
361 | 38 They are deleted only by calling delete-window on them (but |
39 this can be done implicitly). Combination windows can be created | |
40 and deleted at any time. | |
41 | |
42 A leaf window has a non-nil buffer field, and also | |
43 has markers in its start and pointm fields. Non-leaf windows | |
44 have nil in these fields. | |
45 | |
46 Non-leaf windows are either vertical or horizontal combinations. | |
47 | |
769 | 48 A vertical combination window has children that are arranged on the frame |
361 | 49 one above the next. Its vchild field points to the uppermost child. |
50 The parent field of each of the children points to the vertical | |
51 combination window. The next field of each child points to the | |
52 child below it, or is nil for the lowest child. The prev field | |
53 of each child points to the child above it, or is nil for the | |
54 highest child. | |
55 | |
56 A horizontal combination window has children that are side by side. | |
57 Its hchild field points to the leftmost child. In each child | |
58 the next field points to the child to the right and the prev field | |
59 points to the child to the left. | |
60 | |
61 The children of a vertical combination window may be leaf windows | |
62 or horizontal combination windows. The children of a horizontal | |
63 combination window may be leaf windows or vertical combination windows. | |
64 | |
65 At the top of the tree are two windows which have nil as parent. | |
66 The second of these is minibuf_window. The first one manages all | |
769 | 67 the frame area that is not minibuffer, and is called the root window. |
361 | 68 Different windows can be the root at different times; |
69 initially the root window is a leaf window, but if more windows | |
70 are created then that leaf window ceases to be root and a newly | |
71 made combination window becomes root instead. | |
72 | |
998 | 73 In any case, on screens which have an ordinary window and a |
74 minibuffer, prev of the minibuf window is the root window and next of | |
75 the root window is the minibuf window. On minibufferless screens or | |
76 minibuffer-only screens, the root window and the minibuffer window are | |
1445
3b0906e2b82c
* window.h (struct window): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
998
diff
changeset
|
77 one and the same, so its prev and next members are nil. |
361 | 78 |
1445
3b0906e2b82c
* window.h (struct window): Doc fix.
Jim Blandy <jimb@redhat.com>
parents:
998
diff
changeset
|
79 A dead window has its buffer, hchild, and vchild windows all nil. */ |
361 | 80 |
24996
429ec2c075e4
(struct window): Add vscroll.
Gerd Moellmann <gerd@gnu.org>
parents:
21938
diff
changeset
|
81 struct cursor_pos |
429ec2c075e4
(struct window): Add vscroll.
Gerd Moellmann <gerd@gnu.org>
parents:
21938
diff
changeset
|
82 { |
429ec2c075e4
(struct window): Add vscroll.
Gerd Moellmann <gerd@gnu.org>
parents:
21938
diff
changeset
|
83 /* Pixel position. These are always window relative. */ |
429ec2c075e4
(struct window): Add vscroll.
Gerd Moellmann <gerd@gnu.org>
parents:
21938
diff
changeset
|
84 int x, y; |
429ec2c075e4
(struct window): Add vscroll.
Gerd Moellmann <gerd@gnu.org>
parents:
21938
diff
changeset
|
85 |
429ec2c075e4
(struct window): Add vscroll.
Gerd Moellmann <gerd@gnu.org>
parents:
21938
diff
changeset
|
86 /* Glyph matrix position. */ |
429ec2c075e4
(struct window): Add vscroll.
Gerd Moellmann <gerd@gnu.org>
parents:
21938
diff
changeset
|
87 int hpos, vpos; |
429ec2c075e4
(struct window): Add vscroll.
Gerd Moellmann <gerd@gnu.org>
parents:
21938
diff
changeset
|
88 }; |
429ec2c075e4
(struct window): Add vscroll.
Gerd Moellmann <gerd@gnu.org>
parents:
21938
diff
changeset
|
89 |
361 | 90 struct window |
91 { | |
92 /* The first two fields are really the header of a vector */ | |
93 /* The window code does not refer to them. */ | |
85022
96eb42c9e0e3
* window.h (struct window):
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
83652
diff
changeset
|
94 EMACS_UINT size; |
361 | 95 struct Lisp_Vector *vec_next; |
769 | 96 /* The frame this window is on. */ |
97 Lisp_Object frame; | |
361 | 98 /* t if this window is a minibuffer window. */ |
99 Lisp_Object mini_p; | |
100 /* Following child (to right or down) at same level of tree */ | |
101 Lisp_Object next; | |
102 /* Preceding child (to left or up) at same level of tree */ | |
103 Lisp_Object prev; | |
104 /* First child of this window. */ | |
105 /* vchild is used if this is a vertical combination, | |
106 hchild if this is a horizontal combination. */ | |
107 Lisp_Object hchild, vchild; | |
108 /* The window this one is a child of. */ | |
109 Lisp_Object parent; | |
110 /* The upper left corner coordinates of this window, | |
769 | 111 as integers relative to upper left corner of frame = 0, 0 */ |
51208
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
112 Lisp_Object left_col; |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
113 Lisp_Object top_line; |
361 | 114 /* The size of the window */ |
51208
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
115 Lisp_Object total_lines; |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
116 Lisp_Object total_cols; |
361 | 117 /* The buffer displayed in this window */ |
118 /* Of the fields vchild, hchild and buffer, only one is non-nil. */ | |
119 Lisp_Object buffer; | |
107593
a551e4109c04
Retrospective commit from 2009-10-03.
Eli Zaretskii <eliz@gnu.org>
parents:
100951
diff
changeset
|
120 /* A marker pointing to where in the text to start displaying. |
a551e4109c04
Retrospective commit from 2009-10-03.
Eli Zaretskii <eliz@gnu.org>
parents:
100951
diff
changeset
|
121 BIDI Note: This is the _logical-order_ start, i.e. the smallest |
a551e4109c04
Retrospective commit from 2009-10-03.
Eli Zaretskii <eliz@gnu.org>
parents:
100951
diff
changeset
|
122 buffer position visible in the window, not necessarily the |
a551e4109c04
Retrospective commit from 2009-10-03.
Eli Zaretskii <eliz@gnu.org>
parents:
100951
diff
changeset
|
123 character displayed in the top left corner of the window. */ |
361 | 124 Lisp_Object start; |
125 /* A marker pointing to where in the text point is in this window, | |
126 used only when the window is not selected. | |
127 This exists so that when multiple windows show one buffer | |
128 each one can have its own value of point. */ | |
129 Lisp_Object pointm; | |
130 /* Non-nil means next redisplay must use the value of start | |
131 set up for it in advance. Set by scrolling commands. */ | |
132 Lisp_Object force_start; | |
16553
39aa8dd49637
(struct window): New field optional_new_start.
Richard M. Stallman <rms@gnu.org>
parents:
16264
diff
changeset
|
133 /* Non-nil means we have explicitly changed the value of start, |
26249
344d89e485f2
Extend comment for optional_new_start.
Gerd Moellmann <gerd@gnu.org>
parents:
25793
diff
changeset
|
134 but that the next redisplay is not obliged to use the new value. |
344d89e485f2
Extend comment for optional_new_start.
Gerd Moellmann <gerd@gnu.org>
parents:
25793
diff
changeset
|
135 This is used in Fdelete_other_windows to force a call to |
46107 | 136 Vwindow_scroll_functions; also by Frecenter with argument. */ |
16553
39aa8dd49637
(struct window): New field optional_new_start.
Richard M. Stallman <rms@gnu.org>
parents:
16264
diff
changeset
|
137 Lisp_Object optional_new_start; |
361 | 138 /* Number of columns display within the window is scrolled to the left. */ |
139 Lisp_Object hscroll; | |
34746
10539ef3d8e8
(struct window): New member min_hscroll.
Gerd Moellmann <gerd@gnu.org>
parents:
34497
diff
changeset
|
140 /* Minimum hscroll for automatic hscrolling. This is the value |
10539ef3d8e8
(struct window): New member min_hscroll.
Gerd Moellmann <gerd@gnu.org>
parents:
34497
diff
changeset
|
141 the user has set, by set-window-hscroll for example. */ |
10539ef3d8e8
(struct window): New member min_hscroll.
Gerd Moellmann <gerd@gnu.org>
parents:
34497
diff
changeset
|
142 Lisp_Object min_hscroll; |
361 | 143 /* Number saying how recently window was selected */ |
144 Lisp_Object use_time; | |
145 /* Unique number of window assigned when it was created */ | |
146 Lisp_Object sequence_number; | |
147 /* No permanent meaning; used by save-window-excursion's bookkeeping */ | |
148 Lisp_Object temslot; | |
149 /* text.modified of displayed buffer as of last time display completed */ | |
150 Lisp_Object last_modified; | |
16192
b67b2e8eacb3
(struct window): New field last_overlay_modified.
Richard M. Stallman <rms@gnu.org>
parents:
15542
diff
changeset
|
151 /* BUF_OVERLAY_MODIFIED of displayed buffer as of last complete update. */ |
b67b2e8eacb3
(struct window): New field last_overlay_modified.
Richard M. Stallman <rms@gnu.org>
parents:
15542
diff
changeset
|
152 Lisp_Object last_overlay_modified; |
361 | 153 /* Value of point at that time */ |
154 Lisp_Object last_point; | |
15542
f57ee448e79e
(struct window): New field, last_had_star.
Richard M. Stallman <rms@gnu.org>
parents:
14186
diff
changeset
|
155 /* Non-nil if the buffer was "modified" when the window |
f57ee448e79e
(struct window): New field, last_had_star.
Richard M. Stallman <rms@gnu.org>
parents:
14186
diff
changeset
|
156 was last updated. */ |
f57ee448e79e
(struct window): New field, last_had_star.
Richard M. Stallman <rms@gnu.org>
parents:
14186
diff
changeset
|
157 Lisp_Object last_had_star; |
1994
73ce9dd21093
Use the term `scroll bar', instead of `scrollbar'.
Jim Blandy <jimb@redhat.com>
parents:
1872
diff
changeset
|
158 /* This window's vertical scroll bar. This field is only for use |
1784
11f62e53acff
Make scrollbar structures into lisp objects, so that they can be
Jim Blandy <jimb@redhat.com>
parents:
1717
diff
changeset
|
159 by the window-system-dependent code which implements the |
1994
73ce9dd21093
Use the term `scroll bar', instead of `scrollbar'.
Jim Blandy <jimb@redhat.com>
parents:
1872
diff
changeset
|
160 scroll bars; it can store anything it likes here. If this |
73ce9dd21093
Use the term `scroll bar', instead of `scrollbar'.
Jim Blandy <jimb@redhat.com>
parents:
1872
diff
changeset
|
161 window is newly created and we haven't displayed a scroll bar in |
73ce9dd21093
Use the term `scroll bar', instead of `scrollbar'.
Jim Blandy <jimb@redhat.com>
parents:
1872
diff
changeset
|
162 it yet, or if the frame doesn't have any scroll bars, this is nil. */ |
73ce9dd21093
Use the term `scroll bar', instead of `scrollbar'.
Jim Blandy <jimb@redhat.com>
parents:
1872
diff
changeset
|
163 Lisp_Object vertical_scroll_bar; |
1717
aa7d6d57504b
* frame.h (struct frame): New fields `can_have_scrollbars' and
Jim Blandy <jimb@redhat.com>
parents:
1526
diff
changeset
|
164 |
24996
429ec2c075e4
(struct window): Add vscroll.
Gerd Moellmann <gerd@gnu.org>
parents:
21938
diff
changeset
|
165 /* Width of left and right marginal areas. A value of nil means |
429ec2c075e4
(struct window): Add vscroll.
Gerd Moellmann <gerd@gnu.org>
parents:
21938
diff
changeset
|
166 no margin. */ |
51208
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
167 Lisp_Object left_margin_cols, right_margin_cols; |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
168 |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
169 /* Width of left and right fringes. |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
170 A value of nil or t means use frame values. */ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
171 Lisp_Object left_fringe_width, right_fringe_width; |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
172 |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
173 /* Non-nil means fringes are drawn outside display margins; |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
174 othersize draw them between margin areas and text. */ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
175 Lisp_Object fringes_outside_margins; |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
176 |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
177 /* Pixel width of scroll bars. |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
178 A value of nil or t means use frame values. */ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
179 Lisp_Object scroll_bar_width; |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
180 /* Type of vertical scroll bar. A value of nil means |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
181 no scroll bar. A value of t means use frame value. */ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
182 Lisp_Object vertical_scroll_bar_type; |
24996
429ec2c075e4
(struct window): Add vscroll.
Gerd Moellmann <gerd@gnu.org>
parents:
21938
diff
changeset
|
183 |
769 | 184 /* Frame coords of mark as of last time display completed */ |
185 /* May be nil if mark does not exist or was not on frame */ | |
361 | 186 Lisp_Object last_mark_x; |
187 Lisp_Object last_mark_y; | |
24996
429ec2c075e4
(struct window): Add vscroll.
Gerd Moellmann <gerd@gnu.org>
parents:
21938
diff
changeset
|
188 /* Z - the buffer position of the last glyph in the current matrix |
429ec2c075e4
(struct window): Add vscroll.
Gerd Moellmann <gerd@gnu.org>
parents:
21938
diff
changeset
|
189 of W. Only valid if WINDOW_END_VALID is not nil. */ |
361 | 190 Lisp_Object window_end_pos; |
24996
429ec2c075e4
(struct window): Add vscroll.
Gerd Moellmann <gerd@gnu.org>
parents:
21938
diff
changeset
|
191 /* Glyph matrix row of the last glyph in the current matrix |
429ec2c075e4
(struct window): Add vscroll.
Gerd Moellmann <gerd@gnu.org>
parents:
21938
diff
changeset
|
192 of W. Only valid if WINDOW_END_VALID is not nil. */ |
429ec2c075e4
(struct window): Add vscroll.
Gerd Moellmann <gerd@gnu.org>
parents:
21938
diff
changeset
|
193 Lisp_Object window_end_vpos; |
361 | 194 /* t if window_end_pos is truly valid. |
195 This is nil if nontrivial redisplay is preempted | |
769 | 196 since in that case the frame image that window_end_pos |
197 did not get onto the frame. */ | |
361 | 198 Lisp_Object window_end_valid; |
199 /* Non-nil means must regenerate mode line of this window */ | |
200 Lisp_Object update_mode_line; | |
201 /* Non-nil means current value of `start' | |
202 was the beginning of a line when it was chosen. */ | |
203 Lisp_Object start_at_line_beg; | |
204 /* Display-table to use for displaying chars in this window. | |
205 Nil means use the buffer's own display-table. */ | |
206 Lisp_Object display_table; | |
207 /* Non-nil means window is marked as dedicated. */ | |
208 Lisp_Object dedicated; | |
2304
480abddc8bdd
(struct window): New fields base_line_number and base_line_pos.
Richard M. Stallman <rms@gnu.org>
parents:
1994
diff
changeset
|
209 /* Line number and position of a line somewhere above the |
480abddc8bdd
(struct window): New fields base_line_number and base_line_pos.
Richard M. Stallman <rms@gnu.org>
parents:
1994
diff
changeset
|
210 top of the screen. */ |
480abddc8bdd
(struct window): New fields base_line_number and base_line_pos.
Richard M. Stallman <rms@gnu.org>
parents:
1994
diff
changeset
|
211 /* If this field is nil, it means we don't have a base line. */ |
480abddc8bdd
(struct window): New fields base_line_number and base_line_pos.
Richard M. Stallman <rms@gnu.org>
parents:
1994
diff
changeset
|
212 Lisp_Object base_line_number; |
480abddc8bdd
(struct window): New fields base_line_number and base_line_pos.
Richard M. Stallman <rms@gnu.org>
parents:
1994
diff
changeset
|
213 /* If this field is nil, it means we don't have a base line. |
480abddc8bdd
(struct window): New fields base_line_number and base_line_pos.
Richard M. Stallman <rms@gnu.org>
parents:
1994
diff
changeset
|
214 If it is a buffer, it means don't display the line number |
480abddc8bdd
(struct window): New fields base_line_number and base_line_pos.
Richard M. Stallman <rms@gnu.org>
parents:
1994
diff
changeset
|
215 as long as the window shows that buffer. */ |
480abddc8bdd
(struct window): New fields base_line_number and base_line_pos.
Richard M. Stallman <rms@gnu.org>
parents:
1994
diff
changeset
|
216 Lisp_Object base_line_pos; |
2856
794899b97115
(struct window): New slot region_showing.
Richard M. Stallman <rms@gnu.org>
parents:
2304
diff
changeset
|
217 /* If we have highlighted the region (or any part of it), |
794899b97115
(struct window): New slot region_showing.
Richard M. Stallman <rms@gnu.org>
parents:
2304
diff
changeset
|
218 this is the mark position that we used, as an integer. */ |
794899b97115
(struct window): New slot region_showing.
Richard M. Stallman <rms@gnu.org>
parents:
2304
diff
changeset
|
219 Lisp_Object region_showing; |
10440
055b4219b6d7
(struct window): New member column_number_displayed.
Karl Heuer <kwzh@gnu.org>
parents:
8833
diff
changeset
|
220 /* The column number currently displayed in this window's mode line, |
055b4219b6d7
(struct window): New member column_number_displayed.
Karl Heuer <kwzh@gnu.org>
parents:
8833
diff
changeset
|
221 or nil if column numbers are not being displayed. */ |
055b4219b6d7
(struct window): New member column_number_displayed.
Karl Heuer <kwzh@gnu.org>
parents:
8833
diff
changeset
|
222 Lisp_Object column_number_displayed; |
13458
adc8fc9fe6ed
(struct window): New field redisplay_end_trigger.
Richard M. Stallman <rms@gnu.org>
parents:
12632
diff
changeset
|
223 /* If redisplay in this window goes beyond this buffer position, |
adc8fc9fe6ed
(struct window): New field redisplay_end_trigger.
Richard M. Stallman <rms@gnu.org>
parents:
12632
diff
changeset
|
224 must run the redisplay-end-trigger-hook. */ |
adc8fc9fe6ed
(struct window): New field redisplay_end_trigger.
Richard M. Stallman <rms@gnu.org>
parents:
12632
diff
changeset
|
225 Lisp_Object redisplay_end_trigger; |
94514
befafb2d0928
(struct window): Replace field too_small_ok by field
Martin Rudalics <rudalics@gmx.at>
parents:
88050
diff
changeset
|
226 /* Non-nil means resizing windows will attempt to resize this window |
befafb2d0928
(struct window): Replace field too_small_ok by field
Martin Rudalics <rudalics@gmx.at>
parents:
88050
diff
changeset
|
227 proportionally. */ |
befafb2d0928
(struct window): Replace field too_small_ok by field
Martin Rudalics <rudalics@gmx.at>
parents:
88050
diff
changeset
|
228 Lisp_Object resize_proportionally; |
25793
2bbee3534773
(struct window): New members orig_top, orig_height.
Gerd Moellmann <gerd@gnu.org>
parents:
25740
diff
changeset
|
229 |
95548
b57bae733df3
(struct window): Add new member window_parameters.
Juanma Barranquero <lekktu@gmail.com>
parents:
94994
diff
changeset
|
230 /* Original window height and top before mini-window was enlarged. */ |
51208
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
231 Lisp_Object orig_total_lines, orig_top_line; |
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
46107
diff
changeset
|
232 |
95548
b57bae733df3
(struct window): Add new member window_parameters.
Juanma Barranquero <lekktu@gmail.com>
parents:
94994
diff
changeset
|
233 /* An alist with parameteres. */ |
b57bae733df3
(struct window): Add new member window_parameters.
Juanma Barranquero <lekktu@gmail.com>
parents:
94994
diff
changeset
|
234 Lisp_Object window_parameters; |
b57bae733df3
(struct window): Add new member window_parameters.
Juanma Barranquero <lekktu@gmail.com>
parents:
94994
diff
changeset
|
235 |
24996
429ec2c075e4
(struct window): Add vscroll.
Gerd Moellmann <gerd@gnu.org>
parents:
21938
diff
changeset
|
236 /* No Lisp data may follow below this point without changing |
429ec2c075e4
(struct window): Add vscroll.
Gerd Moellmann <gerd@gnu.org>
parents:
21938
diff
changeset
|
237 mark_object in alloc.c. The member current_matrix must be the |
429ec2c075e4
(struct window): Add vscroll.
Gerd Moellmann <gerd@gnu.org>
parents:
21938
diff
changeset
|
238 first non-Lisp member. */ |
429ec2c075e4
(struct window): Add vscroll.
Gerd Moellmann <gerd@gnu.org>
parents:
21938
diff
changeset
|
239 |
429ec2c075e4
(struct window): Add vscroll.
Gerd Moellmann <gerd@gnu.org>
parents:
21938
diff
changeset
|
240 /* Glyph matrices. */ |
429ec2c075e4
(struct window): Add vscroll.
Gerd Moellmann <gerd@gnu.org>
parents:
21938
diff
changeset
|
241 struct glyph_matrix *current_matrix; |
429ec2c075e4
(struct window): Add vscroll.
Gerd Moellmann <gerd@gnu.org>
parents:
21938
diff
changeset
|
242 struct glyph_matrix *desired_matrix; |
429ec2c075e4
(struct window): Add vscroll.
Gerd Moellmann <gerd@gnu.org>
parents:
21938
diff
changeset
|
243 |
56498
ee3ccdb058d1
(struct glyph_matrix): New members nrows_scale_factor
Kim F. Storm <storm@cua.dk>
parents:
56135
diff
changeset
|
244 /* Scaling factor for the glyph_matrix size calculation in this window. |
ee3ccdb058d1
(struct glyph_matrix): New members nrows_scale_factor
Kim F. Storm <storm@cua.dk>
parents:
56135
diff
changeset
|
245 Used if window contains many small images or uses proportional fonts, |
ee3ccdb058d1
(struct glyph_matrix): New members nrows_scale_factor
Kim F. Storm <storm@cua.dk>
parents:
56135
diff
changeset
|
246 as the normal may yield a matrix which is too small. */ |
ee3ccdb058d1
(struct glyph_matrix): New members nrows_scale_factor
Kim F. Storm <storm@cua.dk>
parents:
56135
diff
changeset
|
247 int nrows_scale_factor, ncols_scale_factor; |
ee3ccdb058d1
(struct glyph_matrix): New members nrows_scale_factor
Kim F. Storm <storm@cua.dk>
parents:
56135
diff
changeset
|
248 |
24996
429ec2c075e4
(struct window): Add vscroll.
Gerd Moellmann <gerd@gnu.org>
parents:
21938
diff
changeset
|
249 /* Cursor position as of last update that completed without |
429ec2c075e4
(struct window): Add vscroll.
Gerd Moellmann <gerd@gnu.org>
parents:
21938
diff
changeset
|
250 pause. This is the position of last_point. */ |
429ec2c075e4
(struct window): Add vscroll.
Gerd Moellmann <gerd@gnu.org>
parents:
21938
diff
changeset
|
251 struct cursor_pos last_cursor; |
429ec2c075e4
(struct window): Add vscroll.
Gerd Moellmann <gerd@gnu.org>
parents:
21938
diff
changeset
|
252 |
429ec2c075e4
(struct window): Add vscroll.
Gerd Moellmann <gerd@gnu.org>
parents:
21938
diff
changeset
|
253 /* Intended cursor position. This is a position within the |
429ec2c075e4
(struct window): Add vscroll.
Gerd Moellmann <gerd@gnu.org>
parents:
21938
diff
changeset
|
254 glyph matrix. */ |
429ec2c075e4
(struct window): Add vscroll.
Gerd Moellmann <gerd@gnu.org>
parents:
21938
diff
changeset
|
255 struct cursor_pos cursor; |
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
46107
diff
changeset
|
256 |
24996
429ec2c075e4
(struct window): Add vscroll.
Gerd Moellmann <gerd@gnu.org>
parents:
21938
diff
changeset
|
257 /* Where the cursor actually is. */ |
429ec2c075e4
(struct window): Add vscroll.
Gerd Moellmann <gerd@gnu.org>
parents:
21938
diff
changeset
|
258 struct cursor_pos phys_cursor; |
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
46107
diff
changeset
|
259 |
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
46107
diff
changeset
|
260 /* Cursor type and width of last cursor drawn on the window. |
43619
03e9839bc157
(struct window): New member phys_cursor_width.
Kim F. Storm <storm@cua.dk>
parents:
43595
diff
changeset
|
261 Used for X and w32 frames; -1 initially. */ |
03e9839bc157
(struct window): New member phys_cursor_width.
Kim F. Storm <storm@cua.dk>
parents:
43595
diff
changeset
|
262 int phys_cursor_type, phys_cursor_width; |
24996
429ec2c075e4
(struct window): Add vscroll.
Gerd Moellmann <gerd@gnu.org>
parents:
21938
diff
changeset
|
263 |
429ec2c075e4
(struct window): Add vscroll.
Gerd Moellmann <gerd@gnu.org>
parents:
21938
diff
changeset
|
264 /* This is handy for undrawing the cursor. */ |
429ec2c075e4
(struct window): Add vscroll.
Gerd Moellmann <gerd@gnu.org>
parents:
21938
diff
changeset
|
265 int phys_cursor_ascent, phys_cursor_height; |
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
46107
diff
changeset
|
266 |
24996
429ec2c075e4
(struct window): Add vscroll.
Gerd Moellmann <gerd@gnu.org>
parents:
21938
diff
changeset
|
267 /* Non-zero means the cursor is currently displayed. This can be |
429ec2c075e4
(struct window): Add vscroll.
Gerd Moellmann <gerd@gnu.org>
parents:
21938
diff
changeset
|
268 set to zero by functions overpainting the cursor image. */ |
429ec2c075e4
(struct window): Add vscroll.
Gerd Moellmann <gerd@gnu.org>
parents:
21938
diff
changeset
|
269 unsigned phys_cursor_on_p : 1; |
429ec2c075e4
(struct window): Add vscroll.
Gerd Moellmann <gerd@gnu.org>
parents:
21938
diff
changeset
|
270 |
429ec2c075e4
(struct window): Add vscroll.
Gerd Moellmann <gerd@gnu.org>
parents:
21938
diff
changeset
|
271 /* 0 means cursor is logically on, 1 means it's off. Used for |
429ec2c075e4
(struct window): Add vscroll.
Gerd Moellmann <gerd@gnu.org>
parents:
21938
diff
changeset
|
272 blinking cursor. */ |
429ec2c075e4
(struct window): Add vscroll.
Gerd Moellmann <gerd@gnu.org>
parents:
21938
diff
changeset
|
273 unsigned cursor_off_p : 1; |
429ec2c075e4
(struct window): Add vscroll.
Gerd Moellmann <gerd@gnu.org>
parents:
21938
diff
changeset
|
274 |
429ec2c075e4
(struct window): Add vscroll.
Gerd Moellmann <gerd@gnu.org>
parents:
21938
diff
changeset
|
275 /* Value of cursor_off_p as of the last redisplay. */ |
429ec2c075e4
(struct window): Add vscroll.
Gerd Moellmann <gerd@gnu.org>
parents:
21938
diff
changeset
|
276 unsigned last_cursor_off_p : 1; |
429ec2c075e4
(struct window): Add vscroll.
Gerd Moellmann <gerd@gnu.org>
parents:
21938
diff
changeset
|
277 |
429ec2c075e4
(struct window): Add vscroll.
Gerd Moellmann <gerd@gnu.org>
parents:
21938
diff
changeset
|
278 /* 1 means desired matrix has been build and window must be |
429ec2c075e4
(struct window): Add vscroll.
Gerd Moellmann <gerd@gnu.org>
parents:
21938
diff
changeset
|
279 updated in update_frame. */ |
429ec2c075e4
(struct window): Add vscroll.
Gerd Moellmann <gerd@gnu.org>
parents:
21938
diff
changeset
|
280 unsigned must_be_updated_p : 1; |
429ec2c075e4
(struct window): Add vscroll.
Gerd Moellmann <gerd@gnu.org>
parents:
21938
diff
changeset
|
281 |
429ec2c075e4
(struct window): Add vscroll.
Gerd Moellmann <gerd@gnu.org>
parents:
21938
diff
changeset
|
282 /* Flag indicating that this window is not a real one. |
429ec2c075e4
(struct window): Add vscroll.
Gerd Moellmann <gerd@gnu.org>
parents:
21938
diff
changeset
|
283 Currently only used for menu bar windows of frames. */ |
429ec2c075e4
(struct window): Add vscroll.
Gerd Moellmann <gerd@gnu.org>
parents:
21938
diff
changeset
|
284 unsigned pseudo_window_p : 1; |
429ec2c075e4
(struct window): Add vscroll.
Gerd Moellmann <gerd@gnu.org>
parents:
21938
diff
changeset
|
285 |
98231
05d5848d935c
* frame.h (struct frame): Move alpha from the middle of bitfields.
Dan Nicolaescu <dann@ics.uci.edu>
parents:
95590
diff
changeset
|
286 /* 1 means the window start of this window is frozen and may not |
05d5848d935c
* frame.h (struct frame): Move alpha from the middle of bitfields.
Dan Nicolaescu <dann@ics.uci.edu>
parents:
95590
diff
changeset
|
287 be changed during redisplay. If point is not in the window, |
05d5848d935c
* frame.h (struct frame): Move alpha from the middle of bitfields.
Dan Nicolaescu <dann@ics.uci.edu>
parents:
95590
diff
changeset
|
288 accept that. */ |
05d5848d935c
* frame.h (struct frame): Move alpha from the middle of bitfields.
Dan Nicolaescu <dann@ics.uci.edu>
parents:
95590
diff
changeset
|
289 unsigned frozen_window_start_p : 1; |
05d5848d935c
* frame.h (struct frame): Move alpha from the middle of bitfields.
Dan Nicolaescu <dann@ics.uci.edu>
parents:
95590
diff
changeset
|
290 |
24996
429ec2c075e4
(struct window): Add vscroll.
Gerd Moellmann <gerd@gnu.org>
parents:
21938
diff
changeset
|
291 /* Amount by which lines of this window are scrolled in |
429ec2c075e4
(struct window): Add vscroll.
Gerd Moellmann <gerd@gnu.org>
parents:
21938
diff
changeset
|
292 y-direction (smooth scrolling). */ |
429ec2c075e4
(struct window): Add vscroll.
Gerd Moellmann <gerd@gnu.org>
parents:
21938
diff
changeset
|
293 int vscroll; |
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
46107
diff
changeset
|
294 |
24996
429ec2c075e4
(struct window): Add vscroll.
Gerd Moellmann <gerd@gnu.org>
parents:
21938
diff
changeset
|
295 /* Z_BYTE - the buffer position of the last glyph in the current matrix |
429ec2c075e4
(struct window): Add vscroll.
Gerd Moellmann <gerd@gnu.org>
parents:
21938
diff
changeset
|
296 of W. Only valid if WINDOW_END_VALID is not nil. */ |
429ec2c075e4
(struct window): Add vscroll.
Gerd Moellmann <gerd@gnu.org>
parents:
21938
diff
changeset
|
297 int window_end_bytepos; |
429ec2c075e4
(struct window): Add vscroll.
Gerd Moellmann <gerd@gnu.org>
parents:
21938
diff
changeset
|
298 }; |
361 | 299 |
300 /* 1 if W is a minibuffer window. */ | |
301 | |
39585 | 302 #define MINI_WINDOW_P(W) (!NILP ((W)->mini_p)) |
361 | 303 |
51208
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
304 /* General window layout: |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
305 |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
306 LEFT_EDGE_COL RIGHT_EDGE_COL |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
307 | | |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
308 | | |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
309 | BOX_LEFT_EDGE_COL | |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
310 | | BOX_RIGHT_EDGE_COL | |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
311 | | | | |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
312 v v v v |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
313 <-><-><---><-----------><---><-><-> |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
314 ^ ^ ^ ^ ^ ^ ^ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
315 | | | | | | | |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
316 | | | | | | +-- RIGHT_SCROLL_BAR_COLS |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
317 | | | | | +----- RIGHT_FRINGE_WIDTH |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
318 | | | | +--------- RIGHT_MARGIN_COLS |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
319 | | | | |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
320 | | | +------------------ TEXT_AREA_COLS |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
321 | | | |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
322 | | +--------------------------- LEFT_MARGIN_COLS |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
323 | +------------------------------- LEFT_FRINGE_WIDTH |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
324 +---------------------------------- LEFT_SCROLL_BAR_COLS |
55028
0f5f3d0c5f4c
(Fwindow_vscroll, Fset_window_vscroll): Fix EXFUN.
Kim F. Storm <storm@cua.dk>
parents:
54228
diff
changeset
|
325 |
51208
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
326 */ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
327 |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
328 |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
329 /* A handy macro. */ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
330 |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
331 #define WINDOW_XFRAME(W) \ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
332 (XFRAME (WINDOW_FRAME ((W)))) |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
333 |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
334 /* Return the canonical column width of the frame of window W. */ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
335 |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
336 #define WINDOW_FRAME_COLUMN_WIDTH(W) \ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
337 (FRAME_COLUMN_WIDTH (WINDOW_XFRAME ((W)))) |
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
46107
diff
changeset
|
338 |
51208
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
339 /* Return the canonical column width of the frame of window W. */ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
340 |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
341 #define WINDOW_FRAME_LINE_HEIGHT(W) \ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
342 (FRAME_LINE_HEIGHT (WINDOW_XFRAME ((W)))) |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
343 |
94514
befafb2d0928
(struct window): Replace field too_small_ok by field
Martin Rudalics <rudalics@gmx.at>
parents:
88050
diff
changeset
|
344 /* Return the width of window W in canonical column units. |
51208
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
345 This includes scroll bars and fringes. */ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
346 |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
347 #define WINDOW_TOTAL_COLS(W) \ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
348 (XFASTINT ((W)->total_cols)) |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
349 |
94514
befafb2d0928
(struct window): Replace field too_small_ok by field
Martin Rudalics <rudalics@gmx.at>
parents:
88050
diff
changeset
|
350 /* Return the height of window W in canonical line units. |
51208
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
351 This includes header and mode lines, if any. */ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
352 |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
353 #define WINDOW_TOTAL_LINES(W) \ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
354 (XFASTINT ((W)->total_lines)) |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
355 |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
356 /* Return the total pixel width of window W. */ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
357 |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
358 #define WINDOW_TOTAL_WIDTH(W) \ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
359 (WINDOW_TOTAL_COLS (W) * WINDOW_FRAME_COLUMN_WIDTH (W)) |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
360 |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
361 /* Return the total pixel height of window W. */ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
362 |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
363 #define WINDOW_TOTAL_HEIGHT(W) \ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
364 (WINDOW_TOTAL_LINES (W) * WINDOW_FRAME_LINE_HEIGHT (W)) |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
365 |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
366 |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
367 /* Return the canonical frame column at which window W starts. |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
368 This includes a left-hand scroll bar, if any. */ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
369 |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
370 #define WINDOW_LEFT_EDGE_COL(W) \ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
371 (XFASTINT ((W)->left_col)) |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
372 |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
373 /* Return the canonical frame column before which window W ends. |
16264
012a1d850ee8
(WINDOW_LEFT_MARGIN): New macro.
Richard M. Stallman <rms@gnu.org>
parents:
16192
diff
changeset
|
374 This includes a right-hand scroll bar, if any. */ |
012a1d850ee8
(WINDOW_LEFT_MARGIN): New macro.
Richard M. Stallman <rms@gnu.org>
parents:
16192
diff
changeset
|
375 |
51208
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
376 #define WINDOW_RIGHT_EDGE_COL(W) \ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
377 (WINDOW_LEFT_EDGE_COL (W) + WINDOW_TOTAL_COLS (W)) |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
378 |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
379 /* Return the canonical frame line at which window W starts. |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
380 This includes a header line, if any. */ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
381 |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
382 #define WINDOW_TOP_EDGE_LINE(W) \ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
383 (XFASTINT ((W)->top_line)) |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
384 |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
385 /* Return the canonical frame line before which window W ends. |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
386 This includes a mode line, if any. */ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
387 |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
388 #define WINDOW_BOTTOM_EDGE_LINE(W) \ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
389 (WINDOW_TOP_EDGE_LINE (W) + WINDOW_TOTAL_LINES (W)) |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
390 |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
391 |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
392 /* Return the frame x-position at which window W starts. |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
393 This includes a left-hand scroll bar, if any. */ |
16264
012a1d850ee8
(WINDOW_LEFT_MARGIN): New macro.
Richard M. Stallman <rms@gnu.org>
parents:
16192
diff
changeset
|
394 |
51208
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
395 #define WINDOW_LEFT_EDGE_X(W) \ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
396 (FRAME_INTERNAL_BORDER_WIDTH (WINDOW_XFRAME (W)) \ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
397 + WINDOW_LEFT_EDGE_COL (W) * WINDOW_FRAME_COLUMN_WIDTH (W)) |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
398 |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
399 /* Return the frame x- position before which window W ends. |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
400 This includes a right-hand scroll bar, if any. */ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
401 |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
402 #define WINDOW_RIGHT_EDGE_X(W) \ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
403 (FRAME_INTERNAL_BORDER_WIDTH (WINDOW_XFRAME (W)) \ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
404 + WINDOW_RIGHT_EDGE_COL (W) * WINDOW_FRAME_COLUMN_WIDTH (W)) |
16264
012a1d850ee8
(WINDOW_LEFT_MARGIN): New macro.
Richard M. Stallman <rms@gnu.org>
parents:
16192
diff
changeset
|
405 |
106768
21fd634f447a
Make line<->pixel_y conversion macros aware of native menu/tool bars.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
100951
diff
changeset
|
406 /* 1 if W is a menu bar window. */ |
21fd634f447a
Make line<->pixel_y conversion macros aware of native menu/tool bars.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
100951
diff
changeset
|
407 |
21fd634f447a
Make line<->pixel_y conversion macros aware of native menu/tool bars.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
100951
diff
changeset
|
408 #define WINDOW_MENU_BAR_P(W) \ |
21fd634f447a
Make line<->pixel_y conversion macros aware of native menu/tool bars.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
100951
diff
changeset
|
409 (WINDOWP (WINDOW_XFRAME (W)->menu_bar_window) \ |
21fd634f447a
Make line<->pixel_y conversion macros aware of native menu/tool bars.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
100951
diff
changeset
|
410 && (W) == XWINDOW (WINDOW_XFRAME (W)->menu_bar_window)) |
21fd634f447a
Make line<->pixel_y conversion macros aware of native menu/tool bars.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
100951
diff
changeset
|
411 |
21fd634f447a
Make line<->pixel_y conversion macros aware of native menu/tool bars.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
100951
diff
changeset
|
412 /* 1 if W is a tool bar window. */ |
21fd634f447a
Make line<->pixel_y conversion macros aware of native menu/tool bars.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
100951
diff
changeset
|
413 |
21fd634f447a
Make line<->pixel_y conversion macros aware of native menu/tool bars.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
100951
diff
changeset
|
414 #define WINDOW_TOOL_BAR_P(W) \ |
21fd634f447a
Make line<->pixel_y conversion macros aware of native menu/tool bars.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
100951
diff
changeset
|
415 (WINDOWP (WINDOW_XFRAME (W)->tool_bar_window) \ |
21fd634f447a
Make line<->pixel_y conversion macros aware of native menu/tool bars.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
100951
diff
changeset
|
416 && (W) == XWINDOW (WINDOW_XFRAME (W)->tool_bar_window)) |
21fd634f447a
Make line<->pixel_y conversion macros aware of native menu/tool bars.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
100951
diff
changeset
|
417 |
51208
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
418 /* Return the frame y-position at which window W starts. |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
419 This includes a header line, if any. */ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
420 |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
421 #define WINDOW_TOP_EDGE_Y(W) \ |
106768
21fd634f447a
Make line<->pixel_y conversion macros aware of native menu/tool bars.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
100951
diff
changeset
|
422 (((WINDOW_MENU_BAR_P (W) || WINDOW_TOOL_BAR_P (W)) \ |
21fd634f447a
Make line<->pixel_y conversion macros aware of native menu/tool bars.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
100951
diff
changeset
|
423 ? 0 : FRAME_INTERNAL_BORDER_WIDTH (WINDOW_XFRAME (W))) \ |
51208
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
424 + WINDOW_TOP_EDGE_LINE (W) * WINDOW_FRAME_LINE_HEIGHT (W)) |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
425 |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
426 /* Return the frame y-position before which window W ends. |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
427 This includes a mode line, if any. */ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
428 |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
429 #define WINDOW_BOTTOM_EDGE_Y(W) \ |
106768
21fd634f447a
Make line<->pixel_y conversion macros aware of native menu/tool bars.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
100951
diff
changeset
|
430 (((WINDOW_MENU_BAR_P (W) || WINDOW_TOOL_BAR_P (W)) \ |
21fd634f447a
Make line<->pixel_y conversion macros aware of native menu/tool bars.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents:
100951
diff
changeset
|
431 ? 0 : FRAME_INTERNAL_BORDER_WIDTH (WINDOW_XFRAME (W))) \ |
51208
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
432 + WINDOW_BOTTOM_EDGE_LINE (W) * WINDOW_FRAME_LINE_HEIGHT (W)) |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
433 |
16264
012a1d850ee8
(WINDOW_LEFT_MARGIN): New macro.
Richard M. Stallman <rms@gnu.org>
parents:
16192
diff
changeset
|
434 |
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
46107
diff
changeset
|
435 /* 1 if window W takes up the full width of its frame. */ |
16264
012a1d850ee8
(WINDOW_LEFT_MARGIN): New macro.
Richard M. Stallman <rms@gnu.org>
parents:
16192
diff
changeset
|
436 |
012a1d850ee8
(WINDOW_LEFT_MARGIN): New macro.
Richard M. Stallman <rms@gnu.org>
parents:
16192
diff
changeset
|
437 #define WINDOW_FULL_WIDTH_P(W) \ |
51208
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
438 (WINDOW_TOTAL_COLS (W) == FRAME_TOTAL_COLS (WINDOW_XFRAME (W))) |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
439 |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
440 /* 1 if window W's has no other windows to its left in its frame. */ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
441 |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
442 #define WINDOW_LEFTMOST_P(W) \ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
443 (WINDOW_LEFT_EDGE_COL (W) == 0) |
16264
012a1d850ee8
(WINDOW_LEFT_MARGIN): New macro.
Richard M. Stallman <rms@gnu.org>
parents:
16192
diff
changeset
|
444 |
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
46107
diff
changeset
|
445 /* 1 if window W's has no other windows to its right in its frame. */ |
16264
012a1d850ee8
(WINDOW_LEFT_MARGIN): New macro.
Richard M. Stallman <rms@gnu.org>
parents:
16192
diff
changeset
|
446 |
012a1d850ee8
(WINDOW_LEFT_MARGIN): New macro.
Richard M. Stallman <rms@gnu.org>
parents:
16192
diff
changeset
|
447 #define WINDOW_RIGHTMOST_P(W) \ |
51208
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
448 (WINDOW_RIGHT_EDGE_COL (W) == FRAME_TOTAL_COLS (WINDOW_XFRAME (W))) |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
449 |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
450 |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
451 /* Return the frame column at which the text (or left fringe) in |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
452 window W starts. This is different from the `LEFT_EDGE' because it |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
453 does not include a left-hand scroll bar if any. */ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
454 |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
455 #define WINDOW_BOX_LEFT_EDGE_COL(W) \ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
456 (WINDOW_LEFT_EDGE_COL (W) \ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
457 + WINDOW_LEFT_SCROLL_BAR_COLS (W)) |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
458 |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
459 /* Return the window column before which the text in window W ends. |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
460 This is different from WINDOW_RIGHT_EDGE_COL because it does not |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
461 include a scroll bar or window-separating line on the right edge. */ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
462 |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
463 #define WINDOW_BOX_RIGHT_EDGE_COL(W) \ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
464 (WINDOW_RIGHT_EDGE_COL (W) \ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
465 - WINDOW_RIGHT_SCROLL_BAR_COLS (W)) |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
466 |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
467 |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
468 /* Return the frame position at which the text (or left fringe) in |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
469 window W starts. This is different from the `LEFT_EDGE' because it |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
470 does not include a left-hand scroll bar if any. */ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
471 |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
472 #define WINDOW_BOX_LEFT_EDGE_X(W) \ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
473 (FRAME_INTERNAL_BORDER_WIDTH (WINDOW_XFRAME (W)) \ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
474 + WINDOW_BOX_LEFT_EDGE_COL (W) * WINDOW_FRAME_COLUMN_WIDTH (W)) |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
475 |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
476 /* Return the window column before which the text in window W ends. |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
477 This is different from WINDOW_RIGHT_EDGE_COL because it does not |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
478 include a scroll bar or window-separating line on the right edge. */ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
479 |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
480 #define WINDOW_BOX_RIGHT_EDGE_X(W) \ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
481 (FRAME_INTERNAL_BORDER_WIDTH (WINDOW_XFRAME (W)) \ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
482 + WINDOW_BOX_RIGHT_EDGE_COL (W) * WINDOW_FRAME_COLUMN_WIDTH (W)) |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
483 |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
484 |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
485 /* Width of left margin area in columns. */ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
486 |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
487 #define WINDOW_LEFT_MARGIN_COLS(W) \ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
488 (NILP ((W)->left_margin_cols) \ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
489 ? 0 \ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
490 : XINT ((W)->left_margin_cols)) |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
491 |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
492 /* Width of right marginal area in columns. */ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
493 |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
494 #define WINDOW_RIGHT_MARGIN_COLS(W) \ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
495 (NILP ((W)->right_margin_cols) \ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
496 ? 0 \ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
497 : XINT ((W)->right_margin_cols)) |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
498 |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
499 /* Width of left margin area in pixels. */ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
500 |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
501 #define WINDOW_LEFT_MARGIN_WIDTH(W) \ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
502 (NILP ((W)->left_margin_cols) \ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
503 ? 0 \ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
504 : (XINT ((W)->left_margin_cols) \ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
505 * WINDOW_FRAME_COLUMN_WIDTH (W))) |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
506 |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
507 /* Width of right marginal area in pixels. */ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
508 |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
509 #define WINDOW_RIGHT_MARGIN_WIDTH(W) \ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
510 (NILP ((W)->right_margin_cols) \ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
511 ? 0 \ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
512 : (XINT ((W)->right_margin_cols) \ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
513 * WINDOW_FRAME_COLUMN_WIDTH (W))) |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
514 |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
515 /* Total width of fringes reserved for drawing truncation bitmaps, |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
516 continuation bitmaps and alike. The width is in canonical char |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
517 units of the frame. This must currently be the case because window |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
518 sizes aren't pixel values. If it weren't the case, we wouldn't be |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
519 able to split windows horizontally nicely. */ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
520 |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
521 #define WINDOW_FRINGE_COLS(W) \ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
522 ((INTEGERP ((W)->left_fringe_width) \ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
523 || INTEGERP ((W)->right_fringe_width)) \ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
524 ? ((WINDOW_LEFT_FRINGE_WIDTH (W) \ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
525 + WINDOW_RIGHT_FRINGE_WIDTH (W) \ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
526 + WINDOW_FRAME_COLUMN_WIDTH (W) - 1) \ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
527 / WINDOW_FRAME_COLUMN_WIDTH (W)) \ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
528 : FRAME_FRINGE_COLS (WINDOW_XFRAME (W))) |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
529 |
51426
61b517a32e7b
(WINDOW_LEFT_FRINGE_COLS, WINDOW_RIGHT_FRINGE_COLS)
Richard M. Stallman <rms@gnu.org>
parents:
51239
diff
changeset
|
530 /* Column-width of the left and right fringe. */ |
61b517a32e7b
(WINDOW_LEFT_FRINGE_COLS, WINDOW_RIGHT_FRINGE_COLS)
Richard M. Stallman <rms@gnu.org>
parents:
51239
diff
changeset
|
531 |
61b517a32e7b
(WINDOW_LEFT_FRINGE_COLS, WINDOW_RIGHT_FRINGE_COLS)
Richard M. Stallman <rms@gnu.org>
parents:
51239
diff
changeset
|
532 #define WINDOW_LEFT_FRINGE_COLS(W) \ |
61b517a32e7b
(WINDOW_LEFT_FRINGE_COLS, WINDOW_RIGHT_FRINGE_COLS)
Richard M. Stallman <rms@gnu.org>
parents:
51239
diff
changeset
|
533 ((WINDOW_LEFT_FRINGE_WIDTH ((W)) \ |
61b517a32e7b
(WINDOW_LEFT_FRINGE_COLS, WINDOW_RIGHT_FRINGE_COLS)
Richard M. Stallman <rms@gnu.org>
parents:
51239
diff
changeset
|
534 + WINDOW_FRAME_COLUMN_WIDTH (W) - 1) \ |
61b517a32e7b
(WINDOW_LEFT_FRINGE_COLS, WINDOW_RIGHT_FRINGE_COLS)
Richard M. Stallman <rms@gnu.org>
parents:
51239
diff
changeset
|
535 / WINDOW_FRAME_COLUMN_WIDTH (W)) |
61b517a32e7b
(WINDOW_LEFT_FRINGE_COLS, WINDOW_RIGHT_FRINGE_COLS)
Richard M. Stallman <rms@gnu.org>
parents:
51239
diff
changeset
|
536 |
61b517a32e7b
(WINDOW_LEFT_FRINGE_COLS, WINDOW_RIGHT_FRINGE_COLS)
Richard M. Stallman <rms@gnu.org>
parents:
51239
diff
changeset
|
537 #define WINDOW_RIGHT_FRINGE_COLS(W) \ |
61b517a32e7b
(WINDOW_LEFT_FRINGE_COLS, WINDOW_RIGHT_FRINGE_COLS)
Richard M. Stallman <rms@gnu.org>
parents:
51239
diff
changeset
|
538 ((WINDOW_RIGHT_FRINGE_WIDTH ((W)) \ |
61b517a32e7b
(WINDOW_LEFT_FRINGE_COLS, WINDOW_RIGHT_FRINGE_COLS)
Richard M. Stallman <rms@gnu.org>
parents:
51239
diff
changeset
|
539 + WINDOW_FRAME_COLUMN_WIDTH (W) - 1) \ |
61b517a32e7b
(WINDOW_LEFT_FRINGE_COLS, WINDOW_RIGHT_FRINGE_COLS)
Richard M. Stallman <rms@gnu.org>
parents:
51239
diff
changeset
|
540 / WINDOW_FRAME_COLUMN_WIDTH (W)) |
61b517a32e7b
(WINDOW_LEFT_FRINGE_COLS, WINDOW_RIGHT_FRINGE_COLS)
Richard M. Stallman <rms@gnu.org>
parents:
51239
diff
changeset
|
541 |
51208
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
542 /* Pixel-width of the left and right fringe. */ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
543 |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
544 #define WINDOW_LEFT_FRINGE_WIDTH(W) \ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
545 (INTEGERP ((W)->left_fringe_width) \ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
546 ? XFASTINT ((W)->left_fringe_width) \ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
547 : FRAME_LEFT_FRINGE_WIDTH (WINDOW_XFRAME (W))) |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
548 |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
549 #define WINDOW_RIGHT_FRINGE_WIDTH(W) \ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
550 (INTEGERP ((W)->right_fringe_width) \ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
551 ? XFASTINT ((W)->right_fringe_width) \ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
552 : FRAME_RIGHT_FRINGE_WIDTH (WINDOW_XFRAME (W))) |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
553 |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
554 /* Total width of fringes in pixels. */ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
555 |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
556 #define WINDOW_TOTAL_FRINGE_WIDTH(W) \ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
557 (WINDOW_LEFT_FRINGE_WIDTH (W) + WINDOW_RIGHT_FRINGE_WIDTH (W)) |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
558 |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
559 /* Are fringes outside display margins in window W. */ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
560 |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
561 #define WINDOW_HAS_FRINGES_OUTSIDE_MARGINS(W) \ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
562 (!NILP ((W)->fringes_outside_margins)) |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
563 |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
564 /* Say whether scroll bars are currently enabled for window W, |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
565 and which side they are on. */ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
566 |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
567 #define WINDOW_VERTICAL_SCROLL_BAR_TYPE(w) \ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
568 (EQ ((w)->vertical_scroll_bar_type, Qt) \ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
569 ? FRAME_VERTICAL_SCROLL_BAR_TYPE (WINDOW_XFRAME (w)) \ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
570 : EQ ((w)->vertical_scroll_bar_type, Qleft) \ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
571 ? vertical_scroll_bar_left \ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
572 : EQ ((w)->vertical_scroll_bar_type, Qright) \ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
573 ? vertical_scroll_bar_right \ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
574 : vertical_scroll_bar_none) \ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
575 |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
576 #define WINDOW_HAS_VERTICAL_SCROLL_BAR(w) \ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
577 (EQ ((w)->vertical_scroll_bar_type, Qt) \ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
578 ? FRAME_HAS_VERTICAL_SCROLL_BARS (WINDOW_XFRAME (w)) \ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
579 : !NILP ((w)->vertical_scroll_bar_type)) |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
580 |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
581 #define WINDOW_HAS_VERTICAL_SCROLL_BAR_ON_LEFT(w) \ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
582 (EQ ((w)->vertical_scroll_bar_type, Qt) \ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
583 ? FRAME_HAS_VERTICAL_SCROLL_BARS_ON_LEFT (WINDOW_XFRAME (w)) \ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
584 : EQ ((w)->vertical_scroll_bar_type, Qleft)) |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
585 |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
586 #define WINDOW_HAS_VERTICAL_SCROLL_BAR_ON_RIGHT(w) \ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
587 (EQ ((w)->vertical_scroll_bar_type, Qt) \ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
588 ? FRAME_HAS_VERTICAL_SCROLL_BARS_ON_RIGHT (WINDOW_XFRAME (w))\ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
589 : EQ ((w)->vertical_scroll_bar_type, Qright)) |
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
46107
diff
changeset
|
590 |
51208
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
591 /* Width that a scroll bar in window W should have, if there is one. |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
592 Measured in pixels. If scroll bars are turned off, this is still |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
593 nonzero. */ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
594 |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
595 #define WINDOW_CONFIG_SCROLL_BAR_WIDTH(w) \ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
596 (INTEGERP ((w)->scroll_bar_width) \ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
597 ? XFASTINT ((w)->scroll_bar_width) \ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
598 : FRAME_CONFIG_SCROLL_BAR_WIDTH (WINDOW_XFRAME (w))) |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
599 |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
600 /* Width that a scroll bar in window W should have, if there is one. |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
601 Measured in columns (characters). If scroll bars are turned off, |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
602 this is still nonzero. */ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
603 |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
604 #define WINDOW_CONFIG_SCROLL_BAR_COLS(w) \ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
605 (INTEGERP ((w)->scroll_bar_width) \ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
606 ? ((XFASTINT ((w)->scroll_bar_width) \ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
607 + WINDOW_FRAME_COLUMN_WIDTH (w) - 1) \ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
608 / WINDOW_FRAME_COLUMN_WIDTH (w)) \ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
609 : FRAME_CONFIG_SCROLL_BAR_COLS (WINDOW_XFRAME (w))) |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
610 |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
611 /* Width of a scroll bar in window W, measured in columns (characters), |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
612 but only if scroll bars are on the left. If scroll bars are on |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
613 the right in this frame, or there are no scroll bars, value is 0. */ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
614 |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
615 #define WINDOW_LEFT_SCROLL_BAR_COLS(w) \ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
616 (WINDOW_HAS_VERTICAL_SCROLL_BAR_ON_LEFT (w) \ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
617 ? (WINDOW_CONFIG_SCROLL_BAR_COLS (w)) \ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
618 : 0) |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
619 |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
620 /* Width of a left scroll bar area in window W , measured in pixels. */ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
621 |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
622 #define WINDOW_LEFT_SCROLL_BAR_AREA_WIDTH(w) \ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
623 (WINDOW_HAS_VERTICAL_SCROLL_BAR_ON_LEFT (w) \ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
624 ? (WINDOW_CONFIG_SCROLL_BAR_COLS (w) * WINDOW_FRAME_COLUMN_WIDTH (w)) \ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
625 : 0) |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
626 |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
627 /* Width of a scroll bar in window W, measured in columns (characters), |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
628 but only if scroll bars are on the right. If scroll bars are on |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
629 the left in this frame, or there are no scroll bars, value is 0. */ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
630 |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
631 #define WINDOW_RIGHT_SCROLL_BAR_COLS(w) \ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
632 (WINDOW_HAS_VERTICAL_SCROLL_BAR_ON_RIGHT (w) \ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
633 ? WINDOW_CONFIG_SCROLL_BAR_COLS (w) \ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
634 : 0) |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
635 |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
636 /* Width of a left scroll bar area in window W , measured in pixels. */ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
637 |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
638 #define WINDOW_RIGHT_SCROLL_BAR_AREA_WIDTH(w) \ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
639 (WINDOW_HAS_VERTICAL_SCROLL_BAR_ON_RIGHT (w) \ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
640 ? (WINDOW_CONFIG_SCROLL_BAR_COLS (w) * WINDOW_FRAME_COLUMN_WIDTH (w)) \ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
641 : 0) |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
642 |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
643 |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
644 /* Actual width of a scroll bar in window W, measured in columns. */ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
645 |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
646 #define WINDOW_SCROLL_BAR_COLS(w) \ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
647 (WINDOW_HAS_VERTICAL_SCROLL_BAR (w) \ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
648 ? WINDOW_CONFIG_SCROLL_BAR_COLS (w) \ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
649 : 0) |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
650 |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
651 /* Width of a left scroll bar area in window W , measured in pixels. */ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
652 |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
653 #define WINDOW_SCROLL_BAR_AREA_WIDTH(w) \ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
654 (WINDOW_HAS_VERTICAL_SCROLL_BAR (w) \ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
655 ? (WINDOW_CONFIG_SCROLL_BAR_COLS (w) * WINDOW_FRAME_COLUMN_WIDTH (w)) \ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
656 : 0) |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
657 |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
658 |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
659 /* Return the frame position where the scroll bar of window W starts. */ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
660 |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
661 #define WINDOW_SCROLL_BAR_AREA_X(W) \ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
662 (WINDOW_HAS_VERTICAL_SCROLL_BAR_ON_RIGHT (W) \ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
663 ? WINDOW_BOX_RIGHT_EDGE_X (W) \ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
664 : WINDOW_LEFT_EDGE_X (W)) |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
665 |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
666 |
51426
61b517a32e7b
(WINDOW_LEFT_FRINGE_COLS, WINDOW_RIGHT_FRINGE_COLS)
Richard M. Stallman <rms@gnu.org>
parents:
51239
diff
changeset
|
667 /* Height in pixels, and in lines, of the mode line. |
61b517a32e7b
(WINDOW_LEFT_FRINGE_COLS, WINDOW_RIGHT_FRINGE_COLS)
Richard M. Stallman <rms@gnu.org>
parents:
51239
diff
changeset
|
668 May be zero if W doesn't have a mode line. */ |
51208
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
669 |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
670 #define WINDOW_MODE_LINE_HEIGHT(W) \ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
671 (WINDOW_WANTS_MODELINE_P ((W)) \ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
672 ? CURRENT_MODE_LINE_HEIGHT (W) \ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
673 : 0) |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
674 |
51426
61b517a32e7b
(WINDOW_LEFT_FRINGE_COLS, WINDOW_RIGHT_FRINGE_COLS)
Richard M. Stallman <rms@gnu.org>
parents:
51239
diff
changeset
|
675 #define WINDOW_MODE_LINE_LINES(W) \ |
61b517a32e7b
(WINDOW_LEFT_FRINGE_COLS, WINDOW_RIGHT_FRINGE_COLS)
Richard M. Stallman <rms@gnu.org>
parents:
51239
diff
changeset
|
676 (!! WINDOW_WANTS_MODELINE_P ((W))) |
61b517a32e7b
(WINDOW_LEFT_FRINGE_COLS, WINDOW_RIGHT_FRINGE_COLS)
Richard M. Stallman <rms@gnu.org>
parents:
51239
diff
changeset
|
677 |
61b517a32e7b
(WINDOW_LEFT_FRINGE_COLS, WINDOW_RIGHT_FRINGE_COLS)
Richard M. Stallman <rms@gnu.org>
parents:
51239
diff
changeset
|
678 /* Height in pixels, and in lines, of the header line. |
61b517a32e7b
(WINDOW_LEFT_FRINGE_COLS, WINDOW_RIGHT_FRINGE_COLS)
Richard M. Stallman <rms@gnu.org>
parents:
51239
diff
changeset
|
679 Zero if W doesn't have a header line. */ |
51208
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
680 |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
681 #define WINDOW_HEADER_LINE_HEIGHT(W) \ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
682 (WINDOW_WANTS_HEADER_LINE_P ((W)) \ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
683 ? CURRENT_HEADER_LINE_HEIGHT (W) \ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
684 : 0) |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
685 |
51426
61b517a32e7b
(WINDOW_LEFT_FRINGE_COLS, WINDOW_RIGHT_FRINGE_COLS)
Richard M. Stallman <rms@gnu.org>
parents:
51239
diff
changeset
|
686 #define WINDOW_HEADER_LINE_LINES(W) \ |
61b517a32e7b
(WINDOW_LEFT_FRINGE_COLS, WINDOW_RIGHT_FRINGE_COLS)
Richard M. Stallman <rms@gnu.org>
parents:
51239
diff
changeset
|
687 (!! WINDOW_WANTS_HEADER_LINE_P ((W))) |
61b517a32e7b
(WINDOW_LEFT_FRINGE_COLS, WINDOW_RIGHT_FRINGE_COLS)
Richard M. Stallman <rms@gnu.org>
parents:
51239
diff
changeset
|
688 |
51208
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
689 /* Pixel height of window W without mode line. */ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
690 |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
691 #define WINDOW_BOX_HEIGHT_NO_MODE_LINE(W) \ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
692 (WINDOW_TOTAL_HEIGHT ((W)) \ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
693 - WINDOW_MODE_LINE_HEIGHT ((W))) |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
694 |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
695 /* Pixel height of window W without mode and header line. */ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
696 |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
697 #define WINDOW_BOX_TEXT_HEIGHT(W) \ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
698 (WINDOW_TOTAL_HEIGHT ((W)) \ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
699 - WINDOW_MODE_LINE_HEIGHT ((W)) \ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
700 - WINDOW_HEADER_LINE_HEIGHT ((W))) |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
701 |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
702 |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
703 /* Convert window W relative pixel X to frame pixel coordinates. */ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
704 |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
705 #define WINDOW_TO_FRAME_PIXEL_X(W, X) \ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
706 ((X) + WINDOW_BOX_LEFT_EDGE_X ((W))) |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
707 |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
708 /* Convert window W relative pixel Y to frame pixel coordinates. */ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
709 |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
710 #define WINDOW_TO_FRAME_PIXEL_Y(W, Y) \ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
711 ((Y) + WINDOW_TOP_EDGE_Y ((W))) |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
712 |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
713 /* Convert frame relative pixel X to window relative pixel X. */ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
714 |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
715 #define FRAME_TO_WINDOW_PIXEL_X(W, X) \ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
716 ((X) - WINDOW_BOX_LEFT_EDGE_X ((W))) |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
717 |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
718 /* Convert frame relative pixel Y to window relative pixel Y. */ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
719 |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
720 #define FRAME_TO_WINDOW_PIXEL_Y(W, Y) \ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
721 ((Y) - WINDOW_TOP_EDGE_Y ((W))) |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
722 |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
723 /* Convert a text area relative x-position in window W to frame X |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
724 pixel coordinates. */ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
725 |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
726 #define WINDOW_TEXT_TO_FRAME_PIXEL_X(W, X) \ |
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
727 (window_box_left ((W), TEXT_AREA) + (X)) |
24996
429ec2c075e4
(struct window): Add vscroll.
Gerd Moellmann <gerd@gnu.org>
parents:
21938
diff
changeset
|
728 |
361 | 729 /* This is the window in which the terminal's cursor should |
730 be left when nothing is being done with it. This must | |
731 always be a leaf window, and its buffer is selected by | |
732 the top level editing loop at the end of each command. | |
733 | |
734 This value is always the same as | |
769 | 735 FRAME_SELECTED_WINDOW (selected_frame). */ |
361 | 736 |
737 extern Lisp_Object selected_window; | |
738 | |
739 /* This is a time stamp for window selection, so we can find the least | |
740 recently used window. Its only users are Fselect_window, | |
769 | 741 init_window_once, and make_frame. */ |
361 | 742 |
743 extern int window_select_count; | |
744 | |
769 | 745 /* The minibuffer window of the selected frame. |
361 | 746 Note that you cannot test for minibufferness of an arbitrary window |
998 | 747 by comparing against this; use the MINI_WINDOW_P macro instead. */ |
361 | 748 |
749 extern Lisp_Object minibuf_window; | |
750 | |
43572
33baa349c070
(Vminibuf_selected_window): Declare extern.
Kim F. Storm <storm@cua.dk>
parents:
39585
diff
changeset
|
751 /* Non-nil means it is the window whose mode line should be |
33baa349c070
(Vminibuf_selected_window): Declare extern.
Kim F. Storm <storm@cua.dk>
parents:
39585
diff
changeset
|
752 shown as the selected window when the minibuffer is selected. */ |
33baa349c070
(Vminibuf_selected_window): Declare extern.
Kim F. Storm <storm@cua.dk>
parents:
39585
diff
changeset
|
753 |
43595
b7964dae2379
(minibuf_selected_window): Renamed from Vminibuf_selected_window.
Kim F. Storm <storm@cua.dk>
parents:
43572
diff
changeset
|
754 extern Lisp_Object minibuf_selected_window; |
43572
33baa349c070
(Vminibuf_selected_window): Declare extern.
Kim F. Storm <storm@cua.dk>
parents:
39585
diff
changeset
|
755 |
361 | 756 /* Window that the mouse is over (nil if no mouse support). */ |
24996
429ec2c075e4
(struct window): Add vscroll.
Gerd Moellmann <gerd@gnu.org>
parents:
21938
diff
changeset
|
757 |
361 | 758 extern Lisp_Object Vmouse_window; |
759 | |
760 /* Last mouse-click event (nil if no mouse support). */ | |
24996
429ec2c075e4
(struct window): Add vscroll.
Gerd Moellmann <gerd@gnu.org>
parents:
21938
diff
changeset
|
761 |
361 | 762 extern Lisp_Object Vmouse_event; |
763 | |
20349 | 764 EXFUN (Fnext_window, 3); |
51048
7ac9c3bea5ea
(Fselect_window): Add optional arg `norecord'.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
50996
diff
changeset
|
765 EXFUN (Fselect_window, 2); |
51208
86d74f5ea803
(struct window): Rename members left to left_col,
Kim F. Storm <storm@cua.dk>
parents:
51048
diff
changeset
|
766 EXFUN (Fset_window_buffer, 3); |
55028
0f5f3d0c5f4c
(Fwindow_vscroll, Fset_window_vscroll): Fix EXFUN.
Kim F. Storm <storm@cua.dk>
parents:
54228
diff
changeset
|
767 EXFUN (Fset_window_vscroll, 3); |
24996
429ec2c075e4
(struct window): Add vscroll.
Gerd Moellmann <gerd@gnu.org>
parents:
21938
diff
changeset
|
768 EXFUN (Fset_window_margins, 3); |
34497 | 769 EXFUN (Fset_window_point, 2); |
109099 | 770 extern Lisp_Object make_window (void); |
771 extern Lisp_Object window_from_coordinates (struct frame *, int, int, | |
111566
b4dbe6c4111e
Cleanup of window coordinate positioning code.
Chong Yidong <cyd@stupidchicken.com>
parents:
111564
diff
changeset
|
772 enum window_part *, int); |
20349 | 773 EXFUN (Fwindow_dedicated_p, 1); |
109099 | 774 extern void set_window_height (Lisp_Object, int, int); |
775 extern void set_window_width (Lisp_Object, int, int); | |
776 extern void change_window_heights (Lisp_Object, int); | |
777 extern void delete_all_subwindows (struct window *); | |
778 extern void freeze_window_starts (struct frame *, int); | |
779 extern void grow_mini_window (struct window *, int); | |
780 extern void shrink_mini_window (struct window *); | |
111566
b4dbe6c4111e
Cleanup of window coordinate positioning code.
Chong Yidong <cyd@stupidchicken.com>
parents:
111564
diff
changeset
|
781 extern int window_relative_x_coord (struct window *, enum window_part, int); |
25793
2bbee3534773
(struct window): New members orig_top, orig_height.
Gerd Moellmann <gerd@gnu.org>
parents:
25740
diff
changeset
|
782 |
88050
449ffc76e463
* window.c (run_window_configuration_change_hook): New function.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87649
diff
changeset
|
783 void run_window_configuration_change_hook (struct frame *f); |
361 | 784 |
24996
429ec2c075e4
(struct window): Add vscroll.
Gerd Moellmann <gerd@gnu.org>
parents:
21938
diff
changeset
|
785 /* Make WINDOW display BUFFER as its contents. RUN_HOOKS_P non-zero |
429ec2c075e4
(struct window): Add vscroll.
Gerd Moellmann <gerd@gnu.org>
parents:
21938
diff
changeset
|
786 means it's allowed to run hooks. See make_frame for a case where |
429ec2c075e4
(struct window): Add vscroll.
Gerd Moellmann <gerd@gnu.org>
parents:
21938
diff
changeset
|
787 it's not allowed. */ |
429ec2c075e4
(struct window): Add vscroll.
Gerd Moellmann <gerd@gnu.org>
parents:
21938
diff
changeset
|
788 |
109099 | 789 void set_window_buffer (Lisp_Object window, Lisp_Object buffer, |
790 int run_hooks_p, int keep_margins_p); | |
24996
429ec2c075e4
(struct window): Add vscroll.
Gerd Moellmann <gerd@gnu.org>
parents:
21938
diff
changeset
|
791 |
361 | 792 /* Prompt to display in front of the minibuffer contents. */ |
24996
429ec2c075e4
(struct window): Add vscroll.
Gerd Moellmann <gerd@gnu.org>
parents:
21938
diff
changeset
|
793 |
7950
c0a4d26e7498
(minibuf_prompt): Now a Lisp_Object. All uses changed.
Karl Heuer <kwzh@gnu.org>
parents:
5235
diff
changeset
|
794 extern Lisp_Object minibuf_prompt; |
361 | 795 |
488 | 796 /* The visual width of the above. */ |
24996
429ec2c075e4
(struct window): Add vscroll.
Gerd Moellmann <gerd@gnu.org>
parents:
21938
diff
changeset
|
797 |
488 | 798 extern int minibuf_prompt_width; |
799 | |
24996
429ec2c075e4
(struct window): Add vscroll.
Gerd Moellmann <gerd@gnu.org>
parents:
21938
diff
changeset
|
800 /* This is the window where the echo area message was displayed. It |
429ec2c075e4
(struct window): Add vscroll.
Gerd Moellmann <gerd@gnu.org>
parents:
21938
diff
changeset
|
801 is always a minibuffer window, but it may not be the same window |
429ec2c075e4
(struct window): Add vscroll.
Gerd Moellmann <gerd@gnu.org>
parents:
21938
diff
changeset
|
802 currently active as a minibuffer. */ |
429ec2c075e4
(struct window): Add vscroll.
Gerd Moellmann <gerd@gnu.org>
parents:
21938
diff
changeset
|
803 |
12632
81f12c1d0178
(echo_area_window): Declared.
Richard M. Stallman <rms@gnu.org>
parents:
11171
diff
changeset
|
804 extern Lisp_Object echo_area_window; |
81f12c1d0178
(echo_area_window): Declared.
Richard M. Stallman <rms@gnu.org>
parents:
11171
diff
changeset
|
805 |
361 | 806 /* Depth in recursive edits. */ |
24996
429ec2c075e4
(struct window): Add vscroll.
Gerd Moellmann <gerd@gnu.org>
parents:
21938
diff
changeset
|
807 |
361 | 808 extern int command_loop_level; |
809 | |
810 /* Depth in minibuffer invocations. */ | |
24996
429ec2c075e4
(struct window): Add vscroll.
Gerd Moellmann <gerd@gnu.org>
parents:
21938
diff
changeset
|
811 |
361 | 812 extern int minibuf_level; |
813 | |
78501 | 814 /* true if we should redraw the mode lines on the next redisplay. */ |
24996
429ec2c075e4
(struct window): Add vscroll.
Gerd Moellmann <gerd@gnu.org>
parents:
21938
diff
changeset
|
815 |
361 | 816 extern int update_mode_lines; |
817 | |
24996
429ec2c075e4
(struct window): Add vscroll.
Gerd Moellmann <gerd@gnu.org>
parents:
21938
diff
changeset
|
818 /* Nonzero if BEGV - BEG or Z - ZV of current buffer has changed since |
429ec2c075e4
(struct window): Add vscroll.
Gerd Moellmann <gerd@gnu.org>
parents:
21938
diff
changeset
|
819 last redisplay that finished. */ |
429ec2c075e4
(struct window): Add vscroll.
Gerd Moellmann <gerd@gnu.org>
parents:
21938
diff
changeset
|
820 |
361 | 821 extern int clip_changed; |
822 | |
24996
429ec2c075e4
(struct window): Add vscroll.
Gerd Moellmann <gerd@gnu.org>
parents:
21938
diff
changeset
|
823 /* Nonzero if window sizes or contents have changed since last |
429ec2c075e4
(struct window): Add vscroll.
Gerd Moellmann <gerd@gnu.org>
parents:
21938
diff
changeset
|
824 redisplay that finished */ |
429ec2c075e4
(struct window): Add vscroll.
Gerd Moellmann <gerd@gnu.org>
parents:
21938
diff
changeset
|
825 |
361 | 826 extern int windows_or_buffers_changed; |
827 | |
43988
44b653625dac
(cursor_type_changed): Hew variable.
Richard M. Stallman <rms@gnu.org>
parents:
43619
diff
changeset
|
828 /* Nonzero means a frame's cursor type has been changed. */ |
44b653625dac
(cursor_type_changed): Hew variable.
Richard M. Stallman <rms@gnu.org>
parents:
43619
diff
changeset
|
829 |
44b653625dac
(cursor_type_changed): Hew variable.
Richard M. Stallman <rms@gnu.org>
parents:
43619
diff
changeset
|
830 extern int cursor_type_changed; |
44b653625dac
(cursor_type_changed): Hew variable.
Richard M. Stallman <rms@gnu.org>
parents:
43619
diff
changeset
|
831 |
24996
429ec2c075e4
(struct window): Add vscroll.
Gerd Moellmann <gerd@gnu.org>
parents:
21938
diff
changeset
|
832 /* Number of windows displaying the selected buffer. Normally this is |
429ec2c075e4
(struct window): Add vscroll.
Gerd Moellmann <gerd@gnu.org>
parents:
21938
diff
changeset
|
833 1, but it can be more. */ |
429ec2c075e4
(struct window): Add vscroll.
Gerd Moellmann <gerd@gnu.org>
parents:
21938
diff
changeset
|
834 |
361 | 835 extern int buffer_shared; |
998 | 836 |
837 /* If *ROWS or *COLS are too small a size for FRAME, set them to the | |
838 minimum allowable size. */ | |
24996
429ec2c075e4
(struct window): Add vscroll.
Gerd Moellmann <gerd@gnu.org>
parents:
21938
diff
changeset
|
839 |
109099 | 840 extern void check_frame_size (struct frame *frame, int *rows, int *cols); |
24996
429ec2c075e4
(struct window): Add vscroll.
Gerd Moellmann <gerd@gnu.org>
parents:
21938
diff
changeset
|
841 |
429ec2c075e4
(struct window): Add vscroll.
Gerd Moellmann <gerd@gnu.org>
parents:
21938
diff
changeset
|
842 /* Return a pointer to the glyph W's physical cursor is on. Value is |
429ec2c075e4
(struct window): Add vscroll.
Gerd Moellmann <gerd@gnu.org>
parents:
21938
diff
changeset
|
843 null if W's current matrix is invalid, so that no meaningfull glyph |
429ec2c075e4
(struct window): Add vscroll.
Gerd Moellmann <gerd@gnu.org>
parents:
21938
diff
changeset
|
844 can be returned. */ |
429ec2c075e4
(struct window): Add vscroll.
Gerd Moellmann <gerd@gnu.org>
parents:
21938
diff
changeset
|
845 |
109099 | 846 struct glyph *get_phys_cursor_glyph (struct window *w); |
24996
429ec2c075e4
(struct window): Add vscroll.
Gerd Moellmann <gerd@gnu.org>
parents:
21938
diff
changeset
|
847 |
35399
21663e5e70de
(WINDOW_LIVE_P): New macro.
Gerd Moellmann <gerd@gnu.org>
parents:
34746
diff
changeset
|
848 /* Value is non-zero if WINDOW is a live window. */ |
21663e5e70de
(WINDOW_LIVE_P): New macro.
Gerd Moellmann <gerd@gnu.org>
parents:
34746
diff
changeset
|
849 |
21663e5e70de
(WINDOW_LIVE_P): New macro.
Gerd Moellmann <gerd@gnu.org>
parents:
34746
diff
changeset
|
850 #define WINDOW_LIVE_P(WINDOW) \ |
21663e5e70de
(WINDOW_LIVE_P): New macro.
Gerd Moellmann <gerd@gnu.org>
parents:
34746
diff
changeset
|
851 (WINDOWP ((WINDOW)) && !NILP (XWINDOW ((WINDOW))->buffer)) |
21663e5e70de
(WINDOW_LIVE_P): New macro.
Gerd Moellmann <gerd@gnu.org>
parents:
34746
diff
changeset
|
852 |
50996
9c6d139afc0f
(Qwindowp, Qwindow_live_p, Vwindow_list)
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
50368
diff
changeset
|
853 |
9c6d139afc0f
(Qwindowp, Qwindow_live_p, Vwindow_list)
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
50368
diff
changeset
|
854 /* These used to be in lisp.h. */ |
9c6d139afc0f
(Qwindowp, Qwindow_live_p, Vwindow_list)
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
50368
diff
changeset
|
855 |
9c6d139afc0f
(Qwindowp, Qwindow_live_p, Vwindow_list)
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
50368
diff
changeset
|
856 extern Lisp_Object Qwindowp, Qwindow_live_p; |
9c6d139afc0f
(Qwindowp, Qwindow_live_p, Vwindow_list)
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
50368
diff
changeset
|
857 extern Lisp_Object Vwindow_list; |
9c6d139afc0f
(Qwindowp, Qwindow_live_p, Vwindow_list)
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
50368
diff
changeset
|
858 |
9c6d139afc0f
(Qwindowp, Qwindow_live_p, Vwindow_list)
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
50368
diff
changeset
|
859 EXFUN (Fselected_window, 0); |
67995
ab3fdc2bada6
(Fwindow_minibuffer_p): Declare (for use in minibuf.c).
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
65603
diff
changeset
|
860 EXFUN (Fwindow_minibuffer_p, 1); |
50996
9c6d139afc0f
(Qwindowp, Qwindow_live_p, Vwindow_list)
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
50368
diff
changeset
|
861 EXFUN (Fdelete_window, 1); |
9c6d139afc0f
(Qwindowp, Qwindow_live_p, Vwindow_list)
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
50368
diff
changeset
|
862 EXFUN (Fwindow_buffer, 1); |
9c6d139afc0f
(Qwindowp, Qwindow_live_p, Vwindow_list)
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
50368
diff
changeset
|
863 EXFUN (Fget_buffer_window, 2); |
9c6d139afc0f
(Qwindowp, Qwindow_live_p, Vwindow_list)
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
50368
diff
changeset
|
864 EXFUN (Fsave_window_excursion, UNEVALLED); |
9c6d139afc0f
(Qwindowp, Qwindow_live_p, Vwindow_list)
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
50368
diff
changeset
|
865 EXFUN (Fset_window_configuration, 1); |
9c6d139afc0f
(Qwindowp, Qwindow_live_p, Vwindow_list)
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
50368
diff
changeset
|
866 EXFUN (Fcurrent_window_configuration, 1); |
109099 | 867 extern int compare_window_configurations (Lisp_Object, Lisp_Object, int); |
50996
9c6d139afc0f
(Qwindowp, Qwindow_live_p, Vwindow_list)
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
50368
diff
changeset
|
868 EXFUN (Fpos_visible_in_window_p, 3); |
109099 | 869 extern void mark_window_cursors_off (struct window *); |
870 extern int window_internal_height (struct window *); | |
50996
9c6d139afc0f
(Qwindowp, Qwindow_live_p, Vwindow_list)
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
50368
diff
changeset
|
871 EXFUN (Frecenter, 1); |
109099 | 872 extern void temp_output_buffer_show (Lisp_Object); |
873 extern void replace_buffer_in_all_windows (Lisp_Object); | |
874 extern void init_window_once (void); | |
875 extern void init_window (void); | |
876 extern void syms_of_window (void); | |
877 extern void keys_of_window (void); | |
50996
9c6d139afc0f
(Qwindowp, Qwindow_live_p, Vwindow_list)
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
50368
diff
changeset
|
878 |
109099 | 879 extern int window_box_text_cols (struct window *w); |
50996
9c6d139afc0f
(Qwindowp, Qwindow_live_p, Vwindow_list)
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
50368
diff
changeset
|
880 |
24996
429ec2c075e4
(struct window): Add vscroll.
Gerd Moellmann <gerd@gnu.org>
parents:
21938
diff
changeset
|
881 #endif /* not WINDOW_H_INCLUDED */ |
52401 | 882 |