comparison src/xterm.c @ 95792:953225ddde83

* xdisp.c (underline_minimum_offset): Rename from xterm.c's x_underline_minimum_display_offset. (syms_of_xdisp): Declare it here rather than in xterm.c. * dispextern.h (underline_minimum_offset): Declare it. * w32term.c (x_draw_glyph_string): Use it. * xterm.c (x_underline_minimum_display_offset): Move to xdisp.c. (syms_of_xterm): Don't declare it any more. (x_draw_glyph_string): Adjust to the new name. * cus-start.el (underline-minimum-offset) Rename from x-underline-minimum-display-offset.
author Stefan Monnier <monnier@iro.umontreal.ca>
date Tue, 10 Jun 2008 20:22:10 +0000
parents 82a0e6885715
children 3c914bd3d4a1
comparison
equal deleted inserted replaced
95791:82a0e6885715 95792:953225ddde83
180 int x_use_underline_position_properties; 180 int x_use_underline_position_properties;
181 181
182 /* Non-zero means to draw the underline at the same place as the descent line. */ 182 /* Non-zero means to draw the underline at the same place as the descent line. */
183 183
184 int x_underline_at_descent_line; 184 int x_underline_at_descent_line;
185
186 /* Require underline to be at least this many screen pixels below baseline
187 This to avoid underline "merging" with the base of letters at small
188 font sizes, particularly when x_use_underline_position_properties is on. */
189
190 int x_underline_minimum_display_offset;
191 185
192 /* This is a chain of structures for all the X displays currently in 186 /* This is a chain of structures for all the X displays currently in
193 use. */ 187 use. */
194 188
195 struct x_display_info *x_display_list; 189 struct x_display_info *x_display_list;
2748 && s->font && s->font->underline_position >= 0) 2742 && s->font && s->font->underline_position >= 0)
2749 position = s->font->underline_position; 2743 position = s->font->underline_position;
2750 else if (s->font) 2744 else if (s->font)
2751 position = (s->font->descent + 1) / 2; 2745 position = (s->font->descent + 1) / 2;
2752 } 2746 }
2753 if (x_underline_minimum_display_offset) 2747 position = max (position, underline_minimum_offset);
2754 position = max (position, eabs (x_underline_minimum_display_offset));
2755 } 2748 }
2756 /* Check the sanity of thickness and position. We should 2749 /* Check the sanity of thickness and position. We should
2757 avoid drawing underline out of the current line area. */ 2750 avoid drawing underline out of the current line area. */
2758 if (s->y + s->height <= s->ybase + position) 2751 if (s->y + s->height <= s->ybase + position)
2759 position = (s->height - 1) - (s->ybase - s->y); 2752 position = (s->height - 1) - (s->ybase - s->y);
10787 DEFVAR_BOOL ("x-use-underline-position-properties", 10780 DEFVAR_BOOL ("x-use-underline-position-properties",
10788 &x_use_underline_position_properties, 10781 &x_use_underline_position_properties,
10789 doc: /* *Non-nil means make use of UNDERLINE_POSITION font properties. 10782 doc: /* *Non-nil means make use of UNDERLINE_POSITION font properties.
10790 A value of nil means ignore them. If you encounter fonts with bogus 10783 A value of nil means ignore them. If you encounter fonts with bogus
10791 UNDERLINE_POSITION font properties, for example 7x13 on XFree prior 10784 UNDERLINE_POSITION font properties, for example 7x13 on XFree prior
10792 to 4.1, set this to nil. Variable `x-underline-minimum-display-offset' may 10785 to 4.1, set this to nil. You can also use `underline-minimum-offset'
10793 be used to override the font's UNDERLINE_POSITION for small font display 10786 to override the font's UNDERLINE_POSITION for small font display
10794 sizes. */); 10787 sizes. */);
10795 x_use_underline_position_properties = 1; 10788 x_use_underline_position_properties = 1;
10796 10789
10797 DEFVAR_BOOL ("x-underline-at-descent-line", 10790 DEFVAR_BOOL ("x-underline-at-descent-line",
10798 &x_underline_at_descent_line, 10791 &x_underline_at_descent_line,
10799 doc: /* *Non-nil means to draw the underline at the same place as the descent line. 10792 doc: /* *Non-nil means to draw the underline at the same place as the descent line.
10800 A value of nil means to draw the underline according to the value of the 10793 A value of nil means to draw the underline according to the value of the
10801 variable `x-use-underline-position-properties', which is usually at the 10794 variable `x-use-underline-position-properties', which is usually at the
10802 baseline level. The default value is nil. */); 10795 baseline level. The default value is nil. */);
10803 x_underline_at_descent_line = 0; 10796 x_underline_at_descent_line = 0;
10804
10805 DEFVAR_INT ("x-underline-minimum-display-offset",
10806 &x_underline_minimum_display_offset,
10807 doc: /* *When > 0, underline is drawn at least that many screen pixels below baseline.
10808 This can improve legibility of underlined text at small font sizes,
10809 particularly when using variable `x-use-underline-position-properties'
10810 with fonts that specify an UNDERLINE_POSITION relatively close to the
10811 baseline. The default value is 0. */);
10812 x_underline_minimum_display_offset = 0;
10813
10814 10797
10815 DEFVAR_BOOL ("x-mouse-click-focus-ignore-position", 10798 DEFVAR_BOOL ("x-mouse-click-focus-ignore-position",
10816 &x_mouse_click_focus_ignore_position, 10799 &x_mouse_click_focus_ignore_position,
10817 doc: /* Non-nil means that a mouse click to focus a frame does not move point. 10800 doc: /* Non-nil means that a mouse click to focus a frame does not move point.
10818 This variable is only used when the window manager requires that you 10801 This variable is only used when the window manager requires that you