comparison src/w32term.c @ 36002:205727d5d63c

(w32_encode_char): Treat eight bit graphic and control characters the same as ASCII and latin-1. (x_display_and_set_cursor): Check for the focus frame's selected window instead of selected_window. (x_after_update_window_line): Don't clear if frame's internal border width is zero. (x_new_font): Don't change a tooltip's size. (w32_initialize): Set char_ins_del_ok to 1.
author Jason Rumney <jasonr@gnu.org>
date Fri, 09 Feb 2001 10:02:14 +0000
parents 0080b799e901
children 8be6a1c85409
comparison
equal deleted inserted replaced
36001:1d402a57bb21 36002:205727d5d63c
756 756
757 xassert (w); 757 xassert (w);
758 758
759 if (!desired_row->mode_line_p && !w->pseudo_window_p) 759 if (!desired_row->mode_line_p && !w->pseudo_window_p)
760 { 760 {
761 struct frame *f;
762 int width;
763
761 BLOCK_INPUT; 764 BLOCK_INPUT;
762 x_draw_row_bitmaps (w, desired_row); 765 x_draw_row_bitmaps (w, desired_row);
763 766
764 /* When a window has disappeared, make sure that no rest of 767 /* When a window has disappeared, make sure that no rest of
765 full-width rows stays visible in the internal border. */ 768 full-width rows stays visible in the internal border. */
766 if (windows_or_buffers_changed) 769 if (windows_or_buffers_changed
770 && (f = XFRAME (w->frame),
771 width = FRAME_INTERNAL_BORDER_WIDTH (f),
772 width != 0))
767 { 773 {
768 struct frame *f = XFRAME (w->frame);
769 int width = FRAME_INTERNAL_BORDER_WIDTH (f);
770 int height = desired_row->visible_height; 774 int height = desired_row->visible_height;
771 int x = (window_box_right (w, -1) 775 int x = (window_box_right (w, -1)
772 + FRAME_X_RIGHT_FLAGS_AREA_WIDTH (f)); 776 + FRAME_X_RIGHT_FLAGS_AREA_WIDTH (f));
773 int y = WINDOW_TO_FRAME_PIXEL_Y (w, max (0, desired_row->y)); 777 int y = WINDOW_TO_FRAME_PIXEL_Y (w, max (0, desired_row->y));
774 HDC hdc = get_frame_dc (f); 778 HDC hdc = get_frame_dc (f);
1442 codepage = w32_codepage_for_font (font_info->name); 1446 codepage = w32_codepage_for_font (font_info->name);
1443 1447
1444 /* If charset is not ASCII or Latin-1, may need to move it into 1448 /* If charset is not ASCII or Latin-1, may need to move it into
1445 Unicode space. */ 1449 Unicode space. */
1446 if ( font && !font->bdf && w32_use_unicode_for_codepage (codepage) 1450 if ( font && !font->bdf && w32_use_unicode_for_codepage (codepage)
1447 && charset != CHARSET_ASCII && charset != charset_latin_iso8859_1) 1451 && charset != CHARSET_ASCII && charset != charset_latin_iso8859_1
1452 && charset != CHARSET_8_BIT_CONTROL && charset != CHARSET_8_BIT_GRAPHIC)
1448 { 1453 {
1449 char temp[3]; 1454 char temp[3];
1450 temp[0] = BYTE1 (*char2b); 1455 temp[0] = BYTE1 (*char2b);
1451 temp[1] = BYTE2 (*char2b); 1456 temp[1] = BYTE2 (*char2b);
1452 temp[2] = '\0'; 1457 temp[2] = '\0';
9074 else 9079 else
9075 new_cursor_type = HOLLOW_BOX_CURSOR; 9080 new_cursor_type = HOLLOW_BOX_CURSOR;
9076 } 9081 }
9077 else 9082 else
9078 { 9083 {
9079 if (w != XWINDOW (selected_window) 9084 if (f != FRAME_W32_DISPLAY_INFO (f)->w32_highlight_frame
9080 || f != FRAME_W32_DISPLAY_INFO (f)->w32_highlight_frame) 9085 || w != XWINDOW (f->selected_window))
9081 { 9086 {
9082 extern int cursor_in_non_selected_windows; 9087 extern int cursor_in_non_selected_windows;
9083 9088
9084 if (MINI_WINDOW_P (w) 9089 if (MINI_WINDOW_P (w)
9085 || !cursor_in_non_selected_windows 9090 || !cursor_in_non_selected_windows
9337 9342
9338 /* Now make the frame display the given font. */ 9343 /* Now make the frame display the given font. */
9339 if (FRAME_W32_WINDOW (f) != 0) 9344 if (FRAME_W32_WINDOW (f) != 0)
9340 { 9345 {
9341 frame_update_line_height (f); 9346 frame_update_line_height (f);
9342 x_set_window_size (f, 0, f->width, f->height); 9347 if (NILP (tip_frame) || XFRAME (tip_frame) != f)
9348 x_set_window_size (f, 0, f->width, f->height);
9343 } 9349 }
9344 else 9350 else
9345 /* If we are setting a new frame's font for the first time, 9351 /* If we are setting a new frame's font for the first time,
9346 there are no faces yet, so this font's height is the line height. */ 9352 there are no faces yet, so this font's height is the line height. */
9347 f->output_data.w32->line_height = FONT_HEIGHT (FRAME_FONT (f)); 9353 f->output_data.w32->line_height = FONT_HEIGHT (FRAME_FONT (f));
10319 redeem_scroll_bar_hook = w32_redeem_scroll_bar; 10325 redeem_scroll_bar_hook = w32_redeem_scroll_bar;
10320 judge_scroll_bars_hook = w32_judge_scroll_bars; 10326 judge_scroll_bars_hook = w32_judge_scroll_bars;
10321 estimate_mode_line_height_hook = x_estimate_mode_line_height; 10327 estimate_mode_line_height_hook = x_estimate_mode_line_height;
10322 10328
10323 scroll_region_ok = 1; /* we'll scroll partial frames */ 10329 scroll_region_ok = 1; /* we'll scroll partial frames */
10324 char_ins_del_ok = 0; /* just as fast to write the line */ 10330 char_ins_del_ok = 1;
10325 line_ins_del_ok = 1; /* we'll just blt 'em */ 10331 line_ins_del_ok = 1; /* we'll just blt 'em */
10326 fast_clear_end_of_line = 1; /* X does this well */ 10332 fast_clear_end_of_line = 1; /* X does this well */
10327 memory_below_frame = 0; /* we don't remember what scrolls 10333 memory_below_frame = 0; /* we don't remember what scrolls
10328 off the bottom */ 10334 off the bottom */
10329 baud_rate = 19200; 10335 baud_rate = 19200;