aboutsummaryrefslogtreecommitdiffstats
path: root/src/w32term.c
diff options
context:
space:
mode:
authorKaroly Lorentey2006-10-14 16:56:21 +0000
committerKaroly Lorentey2006-10-14 16:56:21 +0000
commit3f87f67ee215ffeecbd2f53bd7f342cdf03f47df (patch)
tree16f2af9111af08a94d608d96a957f5c3ec5effcc /src/w32term.c
parent350e4fb815d7413ef6d339dd664014706f742927 (diff)
parent7a210b69c7f92650c524766d1b9d3f3eefdd67c7 (diff)
downloademacs-3f87f67ee215ffeecbd2f53bd7f342cdf03f47df.tar.gz
emacs-3f87f67ee215ffeecbd2f53bd7f342cdf03f47df.zip
Merged from emacs@sv.gnu.org
Patches applied: * emacs@sv.gnu.org/emacs--devo--0--patch-371 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-372 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-373 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-374 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-375 Merge from gnus--rel--5.10 * emacs@sv.gnu.org/emacs--devo--0--patch-376 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-377 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-378 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-379 Merge from erc--emacs--21 * emacs@sv.gnu.org/emacs--devo--0--patch-380 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-381 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-382 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-383 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-384 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-385 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-386 Update from erc--emacs--22 * emacs@sv.gnu.org/emacs--devo--0--patch-387 Fix ERC bug introduced in last patch * emacs@sv.gnu.org/emacs--devo--0--patch-388 Update from erc--emacs--22 * emacs@sv.gnu.org/emacs--devo--0--patch-389 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-390 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-391 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-392 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-393 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-394 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-395 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-396 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-397 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-398 Merge from gnus--rel--5.10 * emacs@sv.gnu.org/emacs--devo--0--patch-399 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-400 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-401 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-402 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-403 Rcirc update from Ryan Yeske * emacs@sv.gnu.org/emacs--devo--0--patch-404 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-405 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-406 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-407 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-408 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-409 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-410 Merge from gnus--rel--5.10 * emacs@sv.gnu.org/emacs--devo--0--patch-411 Miscellaneous tq-related fixes. * emacs@sv.gnu.org/emacs--devo--0--patch-412 Update from CVS * emacs@sv.gnu.org/gnus--rel--5.10--patch-121 Update from CVS * emacs@sv.gnu.org/gnus--rel--5.10--patch-122 Update from CVS * emacs@sv.gnu.org/gnus--rel--5.10--patch-123 Update from CVS * emacs@sv.gnu.org/gnus--rel--5.10--patch-124 Update from CVS * emacs@sv.gnu.org/gnus--rel--5.10--patch-125 Update from CVS * emacs@sv.gnu.org/gnus--rel--5.10--patch-126 Merge from emacs--devo--0 * emacs@sv.gnu.org/gnus--rel--5.10--patch-127 Update from CVS git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-581
Diffstat (limited to 'src/w32term.c')
-rw-r--r--src/w32term.c40
1 files changed, 30 insertions, 10 deletions
diff --git a/src/w32term.c b/src/w32term.c
index b564ed3bd2b..2870955b94f 100644
--- a/src/w32term.c
+++ b/src/w32term.c
@@ -91,6 +91,10 @@ static Lisp_Object last_window;
91 (Not yet supported, see TODO in x_draw_glyph_string.) */ 91 (Not yet supported, see TODO in x_draw_glyph_string.) */
92int x_use_underline_position_properties; 92int x_use_underline_position_properties;
93 93
94/* Non-zero means to draw the underline at the same place as the descent line. */
95
96int x_underline_at_descent_line;
97
94extern unsigned int msh_mousewheel; 98extern unsigned int msh_mousewheel;
95 99
96extern void free_frame_menubar (); 100extern void free_frame_menubar ();
@@ -2418,7 +2422,9 @@ x_draw_stretch_glyph_string (s)
2418 int background_width = s->background_width; 2422 int background_width = s->background_width;
2419 int x = s->x, left_x = window_box_left_offset (s->w, TEXT_AREA); 2423 int x = s->x, left_x = window_box_left_offset (s->w, TEXT_AREA);
2420 2424
2421 if (x < left_x) 2425 /* Don't draw into left margin, fringe or scrollbar area
2426 except for header line and mode line. */
2427 if (x < left_x && !s->row->mode_line_p)
2422 { 2428 {
2423 background_width -= left_x - x; 2429 background_width -= left_x - x;
2424 x = left_x; 2430 x = left_x;
@@ -2507,21 +2513,27 @@ x_draw_glyph_string (s)
2507 && (s->font->bdf || !s->font->tm.tmUnderlined)) 2513 && (s->font->bdf || !s->font->tm.tmUnderlined))
2508 { 2514 {
2509 unsigned long h = 1; 2515 unsigned long h = 1;
2510 unsigned long dy = s->height - h; 2516 unsigned long dy = 0;
2511 2517
2512 /* TODO: Use font information for positioning and thickness 2518 if (x_underline_at_descent_line)
2513 of underline. See OUTLINETEXTMETRIC, and xterm.c. 2519 dy = s->height - h;
2514 Note: If you make this work, don't forget to change the 2520 else
2515 doc string of x-use-underline-position-properties below. */ 2521 {
2522 /* TODO: Use font information for positioning and thickness of
2523 underline. See OUTLINETEXTMETRIC, and xterm.c. Note: If
2524 you make this work, don't forget to change the doc string of
2525 x-use-underline-position-properties below. */
2526 dy = s->height - h;
2527 }
2516 if (s->face->underline_defaulted_p) 2528 if (s->face->underline_defaulted_p)
2517 { 2529 {
2518 w32_fill_area (s->f, s->hdc, s->gc->foreground, s->x, 2530 w32_fill_area (s->f, s->hdc, s->gc->foreground, s->x,
2519 s->y + dy, s->width, 1); 2531 s->y + dy, s->background_width, 1);
2520 } 2532 }
2521 else 2533 else
2522 { 2534 {
2523 w32_fill_area (s->f, s->hdc, s->face->underline_color, s->x, 2535 w32_fill_area (s->f, s->hdc, s->face->underline_color, s->x,
2524 s->y + dy, s->width, 1); 2536 s->y + dy, s->background_width, 1);
2525 } 2537 }
2526 } 2538 }
2527 2539
@@ -2533,12 +2545,12 @@ x_draw_glyph_string (s)
2533 if (s->face->overline_color_defaulted_p) 2545 if (s->face->overline_color_defaulted_p)
2534 { 2546 {
2535 w32_fill_area (s->f, s->hdc, s->gc->foreground, s->x, 2547 w32_fill_area (s->f, s->hdc, s->gc->foreground, s->x,
2536 s->y + dy, s->width, h); 2548 s->y + dy, s->background_width, h);
2537 } 2549 }
2538 else 2550 else
2539 { 2551 {
2540 w32_fill_area (s->f, s->hdc, s->face->overline_color, s->x, 2552 w32_fill_area (s->f, s->hdc, s->face->overline_color, s->x,
2541 s->y + dy, s->width, h); 2553 s->y + dy, s->background_width, h);
2542 } 2554 }
2543 } 2555 }
2544 2556
@@ -6509,6 +6521,14 @@ to 4.1, set this to nil.
6509NOTE: Not supported on MS-Windows yet. */); 6521NOTE: Not supported on MS-Windows yet. */);
6510 x_use_underline_position_properties = 0; 6522 x_use_underline_position_properties = 0;
6511 6523
6524 DEFVAR_BOOL ("x-underline-at-descent-line",
6525 &x_underline_at_descent_line,
6526 doc: /* *Non-nil means to draw the underline at the same place as the descent line.
6527nil means to draw the underline according to the value of the variable
6528`x-use-underline-position-properties', which is usually at the baseline
6529level. The default value is nil. */);
6530 x_underline_at_descent_line = 0;
6531
6512 DEFVAR_LISP ("x-toolkit-scroll-bars", &Vx_toolkit_scroll_bars, 6532 DEFVAR_LISP ("x-toolkit-scroll-bars", &Vx_toolkit_scroll_bars,
6513 doc: /* If not nil, Emacs uses toolkit scroll bars. */); 6533 doc: /* If not nil, Emacs uses toolkit scroll bars. */);
6514 Vx_toolkit_scroll_bars = Qt; 6534 Vx_toolkit_scroll_bars = Qt;