comparison src/xterm.c @ 37153:3799cab1815b

(x_use_underline_position_properties): New variable. (x_draw_glyph_string): Use it. (syms_of_xterm): DEFVAR_BOOL it.
author Gerd Moellmann <gerd@gnu.org>
date Tue, 03 Apr 2001 11:25:12 +0000
parents 187f754d89cc
children 5c27e50f91d1
comparison
equal deleted inserted replaced
37152:693e61ce18ff 37153:3799cab1815b
253 /* Non-zero means draw block and hollow cursor as wide as the glyph 253 /* Non-zero means draw block and hollow cursor as wide as the glyph
254 under it. For example, if a block cursor is over a tab, it will be 254 under it. For example, if a block cursor is over a tab, it will be
255 drawn as wide as that tab on the display. */ 255 drawn as wide as that tab on the display. */
256 256
257 int x_stretch_cursor_p; 257 int x_stretch_cursor_p;
258
259 /* Non-zero means make use of UNDERLINE_POSITION font properties. */
260
261 int x_use_underline_position_properties;
258 262
259 /* This is a chain of structures for all the X displays currently in 263 /* This is a chain of structures for all the X displays currently in
260 use. */ 264 use. */
261 265
262 struct x_display_info *x_display_list; 266 struct x_display_info *x_display_list;
4496 specs, and its default is 4500 specs, and its default is
4497 4501
4498 ROUND ((maximum descent) / 2), with 4502 ROUND ((maximum descent) / 2), with
4499 ROUND(x) = floor (x + 0.5) */ 4503 ROUND(x) = floor (x + 0.5) */
4500 4504
4501 if (XGetFontProperty (s->font, XA_UNDERLINE_POSITION, &tem)) 4505 if (x_use_underline_position_properties
4506 && XGetFontProperty (s->font, XA_UNDERLINE_POSITION, &tem))
4502 y = s->ybase + (long) tem; 4507 y = s->ybase + (long) tem;
4503 else if (s->face->font) 4508 else if (s->face->font)
4504 y = s->ybase + (s->face->font->max_bounds.descent + 1) / 2; 4509 y = s->ybase + (s->face->font->max_bounds.descent + 1) / 2;
4505 else 4510 else
4506 y = s->y + s->height - h; 4511 y = s->y + s->height - h;
14409 "*Non-nil means draw block cursor as wide as the glyph under it.\n\ 14414 "*Non-nil means draw block cursor as wide as the glyph under it.\n\
14410 For example, if a block cursor is over a tab, it will be drawn as\n\ 14415 For example, if a block cursor is over a tab, it will be drawn as\n\
14411 wide as that tab on the display."); 14416 wide as that tab on the display.");
14412 x_stretch_cursor_p = 0; 14417 x_stretch_cursor_p = 0;
14413 14418
14419 DEFVAR_BOOL ("x-use-underline-position-properties",
14420 &x_use_underline_position_properties,
14421 "*Non-nil means make use of UNDERLINE_POSITION font properties.\n\
14422 Nil means ignore them. If you encounter fonts with bogus\n\
14423 UNDERLINE_POSITION font properties, for example 7x13 on XFree prior\n\
14424 to 4.1, set this to nil.");
14425 x_use_underline_position_properties = 1;
14426
14414 DEFVAR_LISP ("x-toolkit-scroll-bars", &Vx_toolkit_scroll_bars, 14427 DEFVAR_LISP ("x-toolkit-scroll-bars", &Vx_toolkit_scroll_bars,
14415 "What X toolkit scroll bars Emacs uses.\n\ 14428 "What X toolkit scroll bars Emacs uses.\n\
14416 A value of nil means Emacs doesn't use X toolkit scroll bars.\n\ 14429 A value of nil means Emacs doesn't use X toolkit scroll bars.\n\
14417 Otherwise, value is a symbol describing the X toolkit."); 14430 Otherwise, value is a symbol describing the X toolkit.");
14418 #ifdef USE_TOOLKIT_SCROLL_BARS 14431 #ifdef USE_TOOLKIT_SCROLL_BARS