X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=src%2Fredisplay-x.c;h=afccf6664d518f8afc8bde6f7a747b2b84bc4de2;hb=a427521703d69ab8a90a1118e139da303f6d8024;hp=1abe97a27a30bb238207fc562154bd8e7eed2e8b;hpb=2fd9701a4f902054649dde9143a3f77809afee8f;p=chise%2Fxemacs-chise.git- diff --git a/src/redisplay-x.c b/src/redisplay-x.c index 1abe97a..afccf66 100644 --- a/src/redisplay-x.c +++ b/src/redisplay-x.c @@ -286,24 +286,24 @@ x_eol_cursor_width (void) } /***************************************************************************** - x_output_begin + x_window_output_begin Perform any necessary initialization prior to an update. ****************************************************************************/ static void -x_output_begin (struct device *d) +x_window_output_begin (struct window *w) { } /***************************************************************************** - x_output_end + x_window_output_end Perform any necessary flushing of queues when an update has completed. ****************************************************************************/ static void -x_output_end (struct device *d) +x_window_output_end (struct window *w) { - XFlush (DEVICE_X_DISPLAY (d)); + XFlush (DEVICE_X_DISPLAY (WINDOW_XDEVICE (w))); } /***************************************************************************** @@ -452,25 +452,6 @@ x_output_display_block (struct window *w, struct display_line *dl, int block, { switch (XIMAGE_INSTANCE_TYPE (instance)) { - case IMAGE_TEXT: - { - /* #### This is way losing. See the comment in - add_glyph_rune(). */ - Lisp_Object string = - XIMAGE_INSTANCE_TEXT_STRING (instance); - convert_bufbyte_string_into_emchar_dynarr - (XSTRING_DATA (string), XSTRING_LENGTH (string), buf); - - x_output_string (w, dl, buf, xpos, - rb->object.dglyph.xoffset, - start_pixpos, -1, findex, - (rb->cursor_type == CURSOR_ON), - cursor_start, cursor_width, - cursor_height); - Dynarr_reset (buf); - } - break; - case IMAGE_MONO_PIXMAP: case IMAGE_COLOR_PIXMAP: redisplay_output_pixmap (w, instance, &dbox, &dga, findex, @@ -479,22 +460,25 @@ x_output_display_block (struct window *w, struct display_line *dl, int block, break; 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); + break; + } case IMAGE_SUBWINDOW: redisplay_output_subwindow (w, instance, &dbox, &dga, findex, cursor_start, cursor_width, cursor_height); break; - case IMAGE_LAYOUT: - redisplay_output_layout (w, instance, &dbox, &dga, findex, - cursor_start, cursor_width, - cursor_height); - break; - case IMAGE_NOTHING: /* nothing is as nothing does */ break; + case IMAGE_TEXT: case IMAGE_POINTER: default: abort (); @@ -2111,8 +2095,8 @@ console_type_create_redisplay_x (void) CONSOLE_HAS_METHOD (x, output_vertical_divider); CONSOLE_HAS_METHOD (x, clear_region); CONSOLE_HAS_METHOD (x, clear_frame); - CONSOLE_HAS_METHOD (x, output_begin); - CONSOLE_HAS_METHOD (x, output_end); + CONSOLE_HAS_METHOD (x, window_output_begin); + CONSOLE_HAS_METHOD (x, window_output_end); CONSOLE_HAS_METHOD (x, flash); CONSOLE_HAS_METHOD (x, ring_bell); CONSOLE_HAS_METHOD (x, bevel_area);