Mercurial > emacs
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; |