comparison src/widget.c @ 16350:773a9eb73ce9

(widget_store_internal_border): New function. (EmacsFrameSetValues): Undo previous change.
author Richard M. Stallman <rms@gnu.org>
date Fri, 27 Sep 1996 06:52:45 +0000
parents 0a31bd9ca4bb
children 2ddccd78c6b0
comparison
equal deleted inserted replaced
16349:2e16f18e316c 16350:773a9eb73ce9
794 794
795 Boolean needs_a_refresh = False; 795 Boolean needs_a_refresh = False;
796 Boolean has_to_recompute_size; 796 Boolean has_to_recompute_size;
797 Boolean has_to_recompute_gcs; 797 Boolean has_to_recompute_gcs;
798 Boolean has_to_update_hints; 798 Boolean has_to_update_hints;
799 Boolean has_to_update_internal_border_width;
800 799
801 int char_width, char_height; 800 int char_width, char_height;
802 Dimension pixel_width; 801 Dimension pixel_width;
803 Dimension pixel_height; 802 Dimension pixel_height;
804 803
812 has_to_recompute_size = (cur->emacs_frame.font != new->emacs_frame.font 811 has_to_recompute_size = (cur->emacs_frame.font != new->emacs_frame.font
813 && cur->core.width == new->core.width 812 && cur->core.width == new->core.width
814 && cur->core.height == new->core.height); 813 && cur->core.height == new->core.height);
815 814
816 has_to_update_hints = (cur->emacs_frame.font != new->emacs_frame.font); 815 has_to_update_hints = (cur->emacs_frame.font != new->emacs_frame.font);
817
818 has_to_update_internal_border_width
819 = (cur->emacs_frame.internal_border_width
820 != new->emacs_frame.internal_border_width);
821 816
822 if (has_to_recompute_gcs) 817 if (has_to_recompute_gcs)
823 { 818 {
824 setup_frame_gcs (new); 819 setup_frame_gcs (new);
825 needs_a_refresh = True; 820 needs_a_refresh = True;
841 needs_a_refresh = True; 836 needs_a_refresh = True;
842 } 837 }
843 838
844 if (has_to_update_hints) 839 if (has_to_update_hints)
845 update_wm_hints (new); 840 update_wm_hints (new);
846
847 /* Don't clobber the internal_border_width
848 if the caller did not try to change it. */
849 if (! has_to_update_internal_border_width)
850 new->emacs_frame.internal_border_width
851 = new->emacs_frame.frame->output_data.x->internal_border_width;
852 841
853 update_various_frame_slots (new); 842 update_various_frame_slots (new);
854 843
855 /* #### This doesn't work, I haven't been able to find ANY kludge that 844 /* #### This doesn't work, I haven't been able to find ANY kludge that
856 will let (x-create-frame '((iconic . t))) work. It seems that changes 845 will let (x-create-frame '((iconic . t))) work. It seems that changes
973 receive in the ConfigureNotify event; if we get what we asked 962 receive in the ConfigureNotify event; if we get what we asked
974 for, then the event won't cause the screen to become garbaged, so 963 for, then the event won't cause the screen to become garbaged, so
975 we have to make sure to do it here. */ 964 we have to make sure to do it here. */
976 SET_FRAME_GARBAGED (f); 965 SET_FRAME_GARBAGED (f);
977 } 966 }
967
968 widget_store_internal_border (widget)
969 Widget widget;
970 {
971 EmacsFrame ew = (EmacsFrame) widget;
972 FRAME_PTR f = ew->emacs_frame.frame;
973
974 ew->emacs_frame.internal_border_width
975 = f->output_data.x->internal_border_width;
976 }