comparison src/glyphs-widget.c @ 5047:07dcc7000bbf

put width before height consistently, fix a real bug found in the process -------------------- ChangeLog entries follow: -------------------- src/ChangeLog addition: 2010-02-20 Ben Wing <ben@xemacs.org> * EmacsFrame.c (EmacsFrameRecomputeCellSize): * faces.c (default_face_font_info): * faces.c (default_face_width_and_height): * faces.c (Fface_list): * faces.h: * frame-gtk.c (gtk_set_initial_frame_size): * frame-gtk.c (gtk_set_frame_size): * frame-gtk.c (gtk_recompute_cell_sizes): * frame.c: * frame.c (frame_conversion_internal_1): * frame.c (change_frame_size_1): * frame.c (change_frame_size): * glyphs-msw.c (mswindows_combo_box_instantiate): * glyphs-widget.c (widget_instantiate): * glyphs-widget.c (tree_view_query_geometry): * glyphs-widget.c (Fwidget_logical_to_character_width): * glyphs-widget.c (Fwidget_logical_to_character_height): * indent.c (vmotion_pixels): * redisplay-output.c (get_cursor_size_and_location): * redisplay-xlike-inc.c (XLIKE_output_eol_cursor): * redisplay-xlike-inc.c (XLIKE_flash): * redisplay.c (calculate_baseline): * redisplay.c (start_with_point_on_display_line): * redisplay.c (glyph_to_pixel_translation): * redisplay.c (pixel_to_glyph_translation): * window.c (margin_width_internal): * window.c (frame_size_valid_p): * window.c (frame_pixsize_valid_p): * window.c (check_frame_size): * window.c (set_window_pixsize): * window.c (window_pixel_height_to_char_height): * window.c (window_char_height_to_pixel_height): * window.c (window_displayed_height): * window.c (window_pixel_width_to_char_width): * window.c (window_char_width_to_pixel_width): * window.c (change_window_height): * window.c (window_scroll): * window.h: IMPORTANT: Aidan and Carbon Repo, please pay attention and fix appropriately! Rename: default_face_height_and_width -> default_face_width_and_height and reverse width/height arguments. Reverse width/height arguments to the following functions: -- default_face_font_info -- default_face_height_and_width (see above) -- check_frame_size -- frame_size_valid_p (made into a static function) Fix a redisplay bug where args to default_face_height_and_width were in the wrong order.
author Ben Wing <ben@xemacs.org>
date Sat, 20 Feb 2010 18:56:01 -0600
parents 8f1ee2d15784
children 8b2f75cecb89
comparison
equal deleted inserted replaced
5046:d4f666cda5e6 5047:07dcc7000bbf
809 anyway. :height is measured in logical characters which take into 809 anyway. :height is measured in logical characters which take into
810 account the borders and spacing on widgets. */ 810 account the borders and spacing on widgets. */
811 if (tw) 811 if (tw)
812 { 812 {
813 int charwidth; 813 int charwidth;
814 default_face_font_info (domain, 0, 0, 0, &charwidth, 0); 814 default_face_font_info (domain, 0, 0, &charwidth, 0, 0);
815 pw = ROUND_UP (charwidth * tw + 4 * widget_instance_border_width (ii), charwidth); 815 pw = ROUND_UP (charwidth * tw + 4 * widget_instance_border_width (ii), charwidth);
816 } 816 }
817 817
818 /* For heights the widget face is more appropriate. */ 818 /* For heights the widget face is more appropriate. */
819 if (th == 1) 819 if (th == 1)
825 IMAGE_INSTANCE_WIDGET_FACE (ii), 825 IMAGE_INSTANCE_WIDGET_FACE (ii),
826 0, &charheight, domain); 826 0, &charheight, domain);
827 } 827 }
828 else 828 else
829 { 829 {
830 default_face_font_info (domain, 0, 0, &charheight, 0, 0); 830 default_face_font_info (domain, 0, 0, 0, &charheight, 0);
831 } 831 }
832 ph = (charheight + 2 * widget_instance_border_width (ii)) * th; 832 ph = (charheight + 2 * widget_instance_border_width (ii)) * th;
833 } 833 }
834 /* For heights > 1 use logical units. */ 834 /* For heights > 1 use logical units. */
835 else if (th > 1) 835 else if (th > 1)
947 } 947 }
948 if (*height) 948 if (*height)
949 { 949 {
950 int len, h; 950 int len, h;
951 /* #### widget face would be better here. */ 951 /* #### widget face would be better here. */
952 default_face_font_info (domain, 0, 0, &h, 0, 0); 952 default_face_font_info (domain, 0, 0, 0, &h, 0);
953 GET_LIST_LENGTH (items, len); 953 GET_LIST_LENGTH (items, len);
954 *height = len * h; 954 *height = len * h;
955 } 955 }
956 } 956 }
957 957
1657 w = XINT (width); 1657 w = XINT (width);
1658 1658
1659 if (HAS_DEVMETH_P (DOMAIN_XDEVICE (domain), widget_border_width)) 1659 if (HAS_DEVMETH_P (DOMAIN_XDEVICE (domain), widget_border_width))
1660 border_width = DEVMETH (DOMAIN_XDEVICE (domain), widget_border_width, ()); 1660 border_width = DEVMETH (DOMAIN_XDEVICE (domain), widget_border_width, ());
1661 1661
1662 default_face_font_info (domain, 0, 0, 0, &charwidth, 0); 1662 default_face_font_info (domain, 0, 0, &charwidth, 0, 0);
1663 neww = ROUND_UP (charwidth * w + 4 * border_width + 2 * widget_spacing (domain), 1663 neww = ROUND_UP (charwidth * w + 4 * border_width + 2 * widget_spacing (domain),
1664 charwidth) / charwidth; 1664 charwidth) / charwidth;
1665 1665
1666 return make_int (neww); 1666 return make_int (neww);
1667 } 1667 }
1691 if (NILP (domain)) 1691 if (NILP (domain))
1692 domain = Fselected_frame (Qnil); 1692 domain = Fselected_frame (Qnil);
1693 1693
1694 h = XINT (height); 1694 h = XINT (height);
1695 1695
1696 default_face_font_info (domain, 0, 0, &charheight, 0, 0); 1696 default_face_font_info (domain, 0, 0, 0, &charheight, 0);
1697 newh = ROUND_UP (logical_unit_height (Fsymbol_name (Qwidget), 1697 newh = ROUND_UP (logical_unit_height (Fsymbol_name (Qwidget),
1698 Vwidget_face, domain) * h, charheight) 1698 Vwidget_face, domain) * h, charheight)
1699 / charheight; 1699 / charheight;
1700 1700
1701 return make_int (newh); 1701 return make_int (newh);