X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=src%2Fredisplay-msw.c;h=10a5a15d6641e817a0bb1fa74fa8ba68d6a88b1a;hb=3aca7317dd930beecbddba646284279744087e69;hp=d4f9cde472bf2a92be3b63e153a8b7a5474b2a2f;hpb=f52a96980ed9280f8f906a20d4b899dc0b027644;p=chise%2Fxemacs-chise.git- diff --git a/src/redisplay-msw.c b/src/redisplay-msw.c index d4f9cde..10a5a15 100644 --- a/src/redisplay-msw.c +++ b/src/redisplay-msw.c @@ -957,23 +957,31 @@ mswindows_eol_cursor_width (void) } /***************************************************************************** - mswindows_output_begin + mswindows_frame_output_begin Perform any necessary initialization prior to an update. ****************************************************************************/ static void -mswindows_output_begin (struct device *d) +mswindows_frame_output_begin (struct frame *f) { } /***************************************************************************** - mswindows_output_end + mswindows_frame_output_end Perform any necessary flushing of queues when an update has completed. ****************************************************************************/ static void -mswindows_output_end (struct device *d) +mswindows_frame_output_end (struct frame *f) { + HDWP hdwp = FRAME_MSWINDOWS_DATA (f)->hdwp; + + if (hdwp != 0) + { + EndDeferWindowPos (hdwp); + FRAME_MSWINDOWS_DATA (f)->hdwp = 0; + } + GdiFlush(); } @@ -1157,8 +1165,19 @@ mswindows_output_display_block (struct window *w, struct display_line *dl, int b findex, 0, 1); break; - case IMAGE_SUBWINDOW: case IMAGE_WIDGET: + if (EQ (XIMAGE_INSTANCE_WIDGET_TYPE (instance), + Qlayout)) + { + redisplay_output_layout (w, instance, &dbox, &dga, findex, + cursor_start, cursor_width, + cursor_height); + if (rb->cursor_type == CURSOR_ON) + mswindows_output_cursor (w, dl, xpos, cursor_width, + findex, 0, 1); + break; + } + case IMAGE_SUBWINDOW: redisplay_output_subwindow (w, instance, &dbox, &dga, findex, cursor_start, cursor_width, cursor_height); @@ -1167,15 +1186,6 @@ mswindows_output_display_block (struct window *w, struct display_line *dl, int b findex, 0, 1); break; - case IMAGE_LAYOUT: - redisplay_output_layout (w, instance, &dbox, &dga, findex, - cursor_start, cursor_width, - cursor_height); - if (rb->cursor_type == CURSOR_ON) - mswindows_output_cursor (w, dl, xpos, cursor_width, - findex, 0, 1); - break; - case IMAGE_NOTHING: /* nothing is as nothing does */ break; @@ -1358,8 +1368,8 @@ console_type_create_redisplay_mswindows (void) CONSOLE_HAS_METHOD (mswindows, output_vertical_divider); CONSOLE_HAS_METHOD (mswindows, clear_region); CONSOLE_HAS_METHOD (mswindows, clear_frame); - CONSOLE_HAS_METHOD (mswindows, output_begin); - CONSOLE_HAS_METHOD (mswindows, output_end); + CONSOLE_HAS_METHOD (mswindows, frame_output_begin); + CONSOLE_HAS_METHOD (mswindows, frame_output_end); CONSOLE_HAS_METHOD (mswindows, flash); CONSOLE_HAS_METHOD (mswindows, ring_bell); CONSOLE_HAS_METHOD (mswindows, bevel_area); @@ -1374,8 +1384,8 @@ console_type_create_redisplay_mswindows (void) CONSOLE_INHERITS_METHOD (msprinter, mswindows, output_vertical_divider); CONSOLE_INHERITS_METHOD (msprinter, mswindows, clear_region); CONSOLE_INHERITS_METHOD (msprinter, mswindows, clear_frame); - CONSOLE_INHERITS_METHOD (msprinter, mswindows, output_begin); - CONSOLE_INHERITS_METHOD (msprinter, mswindows, output_end); + CONSOLE_INHERITS_METHOD (msprinter, mswindows, frame_output_begin); + CONSOLE_INHERITS_METHOD (msprinter, mswindows, frame_output_end); CONSOLE_INHERITS_METHOD (msprinter, mswindows, bevel_area); CONSOLE_INHERITS_METHOD (msprinter, mswindows, output_string); CONSOLE_INHERITS_METHOD (msprinter, mswindows, output_pixmap);