aboutsummaryrefslogtreecommitdiffstats
path: root/src/window.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/window.h')
-rw-r--r--src/window.h76
1 files changed, 33 insertions, 43 deletions
diff --git a/src/window.h b/src/window.h
index 0d3910c8cb0..10cabed979b 100644
--- a/src/window.h
+++ b/src/window.h
@@ -141,30 +141,10 @@ struct window
141 each one can have its own value of point. */ 141 each one can have its own value of point. */
142 Lisp_Object pointm; 142 Lisp_Object pointm;
143 143
144 /* Number of columns display within the window is scrolled to the left. */
145 Lisp_Object hscroll;
146 /* Minimum hscroll for automatic hscrolling. This is the value
147 the user has set, by set-window-hscroll for example. */
148 Lisp_Object min_hscroll;
149
150 /* Number saying how recently window was selected. */
151 Lisp_Object use_time;
152
153 /* Unique number of window assigned when it was created. */
154 Lisp_Object sequence_number;
155
156 /* No permanent meaning; used by save-window-excursion's 144 /* No permanent meaning; used by save-window-excursion's
157 bookkeeping. */ 145 bookkeeping. */
158 Lisp_Object temslot; 146 Lisp_Object temslot;
159 147
160 /* text.modified of displayed buffer as of last time display
161 completed. */
162 Lisp_Object last_modified;
163 /* BUF_OVERLAY_MODIFIED of displayed buffer as of last complete update. */
164 Lisp_Object last_overlay_modified;
165 /* Value of point at that time. */
166 Lisp_Object last_point;
167
168 /* This window's vertical scroll bar. This field is only for use 148 /* This window's vertical scroll bar. This field is only for use
169 by the window-system-dependent code which implements the 149 by the window-system-dependent code which implements the
170 scroll bars; it can store anything it likes here. If this 150 scroll bars; it can store anything it likes here. If this
@@ -179,9 +159,6 @@ struct window
179 /* Width of left and right fringes. 159 /* Width of left and right fringes.
180 A value of nil or t means use frame values. */ 160 A value of nil or t means use frame values. */
181 Lisp_Object left_fringe_width, right_fringe_width; 161 Lisp_Object left_fringe_width, right_fringe_width;
182 /* Non-nil means fringes are drawn outside display margins;
183 othersize draw them between margin areas and text. */
184 Lisp_Object fringes_outside_margins;
185 162
186 /* Pixel width of scroll bars. 163 /* Pixel width of scroll bars.
187 A value of nil or t means use frame values. */ 164 A value of nil or t means use frame values. */
@@ -254,6 +231,31 @@ struct window
254 struct glyph_matrix *current_matrix; 231 struct glyph_matrix *current_matrix;
255 struct glyph_matrix *desired_matrix; 232 struct glyph_matrix *desired_matrix;
256 233
234 /* Number saying how recently window was selected. */
235 int use_time;
236
237 /* Unique number of window assigned when it was created. */
238 int sequence_number;
239
240 /* Number of columns display within the window is scrolled to the left. */
241 ptrdiff_t hscroll;
242
243 /* Minimum hscroll for automatic hscrolling. This is the value
244 the user has set, by set-window-hscroll for example. */
245 ptrdiff_t min_hscroll;
246
247 /* Displayed buffer's text modification events counter as of last time
248 display completed. */
249 EMACS_INT last_modified;
250
251 /* Displayed buffer's overlays modification events counter as of last
252 complete update. */
253 EMACS_INT last_overlay_modified;
254
255 /* Value of point at that time. Since this is a position in a buffer,
256 it should be positive. */
257 ptrdiff_t last_point;
258
257 /* Scaling factor for the glyph_matrix size calculation in this window. 259 /* Scaling factor for the glyph_matrix size calculation in this window.
258 Used if window contains many small images or uses proportional fonts, 260 Used if window contains many small images or uses proportional fonts,
259 as the normal may yield a matrix which is too small. */ 261 as the normal may yield a matrix which is too small. */
@@ -325,13 +327,17 @@ struct window
325 accept that. */ 327 accept that. */
326 unsigned frozen_window_start_p : 1; 328 unsigned frozen_window_start_p : 1;
327 329
330 /* Non-zero means fringes are drawn outside display margins.
331 Otherwise draw them between margin areas and text. */
332 unsigned fringes_outside_margins : 1;
333
328 /* Amount by which lines of this window are scrolled in 334 /* Amount by which lines of this window are scrolled in
329 y-direction (smooth scrolling). */ 335 y-direction (smooth scrolling). */
330 int vscroll; 336 int vscroll;
331 337
332 /* Z_BYTE - the buffer position of the last glyph in the current matrix 338 /* Z_BYTE - the buffer position of the last glyph in the current matrix of W.
333 of W. Only valid if WINDOW_END_VALID is not nil. */ 339 Should be nonnegative, and only valid if window_end_valid is not nil. */
334 int window_end_bytepos; 340 ptrdiff_t window_end_bytepos;
335}; 341};
336 342
337/* 1 if W is a minibuffer window. */ 343/* 1 if W is a minibuffer window. */
@@ -607,7 +613,7 @@ struct window
607/* Are fringes outside display margins in window W. */ 613/* Are fringes outside display margins in window W. */
608 614
609#define WINDOW_HAS_FRINGES_OUTSIDE_MARGINS(W) \ 615#define WINDOW_HAS_FRINGES_OUTSIDE_MARGINS(W) \
610 (!NILP ((W)->fringes_outside_margins)) 616 ((W)->fringes_outside_margins)
611 617
612/* Say whether scroll bars are currently enabled for window W, 618/* Say whether scroll bars are currently enabled for window W,
613 and which side they are on. */ 619 and which side they are on. */
@@ -809,14 +815,9 @@ extern Lisp_Object Vmouse_window;
809 815
810extern Lisp_Object Vmouse_event; 816extern Lisp_Object Vmouse_event;
811 817
812EXFUN (Fnext_window, 3);
813EXFUN (Fselect_window, 2);
814EXFUN (Fset_window_buffer, 3);
815EXFUN (Fset_window_point, 2);
816extern Lisp_Object make_window (void); 818extern Lisp_Object make_window (void);
817extern Lisp_Object window_from_coordinates (struct frame *, int, int, 819extern Lisp_Object window_from_coordinates (struct frame *, int, int,
818 enum window_part *, int); 820 enum window_part *, int);
819EXFUN (Fwindow_dedicated_p, 1);
820extern void resize_frame_windows (struct frame *, int, int); 821extern void resize_frame_windows (struct frame *, int, int);
821extern void delete_all_child_windows (Lisp_Object); 822extern void delete_all_child_windows (Lisp_Object);
822extern void freeze_window_starts (struct frame *, int); 823extern void freeze_window_starts (struct frame *, int);
@@ -887,21 +888,10 @@ struct glyph *get_phys_cursor_glyph (struct window *w);
887extern Lisp_Object Qwindowp, Qwindow_live_p; 888extern Lisp_Object Qwindowp, Qwindow_live_p;
888extern Lisp_Object Vwindow_list; 889extern Lisp_Object Vwindow_list;
889 890
890EXFUN (Fwindow_buffer, 1);
891EXFUN (Fget_buffer_window, 2);
892EXFUN (Fwindow_minibuffer_p, 1);
893EXFUN (Fselected_window, 0);
894EXFUN (Fframe_root_window, 1);
895EXFUN (Fframe_first_window, 1);
896EXFUN (Fset_frame_selected_window, 3);
897EXFUN (Fset_window_configuration, 1);
898EXFUN (Fcurrent_window_configuration, 1);
899extern int compare_window_configurations (Lisp_Object, Lisp_Object, int); 891extern int compare_window_configurations (Lisp_Object, Lisp_Object, int);
900EXFUN (Fpos_visible_in_window_p, 3);
901extern void mark_window_cursors_off (struct window *); 892extern void mark_window_cursors_off (struct window *);
902extern int window_internal_height (struct window *); 893extern int window_internal_height (struct window *);
903extern int window_body_cols (struct window *w); 894extern int window_body_cols (struct window *w);
904EXFUN (Frecenter, 1);
905extern void temp_output_buffer_show (Lisp_Object); 895extern void temp_output_buffer_show (Lisp_Object);
906extern void replace_buffer_in_windows (Lisp_Object); 896extern void replace_buffer_in_windows (Lisp_Object);
907extern void replace_buffer_in_windows_safely (Lisp_Object); 897extern void replace_buffer_in_windows_safely (Lisp_Object);