Mercurial > emacs
comparison src/xterm.c @ 83019:82c3b4da43ca
Merged in changes from CVS HEAD
Patches applied:
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-33
Update from CVS
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-34
Update from CVS
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-35
Update from CVS
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-36
Update from CVS
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-37
Update from CVS
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-38
Update from CVS
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-39
Update from CVS
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-40
Update from CVS
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-41
Make fringe-drawing stuff compile without a window-system
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-42
Update from CVS
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-43
Update from CVS
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-44
Update from CVS
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-45
Update from CVS
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-46
Update from CVS
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-47
Update from CVS
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-48
Update from CVS
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-49
Update from CVS
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-50
Update from CVS
git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-59
author | Karoly Lorentey <lorentey@elte.hu> |
---|---|
date | Thu, 22 Jan 2004 15:37:19 +0000 |
parents | c4d4cbf86260 0bb1ce3944cd |
children | bf5b5fb49420 |
comparison
equal
deleted
inserted
replaced
83018:1465425fe2d3 | 83019:82c3b4da43ca |
---|---|
569 display_and_set_cursor (w, 1, output_cursor.hpos, | 569 display_and_set_cursor (w, 1, output_cursor.hpos, |
570 output_cursor.vpos, | 570 output_cursor.vpos, |
571 output_cursor.x, output_cursor.y); | 571 output_cursor.x, output_cursor.y); |
572 | 572 |
573 x_draw_vertical_border (w); | 573 x_draw_vertical_border (w); |
574 | |
575 draw_window_fringes (w); | |
576 | |
574 UNBLOCK_INPUT; | 577 UNBLOCK_INPUT; |
575 } | 578 } |
576 | 579 |
577 /* If a row with mouse-face was overwritten, arrange for | 580 /* If a row with mouse-face was overwritten, arrange for |
578 XTframe_up_to_date to redisplay the mouse highlight. */ | 581 XTframe_up_to_date to redisplay the mouse highlight. */ |
648 int width, height; | 651 int width, height; |
649 | 652 |
650 xassert (w); | 653 xassert (w); |
651 | 654 |
652 if (!desired_row->mode_line_p && !w->pseudo_window_p) | 655 if (!desired_row->mode_line_p && !w->pseudo_window_p) |
653 { | 656 desired_row->redraw_fringe_bitmaps_p = 1; |
654 BLOCK_INPUT; | |
655 draw_row_fringe_bitmaps (w, desired_row); | |
656 UNBLOCK_INPUT; | |
657 } | |
658 | 657 |
659 /* When a window has disappeared, make sure that no rest of | 658 /* When a window has disappeared, make sure that no rest of |
660 full-width rows stays visible in the internal border. Could | 659 full-width rows stays visible in the internal border. Could |
661 check here if updated_window is the leftmost/rightmost window, | 660 check here if updated_window is the leftmost/rightmost window, |
662 but I guess it's not worth doing since vertically split windows | 661 but I guess it's not worth doing since vertically split windows |
696 struct frame *f = XFRAME (WINDOW_FRAME (w)); | 695 struct frame *f = XFRAME (WINDOW_FRAME (w)); |
697 Display *display = FRAME_X_DISPLAY (f); | 696 Display *display = FRAME_X_DISPLAY (f); |
698 Window window = FRAME_X_WINDOW (f); | 697 Window window = FRAME_X_WINDOW (f); |
699 GC gc = f->output_data.x->normal_gc; | 698 GC gc = f->output_data.x->normal_gc; |
700 struct face *face = p->face; | 699 struct face *face = p->face; |
700 int rowY; | |
701 | 701 |
702 /* Must clip because of partially visible lines. */ | 702 /* Must clip because of partially visible lines. */ |
703 x_clip_to_row (w, row, gc); | 703 rowY = WINDOW_TO_FRAME_PIXEL_Y (w, row->y); |
704 if (p->y < rowY) | |
705 { | |
706 /* Adjust position of "bottom aligned" bitmap on partially | |
707 visible last row. */ | |
708 int oldY = row->y; | |
709 int oldVH = row->visible_height; | |
710 row->visible_height = p->h; | |
711 row->y -= rowY - p->y; | |
712 x_clip_to_row (w, row, gc); | |
713 row->y = oldY; | |
714 row->visible_height = oldVH; | |
715 } | |
716 else | |
717 x_clip_to_row (w, row, gc); | |
704 | 718 |
705 if (p->bx >= 0) | 719 if (p->bx >= 0) |
706 { | 720 { |
707 /* In case the same realized face is used for fringes and | 721 /* In case the same realized face is used for fringes and |
708 for something displayed in the text (e.g. face `region' on | 722 for something displayed in the text (e.g. face `region' on |
6312 nbytes = XLookupString (&event.xkey, copy_bufptr, | 6326 nbytes = XLookupString (&event.xkey, copy_bufptr, |
6313 copy_bufsiz, &keysym, | 6327 copy_bufsiz, &keysym, |
6314 &compose_status); | 6328 &compose_status); |
6315 #endif | 6329 #endif |
6316 | 6330 |
6331 /* If not using XIM/XIC, and a compose sequence is in progress, | |
6332 we break here. Otherwise, chars_matched is always 0. */ | |
6333 if (compose_status.chars_matched > 0 && nbytes == 0) | |
6334 break; | |
6335 | |
6317 orig_keysym = keysym; | 6336 orig_keysym = keysym; |
6318 | 6337 |
6319 if (numchars > 1) | 6338 if (numchars > 1) |
6320 { | 6339 { |
6321 Lisp_Object c; | 6340 Lisp_Object c; |
7450 if (on_p) | 7469 if (on_p) |
7451 { | 7470 { |
7452 w->phys_cursor_type = cursor_type; | 7471 w->phys_cursor_type = cursor_type; |
7453 w->phys_cursor_on_p = 1; | 7472 w->phys_cursor_on_p = 1; |
7454 | 7473 |
7474 if (glyph_row->exact_window_width_line_p | |
7475 && w->phys_cursor.hpos >= glyph_row->used[TEXT_AREA]) | |
7476 { | |
7477 glyph_row->cursor_in_fringe_p = 1; | |
7478 draw_fringe_bitmap (w, glyph_row, 0); | |
7479 } | |
7480 else | |
7455 switch (cursor_type) | 7481 switch (cursor_type) |
7456 { | 7482 { |
7457 case HOLLOW_BOX_CURSOR: | 7483 case HOLLOW_BOX_CURSOR: |
7458 x_draw_hollow_cursor (w, glyph_row); | 7484 x_draw_hollow_cursor (w, glyph_row); |
7459 break; | 7485 break; |