Mercurial > hg > xemacs-beta
comparison src/window.h @ 284:558f606b08ae r21-0b40
Import from CVS: tag r21-0b40
author | cvs |
---|---|
date | Mon, 13 Aug 2007 10:34:13 +0200 |
parents | c42ec1d1cded |
children | 8626e4521993 |
comparison
equal
deleted
inserted
replaced
283:fa3d41851a08 | 284:558f606b08ae |
---|---|
162 /* Number of characters in buffer past bottom of window, | 162 /* Number of characters in buffer past bottom of window, |
163 as of last redisplay that finished. */ | 163 as of last redisplay that finished. */ |
164 /* need one for each set of display structures */ | 164 /* need one for each set of display structures */ |
165 int window_end_pos[3]; | 165 int window_end_pos[3]; |
166 | 166 |
167 /* Non-nil means window is marked as dedicated. */ | |
168 Lisp_Object dedicated; | |
169 | |
170 #if 0 /* FSFmacs */ | |
171 /* The column number currently displayed in this window's mode line, | |
172 or nil if column numbers are not being displayed. */ | |
173 Lisp_Object column_number_displayed; | |
174 #endif | |
175 /* If redisplay in this window goes beyond this buffer position, | 167 /* If redisplay in this window goes beyond this buffer position, |
176 must run the redisplay-end-trigger-functions. */ | 168 must run the redisplay-end-trigger-functions. */ |
177 Lisp_Object redisplay_end_trigger; | 169 Lisp_Object redisplay_end_trigger; |
178 | 170 |
179 /* Set by redisplay to the last position seen. This is used | 171 /* Set by redisplay to the last position seen. This is used |
180 to implement the redisplay-end-trigger-functions. */ | 172 to implement the redisplay-end-trigger-functions. */ |
181 Bufpos last_redisplay_pos; | 173 Bufpos last_redisplay_pos; |
182 | 174 |
183 /* specifier values cached in the struct window: */ | 175 #define WINDOW_SLOT_DECLARATION |
184 | 176 #define WINDOW_SLOT(slot, compare) Lisp_Object slot |
185 /* Display-table to use for displaying chars in this window. */ | 177 #include "winslots.h" |
186 Lisp_Object display_table; | |
187 /* Thickness of modeline shadow, in pixels. If negative, draw | |
188 as recessed. */ | |
189 Lisp_Object modeline_shadow_thickness; | |
190 /* Non-nil means to display a modeline for the buffer. */ | |
191 Lisp_Object has_modeline_p; | |
192 #ifdef HAVE_SCROLLBARS | |
193 /* Width of vertical scrollbars. */ | |
194 Lisp_Object scrollbar_width; | |
195 /* Height of horizontal scrollbars. */ | |
196 Lisp_Object scrollbar_height; | |
197 /* Whether the scrollbars are visible */ | |
198 Lisp_Object horizontal_scrollbar_visible_p; | |
199 Lisp_Object vertical_scrollbar_visible_p; | |
200 /* Scrollbar positions */ | |
201 Lisp_Object scrollbar_on_left_p; | |
202 Lisp_Object scrollbar_on_top_p; | |
203 /* Pointer to use for vertical and horizontal scrollbars. */ | |
204 Lisp_Object scrollbar_pointer; | |
205 #endif /* HAVE_SCROLLBARS */ | |
206 #ifdef HAVE_TOOLBARS | |
207 /* Toolbar specification for each of the four positions. | |
208 This is not a size hog because the value here is not copied, | |
209 and will be shared with the specs in the specifier. */ | |
210 Lisp_Object toolbar[4]; | |
211 /* Toolbar size for each of the four positions. */ | |
212 Lisp_Object toolbar_size[4]; | |
213 /* Toolbar border width for each of the four positions. */ | |
214 Lisp_Object toolbar_border_width[4]; | |
215 /* Toolbar visibility status for each of the four positions. */ | |
216 Lisp_Object toolbar_visible_p[4]; | |
217 /* Caption status of toolbar. */ | |
218 Lisp_Object toolbar_buttons_captioned_p; | |
219 /* The following five don't really need to be cached except | |
220 that we need to know when they've changed. */ | |
221 Lisp_Object default_toolbar; | |
222 Lisp_Object default_toolbar_width, default_toolbar_height; | |
223 Lisp_Object default_toolbar_visible_p; | |
224 Lisp_Object default_toolbar_border_width; | |
225 #endif /* HAVE_TOOLBARS */ | |
226 Lisp_Object left_margin_width, right_margin_width; | |
227 Lisp_Object minimum_line_ascent, minimum_line_descent; | |
228 Lisp_Object use_left_overflow, use_right_overflow; | |
229 #ifdef HAVE_MENUBARS | |
230 /* Visibility of menubar. */ | |
231 Lisp_Object menubar_visible_p; | |
232 #endif /* HAVE_MENUBARS */ | |
233 Lisp_Object text_cursor_visible_p; | |
234 | 178 |
235 /* one-bit flags: */ | 179 /* one-bit flags: */ |
236 | 180 |
237 /* marker used when restoring a window configuration */ | 181 /* marker used when restoring a window configuration */ |
238 unsigned int config_mark :1; | 182 unsigned int config_mark :1; |
247 was the beginning of a line when it was chosen. */ | 191 was the beginning of a line when it was chosen. */ |
248 unsigned int start_at_line_beg :1; | 192 unsigned int start_at_line_beg :1; |
249 /* new redisplay flag */ | 193 /* new redisplay flag */ |
250 unsigned int windows_changed :1; | 194 unsigned int windows_changed :1; |
251 unsigned int shadow_thickness_changed :1; | 195 unsigned int shadow_thickness_changed :1; |
196 /* Vertical divider flag and validity of it */ | |
197 unsigned int need_vertical_divider_p :1; | |
198 unsigned int need_vertical_divider_valid_p :1; | |
252 }; | 199 }; |
253 | 200 |
254 #define CURRENT_DISP 0 | 201 #define CURRENT_DISP 0 |
255 #define DESIRED_DISP 1 | 202 #define DESIRED_DISP 1 |
256 #define CMOTION_DISP 2 | 203 #define CMOTION_DISP 2 |
407 display_line_dynarr *window_display_lines (struct window *w, int); | 354 display_line_dynarr *window_display_lines (struct window *w, int); |
408 struct buffer *window_display_buffer (struct window *w); | 355 struct buffer *window_display_buffer (struct window *w); |
409 void set_window_display_buffer (struct window *w, struct buffer *b); | 356 void set_window_display_buffer (struct window *w, struct buffer *b); |
410 void update_frame_window_mirror (struct frame *f); | 357 void update_frame_window_mirror (struct frame *f); |
411 | 358 |
412 void map_windows (struct frame *f, | 359 int map_windows (struct frame *f, |
413 int (*mapfun) (struct window *w, void *closure), | 360 int (*mapfun) (struct window *w, void *closure), |
414 void *closure); | 361 void *closure); |
415 void some_window_value_changed (Lisp_Object specifier, struct window *w, | 362 void some_window_value_changed (Lisp_Object specifier, struct window *w, |
416 Lisp_Object oldval); | 363 Lisp_Object oldval); |
364 int invalidate_vertical_divider_cache_in_window (struct window *w, | |
365 void *u_n_u_s_e_d); | |
366 int window_divider_width (struct window *w); | |
417 | 367 |
418 #define WINDOW_FRAME(w) ((w)->frame) | 368 #define WINDOW_FRAME(w) ((w)->frame) |
419 #define WINDOW_BUFFER(w) ((w)->buffer) | 369 #define WINDOW_BUFFER(w) ((w)->buffer) |
420 #define WINDOW_DEVICE(w) FRAME_DEVICE (XFRAME (WINDOW_FRAME (w))) | 370 #define WINDOW_DEVICE(w) FRAME_DEVICE (XFRAME (WINDOW_FRAME (w))) |
421 #define WINDOW_CONSOLE(w) DEVICE_CONSOLE (XDEVICE (WINDOW_DEVICE (w))) | 371 #define WINDOW_CONSOLE(w) DEVICE_CONSOLE (XDEVICE (WINDOW_DEVICE (w))) |