129 |
/* Non-nil means we have explicitly changed the value of start, |
/* Non-nil means we have explicitly changed the value of start, |
130 |
but that the next redisplay is not obliged to use the new value. |
but that the next redisplay is not obliged to use the new value. |
131 |
This is used in Fdelete_other_windows to force a call to |
This is used in Fdelete_other_windows to force a call to |
132 |
Vwindow_scroll_functions. */ |
Vwindow_scroll_functions; also by Frecenter with argument. */ |
133 |
Lisp_Object optional_new_start; |
Lisp_Object optional_new_start; |
134 |
/* Number of columns display within the window is scrolled to the left. */ |
/* Number of columns display within the window is scrolled to the left. */ |
135 |
Lisp_Object hscroll; |
Lisp_Object hscroll; |
212 |
/* Original window height and top before mini-window was |
/* Original window height and top before mini-window was |
213 |
enlarged. */ |
enlarged. */ |
214 |
Lisp_Object orig_height, orig_top; |
Lisp_Object orig_height, orig_top; |
215 |
|
|
216 |
/* No Lisp data may follow below this point without changing |
/* No Lisp data may follow below this point without changing |
217 |
mark_object in alloc.c. The member current_matrix must be the |
mark_object in alloc.c. The member current_matrix must be the |
218 |
first non-Lisp member. */ |
first non-Lisp member. */ |
228 |
/* Intended cursor position. This is a position within the |
/* Intended cursor position. This is a position within the |
229 |
glyph matrix. */ |
glyph matrix. */ |
230 |
struct cursor_pos cursor; |
struct cursor_pos cursor; |
231 |
|
|
232 |
/* Where the cursor actually is. */ |
/* Where the cursor actually is. */ |
233 |
struct cursor_pos phys_cursor; |
struct cursor_pos phys_cursor; |
234 |
|
|
235 |
/* Cursor type and width of last cursor drawn on the window. |
/* Cursor type and width of last cursor drawn on the window. |
236 |
Used for X and w32 frames; -1 initially. */ |
Used for X and w32 frames; -1 initially. */ |
237 |
int phys_cursor_type, phys_cursor_width; |
int phys_cursor_type, phys_cursor_width; |
238 |
|
|
239 |
/* This is handy for undrawing the cursor. */ |
/* This is handy for undrawing the cursor. */ |
240 |
int phys_cursor_ascent, phys_cursor_height; |
int phys_cursor_ascent, phys_cursor_height; |
241 |
|
|
242 |
/* Non-zero means the cursor is currently displayed. This can be |
/* Non-zero means the cursor is currently displayed. This can be |
243 |
set to zero by functions overpainting the cursor image. */ |
set to zero by functions overpainting the cursor image. */ |
244 |
unsigned phys_cursor_on_p : 1; |
unsigned phys_cursor_on_p : 1; |
261 |
/* Amount by which lines of this window are scrolled in |
/* Amount by which lines of this window are scrolled in |
262 |
y-direction (smooth scrolling). */ |
y-direction (smooth scrolling). */ |
263 |
int vscroll; |
int vscroll; |
264 |
|
|
265 |
/* Z_BYTE - the buffer position of the last glyph in the current matrix |
/* Z_BYTE - the buffer position of the last glyph in the current matrix |
266 |
of W. Only valid if WINDOW_END_VALID is not nil. */ |
of W. Only valid if WINDOW_END_VALID is not nil. */ |
267 |
int window_end_bytepos; |
int window_end_bytepos; |
284 |
/* Return the window column at which the text in window W starts. |
/* Return the window column at which the text in window W starts. |
285 |
This is different from the `left' field because it does not include |
This is different from the `left' field because it does not include |
286 |
a left-hand scroll bar if any. */ |
a left-hand scroll bar if any. */ |
287 |
|
|
288 |
#define WINDOW_LEFT_MARGIN(W) \ |
#define WINDOW_LEFT_MARGIN(W) \ |
289 |
(XFASTINT ((W)->left) \ |
(XFASTINT ((W)->left) \ |
290 |
+ FRAME_LEFT_SCROLL_BAR_WIDTH (XFRAME (WINDOW_FRAME (W)))) |
+ FRAME_LEFT_SCROLL_BAR_WIDTH (XFRAME (WINDOW_FRAME (W)))) |
305 |
? FRAME_SCROLL_BAR_COLS (XFRAME (WINDOW_FRAME (W))) \ |
? FRAME_SCROLL_BAR_COLS (XFRAME (WINDOW_FRAME (W))) \ |
306 |
: 0)) |
: 0)) |
307 |
|
|
308 |
/* 1 if window W takes up the full width of its frame. */ |
/* 1 if window W takes up the full width of its frame. */ |
309 |
|
|
310 |
#define WINDOW_FULL_WIDTH_P(W) \ |
#define WINDOW_FULL_WIDTH_P(W) \ |
311 |
(XFASTINT ((W)->width) == FRAME_WINDOW_WIDTH (XFRAME (WINDOW_FRAME (W)))) |
(XFASTINT ((W)->width) == FRAME_WINDOW_WIDTH (XFRAME (WINDOW_FRAME (W)))) |
312 |
|
|
313 |
/* 1 if window W's has no other windows to its right in its frame. */ |
/* 1 if window W's has no other windows to its right in its frame. */ |
314 |
|
|
315 |
#define WINDOW_RIGHTMOST_P(W) \ |
#define WINDOW_RIGHTMOST_P(W) \ |
316 |
(WINDOW_RIGHT_EDGE (W) == FRAME_WINDOW_WIDTH (XFRAME (WINDOW_FRAME (W)))) |
(WINDOW_RIGHT_EDGE (W) == FRAME_WINDOW_WIDTH (XFRAME (WINDOW_FRAME (W)))) |
317 |
|
|
318 |
|
|
319 |
/* This is the window in which the terminal's cursor should |
/* This is the window in which the terminal's cursor should |
320 |
be left when nothing is being done with it. This must |
be left when nothing is being done with it. This must |
378 |
EXFUN (Fset_window_point, 2); |
EXFUN (Fset_window_point, 2); |
379 |
extern Lisp_Object make_window P_ ((void)); |
extern Lisp_Object make_window P_ ((void)); |
380 |
extern void delete_window P_ ((Lisp_Object)); |
extern void delete_window P_ ((Lisp_Object)); |
381 |
extern Lisp_Object window_from_coordinates P_ ((struct frame *, int, int, int *, int)); |
extern Lisp_Object window_from_coordinates P_ ((struct frame *, int, int, |
382 |
|
enum window_part *, int)); |
383 |
EXFUN (Fwindow_dedicated_p, 1); |
EXFUN (Fwindow_dedicated_p, 1); |
384 |
extern int window_height P_ ((Lisp_Object)); |
extern int window_height P_ ((Lisp_Object)); |
385 |
extern int window_width P_ ((Lisp_Object)); |
extern int window_width P_ ((Lisp_Object)); |
386 |
extern void set_window_height P_ ((Lisp_Object, int, int)); |
extern void set_window_height P_ ((Lisp_Object, int, int)); |
387 |
extern void set_window_width P_ ((Lisp_Object, int, int)); |
extern void set_window_width P_ ((Lisp_Object, int, int)); |
388 |
|
extern void change_window_heights P_ ((Lisp_Object, int)); |
389 |
extern void delete_all_subwindows P_ ((struct window *)); |
extern void delete_all_subwindows P_ ((struct window *)); |
390 |
extern void freeze_window_starts P_ ((struct frame *, int)); |
extern void freeze_window_starts P_ ((struct frame *, int)); |
391 |
extern void foreach_window P_ ((struct frame *, |
extern void foreach_window P_ ((struct frame *, |