Mercurial > hg > xemacs-beta
comparison src/redisplay-output.c @ 272:c5d627a313b1 r21-0b34
Import from CVS: tag r21-0b34
author | cvs |
---|---|
date | Mon, 13 Aug 2007 10:28:48 +0200 |
parents | b2472a1930f2 |
children | c42ec1d1cded |
comparison
equal
deleted
inserted
replaced
271:c7b7086b0a39 | 272:c5d627a313b1 |
---|---|
42 | 42 |
43 static int compare_runes (struct window *w, struct rune *crb, | 43 static int compare_runes (struct window *w, struct rune *crb, |
44 struct rune *drb); | 44 struct rune *drb); |
45 static void redraw_cursor_in_window (struct window *w, | 45 static void redraw_cursor_in_window (struct window *w, |
46 int run_end_begin_glyphs); | 46 int run_end_begin_glyphs); |
47 void redisplay_output_window (struct window *w); | |
48 | 47 |
49 /***************************************************************************** | 48 /***************************************************************************** |
50 sync_rune_structs | 49 sync_rune_structs |
51 | 50 |
52 Synchronize the given rune blocks. | 51 Synchronize the given rune blocks. |
272 int cursor_location, | 271 int cursor_location, |
273 int *cursor_start, int *cursor_width, | 272 int *cursor_start, int *cursor_width, |
274 int *cursor_height) | 273 int *cursor_height) |
275 { | 274 { |
276 struct rune *rb; | 275 struct rune *rb; |
277 Lisp_Object window = Qnil; | 276 Lisp_Object window; |
278 int defheight, defwidth; | 277 int defheight, defwidth; |
279 | 278 |
280 if (Dynarr_length (db->runes) <= cursor_location) | 279 if (Dynarr_length (db->runes) <= cursor_location) |
281 abort (); | 280 abort (); |
282 | 281 |
746 struct display_block *db; | 745 struct display_block *db; |
747 struct rune *rb; | 746 struct rune *rb; |
748 int x = w->last_point_x[CURRENT_DISP]; | 747 int x = w->last_point_x[CURRENT_DISP]; |
749 int y = w->last_point_y[CURRENT_DISP]; | 748 int y = w->last_point_y[CURRENT_DISP]; |
750 | 749 |
751 extern int cursor_in_echo_area; | |
752 | |
753 /* | 750 /* |
754 * Bail if cursor_in_echo_area is non-zero and we're fiddling with | 751 * Bail if cursor_in_echo_area is non-zero and we're fiddling with |
755 * the cursor in a non-active minibuffer window, since that is a | 752 * the cursor in a non-active minibuffer window, since that is a |
756 * special case that is handled elsewhere and this function need | 753 * special case that is handled elsewhere and this function need |
757 * not handle it. Return 1 so the caller will assume we | 754 * not handle it. Return 1 so the caller will assume we |
926 | 923 |
927 display_line_dynarr *dla = window_display_lines (w, CURRENT_DISP); | 924 display_line_dynarr *dla = window_display_lines (w, CURRENT_DISP); |
928 struct display_line *dl; | 925 struct display_line *dl; |
929 struct display_block *db; | 926 struct display_block *db; |
930 struct rune *rb; | 927 struct rune *rb; |
931 extern int cursor_in_echo_area; | |
932 | 928 |
933 int x = w->last_point_x[CURRENT_DISP]; | 929 int x = w->last_point_x[CURRENT_DISP]; |
934 int y = w->last_point_y[CURRENT_DISP]; | 930 int y = w->last_point_y[CURRENT_DISP]; |
935 | 931 |
936 if (cursor_in_echo_area && MINI_WINDOW_P (w) && | 932 if (cursor_in_echo_area && MINI_WINDOW_P (w) && |
978 This is used to update the cursor after focus changes. | 974 This is used to update the cursor after focus changes. |
979 ****************************************************************************/ | 975 ****************************************************************************/ |
980 void | 976 void |
981 redisplay_redraw_cursor (struct frame *f, int run_end_begin_meths) | 977 redisplay_redraw_cursor (struct frame *f, int run_end_begin_meths) |
982 { | 978 { |
983 struct window *w = XWINDOW (FRAME_SELECTED_WINDOW (f)); | 979 Lisp_Object window; |
984 extern int cursor_in_echo_area; | 980 |
985 | 981 if (!cursor_in_echo_area) |
986 if (cursor_in_echo_area) | 982 window = FRAME_SELECTED_WINDOW (f); |
987 { | 983 else if (FRAME_HAS_MINIBUF_P (f)) |
988 if (FRAME_HAS_MINIBUF_P (f)) | 984 window = FRAME_MINIBUF_WINDOW (f); |
989 { | 985 else |
990 w = XWINDOW (FRAME_MINIBUF_WINDOW (f)); | 986 return; |
991 } | 987 |
992 else | 988 redraw_cursor_in_window (XWINDOW (window), run_end_begin_meths); |
993 { | |
994 return; | |
995 } | |
996 } | |
997 redraw_cursor_in_window (w, run_end_begin_meths); | |
998 } | 989 } |
999 | 990 |
1000 /***************************************************************************** | 991 /***************************************************************************** |
1001 redisplay_clear_top_of_window | 992 redisplay_clear_top_of_window |
1002 | 993 |