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