comparison src/window.h @ 187:b405438285a2 r20-3b20

Import from CVS: tag r20-3b20
author cvs
date Mon, 13 Aug 2007 09:56:28 +0200
parents fe104dbd9147
children 1f0dabaa0855
comparison
equal deleted inserted replaced
186:24ac94803b48 187:b405438285a2
192 Lisp_Object scrollbar_width; 192 Lisp_Object scrollbar_width;
193 /* Height of horizontal scrollbars. */ 193 /* Height of horizontal scrollbars. */
194 Lisp_Object scrollbar_height; 194 Lisp_Object scrollbar_height;
195 /* Pointer to use for vertical and horizontal scrollbars. */ 195 /* Pointer to use for vertical and horizontal scrollbars. */
196 Lisp_Object scrollbar_pointer; 196 Lisp_Object scrollbar_pointer;
197 #endif 197 #endif /* HAVE_SCROLLBARS */
198 #ifdef HAVE_TOOLBARS 198 #ifdef HAVE_TOOLBARS
199 /* Toolbar specification for each of the four positions. 199 /* Toolbar specification for each of the four positions.
200 This is not a size hog because the value here is not copied, 200 This is not a size hog because the value here is not copied,
201 and will be shared with the specs in the specifier. */ 201 and will be shared with the specs in the specifier. */
202 Lisp_Object toolbar[4]; 202 Lisp_Object toolbar[4];
209 /* The following four don't really need to be cached except 209 /* The following four don't really need to be cached except
210 that we need to know when they've changed. */ 210 that we need to know when they've changed. */
211 Lisp_Object default_toolbar; 211 Lisp_Object default_toolbar;
212 Lisp_Object default_toolbar_width, default_toolbar_height; 212 Lisp_Object default_toolbar_width, default_toolbar_height;
213 Lisp_Object default_toolbar_visible_p; 213 Lisp_Object default_toolbar_visible_p;
214 #endif 214 #endif /* HAVE_TOOLBARS */
215 Lisp_Object left_margin_width, right_margin_width; 215 Lisp_Object left_margin_width, right_margin_width;
216 Lisp_Object minimum_line_ascent, minimum_line_descent; 216 Lisp_Object minimum_line_ascent, minimum_line_descent;
217 Lisp_Object use_left_overflow, use_right_overflow; 217 Lisp_Object use_left_overflow, use_right_overflow;
218 #ifdef HAVE_MENUBARS 218 #ifdef HAVE_MENUBARS
219 /* Visibility of menubar. */ 219 /* Visibility of menubar. */
220 Lisp_Object menubar_visible_p; 220 Lisp_Object menubar_visible_p;
221 #endif 221 #endif /* HAVE_MENUBARS */
222 Lisp_Object text_cursor_visible_p; 222 Lisp_Object text_cursor_visible_p;
223 223
224 /* one-bit flags: */ 224 /* one-bit flags: */
225 225
226 /* marker used when restoring a window configuration */ 226 /* marker used when restoring a window configuration */
236 was the beginning of a line when it was chosen. */ 236 was the beginning of a line when it was chosen. */
237 unsigned int start_at_line_beg :1; 237 unsigned int start_at_line_beg :1;
238 /* new redisplay flag */ 238 /* new redisplay flag */
239 unsigned int windows_changed :1; 239 unsigned int windows_changed :1;
240 unsigned int shadow_thickness_changed :1; 240 unsigned int shadow_thickness_changed :1;
241 }; 241 };
242 242
243 #define CURRENT_DISP 0 243 #define CURRENT_DISP 0
244 #define DESIRED_DISP 1 244 #define DESIRED_DISP 1
245 #define CMOTION_DISP 2 245 #define CMOTION_DISP 2
246 246
247 struct window_mirror 247 struct window_mirror
248 { 248 {
249 /* Frame this mirror is on. */ 249 /* Frame this mirror is on. */
250 struct frame *frame; 250 struct frame *frame;
269 269
270 #ifdef HAVE_SCROLLBARS 270 #ifdef HAVE_SCROLLBARS
271 /* Scrollbars associated with window, if any. */ 271 /* Scrollbars associated with window, if any. */
272 struct scrollbar_instance *scrollbar_vertical_instance; 272 struct scrollbar_instance *scrollbar_vertical_instance;
273 struct scrollbar_instance *scrollbar_horizontal_instance; 273 struct scrollbar_instance *scrollbar_horizontal_instance;
274 #endif 274 #endif /* HAVE_SCROLLBARS */
275 275
276 /* Flag indicating whether a subwindow is currently being displayed. */ 276 /* Flag indicating whether a subwindow is currently being displayed. */
277 unsigned int subwindows_being_displayed :1; 277 unsigned int subwindows_being_displayed :1;
278 278
279 /* Keep track of the truncation status in this window so we can 279 /* Keep track of the truncation status in this window so we can
293 #define CONCHECK_WINDOW(x) CONCHECK_RECORD (x, window) 293 #define CONCHECK_WINDOW(x) CONCHECK_RECORD (x, window)
294 294
295 extern Lisp_Object Qwindow_live_p; 295 extern Lisp_Object Qwindow_live_p;
296 296
297 #define WINDOW_LIVE_P(x) (!(x)->dead) 297 #define WINDOW_LIVE_P(x) (!(x)->dead)
298 #define CHECK_LIVE_WINDOW(x) \ 298 #define CHECK_LIVE_WINDOW(x) do { \
299 do { CHECK_WINDOW (x); \ 299 CHECK_WINDOW (x); \
300 if (!WINDOW_LIVE_P (XWINDOW (x))) \ 300 if (!WINDOW_LIVE_P (XWINDOW (x))) \
301 dead_wrong_type_argument (Qwindow_live_p, (x)); \ 301 dead_wrong_type_argument (Qwindow_live_p, (x)); \
302 } while (0) 302 } while (0)
303 #define CONCHECK_LIVE_WINDOW(x) \ 303 #define CONCHECK_LIVE_WINDOW(x) do { \
304 do { CONCHECK_WINDOW (x); \ 304 CONCHECK_WINDOW (x); \
305 if (!WINDOW_LIVE_P (XWINDOW (x))) \ 305 if (!WINDOW_LIVE_P (XWINDOW (x))) \
306 x = wrong_type_argument (Qwindow_live_p, (x)); \ 306 x = wrong_type_argument (Qwindow_live_p, (x)); \
307 } while (0) 307 } while (0)
308 308
309 /* 1 if W is a minibuffer window. */ 309 /* 1 if W is a minibuffer window. */
310 #define MINI_WINDOW_P(W) (!EQ ((W)->mini_p, Qnil)) 310 #define MINI_WINDOW_P(W) (!EQ ((W)->mini_p, Qnil))
311 311
312 /* 1 if we are dealing with a parentless window (this includes the 312 /* 1 if we are dealing with a parentless window (this includes the
313 root window on a frame and the minibuffer window; both of these 313 root window on a frame and the minibuffer window; both of these
314 are siblings). */ 314 are siblings). */
315 #define TOP_LEVEL_WINDOW_P(w) NILP ((w)->parent) 315 #define TOP_LEVEL_WINDOW_P(w) NILP ((w)->parent)
316 316
317 /* Set all redisplay flags indicating a window has changed */ 317 /* Set all redisplay flags indicating a window has changed */
318 #define MARK_WINDOWS_CHANGED(w) do { \ 318 #define MARK_WINDOWS_CHANGED(w) do { \
319 (w)->windows_changed = 1; \ 319 (w)->windows_changed = 1; \
320 if (!NILP (w->frame)) \ 320 if (!NILP (w->frame)) \
321 MARK_FRAME_WINDOWS_CHANGED (XFRAME (w->frame)); \ 321 MARK_FRAME_WINDOWS_CHANGED (XFRAME (w->frame)); \
322 else \ 322 else \
323 windows_changed = 1; } while (0) 323 windows_changed = 1; \
324 } while (0)
324 325
325 #define WINDOW_TTY_P(w) FRAME_TTY_P (XFRAME ((w)->frame)) 326 #define WINDOW_TTY_P(w) FRAME_TTY_P (XFRAME ((w)->frame))
326 #define WINDOW_X_P(w) FRAME_X_P (XFRAME ((w)->frame)) 327 #define WINDOW_X_P(w) FRAME_X_P (XFRAME ((w)->frame))
327 #define WINDOW_NS_P(w) FRAME_NS_P (XFRAME ((w)->frame)) 328 #define WINDOW_NS_P(w) FRAME_NS_P (XFRAME ((w)->frame))
328 #define WINDOW_WIN_P(w) FRAME_WIN_P (XFRAME ((w)->frame)) 329 #define WINDOW_WIN_P(w) FRAME_WIN_P (XFRAME ((w)->frame))
329 330
330 DECLARE_LRECORD (window_configuration, struct window_config); 331 DECLARE_LRECORD (window_configuration, struct window_config);
331 332
332 /* The minibuffer window of the selected frame. 333 /* The minibuffer window of the selected frame.