Mercurial > hg > xemacs-beta
comparison src/redisplay.h @ 380:8626e4521993 r21-2-5
Import from CVS: tag r21-2-5
author | cvs |
---|---|
date | Mon, 13 Aug 2007 11:07:10 +0200 |
parents | 558f606b08ae |
children | bbff43aa5eb7 |
comparison
equal
deleted
inserted
replaced
379:76b7d63099ad | 380:8626e4521993 |
---|---|
137 } dglyph; | 137 } dglyph; |
138 | 138 |
139 /* CHAR */ | 139 /* CHAR */ |
140 struct | 140 struct |
141 { | 141 { |
142 Emchar ch; /* Cbaracter of this rune. */ | 142 Emchar ch; /* Character of this rune. */ |
143 } chr; | 143 } chr; |
144 | 144 |
145 /* HLINE */ | 145 /* HLINE */ |
146 struct | 146 struct |
147 { | 147 { |
254 including expansion of tabs | 254 including expansion of tabs |
255 and control chars */ | 255 and control chars */ |
256 int cursor_elt; /* rune block of TEXT display | 256 int cursor_elt; /* rune block of TEXT display |
257 block cursor is at or -1 */ | 257 block cursor is at or -1 */ |
258 char used_prop_data; /* can't incrementally update if line | 258 char used_prop_data; /* can't incrementally update if line |
259 used propogation data */ | 259 used propagation data */ |
260 | 260 |
261 layout_bounds bounds; /* line boundary positions */ | 261 layout_bounds bounds; /* line boundary positions */ |
262 | 262 |
263 char modeline; /* t if this line is a modeline */ | 263 char modeline; /* t if this line is a modeline */ |
264 | 264 |
387 /* These macros can be relatively expensive. Since they are often | 387 /* These macros can be relatively expensive. Since they are often |
388 called numerous times between each call to redisplay, we keep track | 388 called numerous times between each call to redisplay, we keep track |
389 if each has already been called and don't bother doing most of the | 389 if each has already been called and don't bother doing most of the |
390 work if it is currently set. */ | 390 work if it is currently set. */ |
391 | 391 |
392 #define MARK_TYPE_CHANGED(object) do { \ | 392 #define MARK_TYPE_CHANGED(object) do { \ |
393 if (!object##_changed_set) { \ | 393 if (!object##_changed_set) { \ |
394 Lisp_Object _devcons_, _concons_; \ | 394 Lisp_Object MTC_devcons, MTC_concons; \ |
395 DEVICE_LOOP_NO_BREAK (_devcons_, _concons_) \ | 395 DEVICE_LOOP_NO_BREAK (MTC_devcons, MTC_concons) \ |
396 { \ | 396 { \ |
397 Lisp_Object _frmcons_; \ | 397 Lisp_Object MTC_frmcons; \ |
398 struct device *_d_ = XDEVICE (XCAR (_devcons_)); \ | 398 struct device *MTC_d = XDEVICE (XCAR (MTC_devcons)); \ |
399 DEVICE_FRAME_LOOP (_frmcons_, _d_) \ | 399 DEVICE_FRAME_LOOP (MTC_frmcons, MTC_d) \ |
400 { \ | 400 { \ |
401 struct frame *_f_ = XFRAME (XCAR (_frmcons_)); \ | 401 struct frame *MTC_f = XFRAME (XCAR (MTC_frmcons)); \ |
402 _f_->object##_changed = 1; \ | 402 MTC_f->object##_changed = 1; \ |
403 _f_->modiff++; \ | 403 MTC_f->modiff++; \ |
404 } \ | 404 } \ |
405 _d_->object##_changed = 1; \ | 405 MTC_d->object##_changed = 1; \ |
406 } \ | 406 } \ |
407 object##_changed = 1; \ | 407 object##_changed = 1; \ |
408 object##_changed_set = 1; } \ | 408 object##_changed_set = 1; } \ |
409 } while (0) | 409 } while (0) |
410 | 410 |
411 #define MARK_BUFFERS_CHANGED MARK_TYPE_CHANGED (buffers) | 411 #define MARK_BUFFERS_CHANGED MARK_TYPE_CHANGED (buffers) |
412 #define MARK_CLIP_CHANGED MARK_TYPE_CHANGED (clip) | 412 #define MARK_CLIP_CHANGED MARK_TYPE_CHANGED (clip) |
413 #define MARK_EXTENTS_CHANGED MARK_TYPE_CHANGED (extents) | 413 #define MARK_EXTENTS_CHANGED MARK_TYPE_CHANGED (extents) |
418 #define MARK_TOOLBAR_CHANGED MARK_TYPE_CHANGED (toolbar) | 418 #define MARK_TOOLBAR_CHANGED MARK_TYPE_CHANGED (toolbar) |
419 #define MARK_GLYPHS_CHANGED MARK_TYPE_CHANGED (glyphs) | 419 #define MARK_GLYPHS_CHANGED MARK_TYPE_CHANGED (glyphs) |
420 | 420 |
421 /* Anytime a console, device or frame is added or deleted we need to reset | 421 /* Anytime a console, device or frame is added or deleted we need to reset |
422 these flags. */ | 422 these flags. */ |
423 #define RESET_CHANGED_SET_FLAGS \ | 423 #define RESET_CHANGED_SET_FLAGS \ |
424 do { \ | 424 do { \ |
425 buffers_changed_set = 0; \ | 425 buffers_changed_set = 0; \ |
426 clip_changed_set = 0; \ | 426 clip_changed_set = 0; \ |
427 extents_changed_set = 0; \ | 427 extents_changed_set = 0; \ |
428 icon_changed_set = 0; \ | 428 icon_changed_set = 0; \ |
429 menubar_changed_set = 0; \ | 429 menubar_changed_set = 0; \ |
430 modeline_changed_set = 0; \ | 430 modeline_changed_set = 0; \ |
431 point_changed_set = 0; \ | 431 point_changed_set = 0; \ |
432 toolbar_changed_set = 0; \ | 432 toolbar_changed_set = 0; \ |
433 glyphs_changed_set = 0; \ | 433 glyphs_changed_set = 0; \ |
434 } while (0) | 434 } while (0) |
435 | 435 |
436 | 436 |
437 /*************************************************************************/ | 437 /*************************************************************************/ |
438 /* redisplay global variables */ | 438 /* redisplay global variables */ |
439 /*************************************************************************/ | 439 /*************************************************************************/ |
440 | 440 |
441 /* redisplay structre used by various utility routines. */ | 441 /* redisplay structure used by various utility routines. */ |
442 extern display_line_dynarr *cmotion_display_lines; | 442 extern display_line_dynarr *cmotion_display_lines; |
443 | 443 |
444 /* Nonzero means truncate lines in all windows less wide than the frame. */ | 444 /* Nonzero means truncate lines in all windows less wide than the frame. */ |
445 extern int truncate_partial_width_windows; | 445 extern int truncate_partial_width_windows; |
446 | 446 |
471 /* If non-zero, a window-system was specified on the command line. | 471 /* If non-zero, a window-system was specified on the command line. |
472 Defined in emacs.c. */ | 472 Defined in emacs.c. */ |
473 extern int display_arg; | 473 extern int display_arg; |
474 | 474 |
475 /* Type of display specified. Defined in emacs.c. */ | 475 /* Type of display specified. Defined in emacs.c. */ |
476 extern char *display_use; | 476 extern CONST char *display_use; |
477 | 477 |
478 /* Nonzero means reading single-character input with prompt | 478 /* Nonzero means reading single-character input with prompt |
479 so put cursor on minibuffer after the prompt. */ | 479 so put cursor on minibuffer after the prompt. */ |
480 | 480 |
481 extern int cursor_in_echo_area; | 481 extern int cursor_in_echo_area; |