Mercurial > hg > xemacs-beta
comparison src/redisplay.c @ 905:c15f25529e61
[xemacs-hg @ 2002-07-06 21:05:42 by andyp]
toolbar redisplay patch
author | andyp |
---|---|
date | Sat, 06 Jul 2002 21:05:58 +0000 |
parents | 79c6ff3eef26 |
children | 37bdd24225ef |
comparison
equal
deleted
inserted
replaced
904:47c30044fc4e | 905:c15f25529e61 |
---|---|
433 int asynch_device_change_pending; | 433 int asynch_device_change_pending; |
434 | 434 |
435 /* non-nil if any toolbar has changed */ | 435 /* non-nil if any toolbar has changed */ |
436 int toolbar_changed; | 436 int toolbar_changed; |
437 int toolbar_changed_set; | 437 int toolbar_changed_set; |
438 | |
439 /* Nonzero if some frame has changed the layout of internal elements | |
440 (gutters or toolbars). */ | |
441 int frame_layout_changed; | |
438 | 442 |
439 /* non-nil if any gutter has changed */ | 443 /* non-nil if any gutter has changed */ |
440 int gutter_changed; | 444 int gutter_changed; |
441 int gutter_changed_set; | 445 int gutter_changed_set; |
442 | 446 |
6569 caused by an Expose event generated by the visibility change | 6573 caused by an Expose event generated by the visibility change |
6570 being handled. */ | 6574 being handled. */ |
6571 update_frame_menubars (f); | 6575 update_frame_menubars (f); |
6572 #endif /* HAVE_MENUBARS */ | 6576 #endif /* HAVE_MENUBARS */ |
6573 #ifdef HAVE_TOOLBARS | 6577 #ifdef HAVE_TOOLBARS |
6574 /* Update the toolbars. */ | 6578 /* Update the toolbars geometry. We don't update the toolbars |
6575 update_frame_toolbars (f); | 6579 themselves at this point since the space they are trying to |
6580 occupy may currently by occupied by gutter elements. Instead we | |
6581 update the geometry, then update the gutter geometry, then update | |
6582 the gutters - which will cause mapped windows to be repositioned | |
6583 - and finally update the toolbars. */ | |
6584 update_frame_toolbars_geometry (f); | |
6576 #endif /* HAVE_TOOLBARS */ | 6585 #endif /* HAVE_TOOLBARS */ |
6577 /* Gutter update proper has to be done inside display when no frame | 6586 /* Gutter update proper has to be done inside display when no frame |
6578 size changes can occur, thus we separately update the gutter | 6587 size changes can occur, thus we separately update the gutter |
6579 geometry here if it needs it. */ | 6588 geometry here if it needs it. */ |
6580 update_frame_gutter_geometry (f); | 6589 update_frame_gutter_geometry (f); |
6649 redisplay_windows (f->root_window, 1); | 6658 redisplay_windows (f->root_window, 1); |
6650 | 6659 |
6651 MAYBE_DEVMETH (d, frame_output_end, (f)); | 6660 MAYBE_DEVMETH (d, frame_output_end, (f)); |
6652 | 6661 |
6653 update_frame_title (f); | 6662 update_frame_title (f); |
6663 | |
6664 #ifdef HAVE_TOOLBARS | |
6665 /* Finally update the toolbars. It seems its possible to get in a | |
6666 cycle between updating the gutter and the toolbars. Basically we | |
6667 want to end up with both being up-to-date and this doesn't seem | |
6668 possible in a single pass. */ | |
6669 update_frame_toolbars (f); | |
6670 #endif /* HAVE_TOOLBARS */ | |
6654 | 6671 |
6655 CLASS_RESET_CHANGED_FLAGS (f); | 6672 CLASS_RESET_CHANGED_FLAGS (f); |
6656 f->window_face_cache_reset = 0; | 6673 f->window_face_cache_reset = 0; |
6657 f->echo_area_garbaged = 0; | 6674 f->echo_area_garbaged = 0; |
6658 f->clear = 0; | 6675 f->clear = 0; |