diff options
author | Joakim Verona <joakim@verona.se> | 2016-01-19 20:27:12 +0100 |
---|---|---|
committer | Joakim Verona <joakim@verona.se> | 2016-01-19 20:58:22 +0100 |
commit | 7c1f66a94bf236a427606ef537b4629a48a1665b (patch) | |
tree | 8661f512f7bcf35bfb1e7d915e5b6ef8df6229d8 /src/xterm.c | |
parent | 663d379bbc2fde5e9bded157365e9d48ea01c027 (diff) | |
download | emacs-7c1f66a94bf236a427606ef537b4629a48a1665b.tar.gz |
Support for the new Xwidget feature.
* configure.ac:
(HAVE_XWIDGETS, WIDGET_OBJ, EMACS_CONFIG_FEATURES):
* xterm.c (x_draw_glyph_string, x_draw_bar_cursor):
* xdisp.c:
(handle_display_spec, handle_single_display_spec, push_it)
(pop_it, set_iterator_to_next, dump_glyph)
(calc_pixel_width_or_height, fill_xwidget_glyph_string)
(BUILD_XWIDGET_GLYPH_STRING, BUILD_GLYPH_STRINGS)
(produce_xwidget_glyph, x_produce_glyphs)
(get_window_cursor_type):
* window.c (Fdelete_window_internal):
* termhooks.h (e):
* print.c (print_object):
* lisp.h (ptrdiff_t):
* keyboard.c (kbd_buffer_get_event, make_lispy_event)
(syms_of_keyboard):
* emacs.c (main):
* dispnew.c (update_window, scrolling_window):
* dispextern.h (g, i):
* Makefile.in (XWIDGETS_OBJ, WEBKIT_CFLAGS, WEBKIT_LIBS)
(GIR_LIBS, ALL_CFLAGS, base_obj, LIBES):
* keyboard.c (kbd_buffer_get_event):
* emacsgtkfixed.c (emacs_fixed_gtk_widget_size_allocate)
(emacs_fixed_class_init): Add case for an xwidget view.
* xwidget.c, xwidget.h, xwidget.el: New files for xwidgets
Co-authored-by: Grégoire Jadi <daimrod@gmail.com>
Various improvements to the Xwidget feature.
* xwidgets.c:
* emacsgtkfixed.c:
* xwidget.el:
Diffstat (limited to 'src/xterm.c')
-rw-r--r-- | src/xterm.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/xterm.c b/src/xterm.c index 5a6d643bad4..44eed22d2ec 100644 --- a/src/xterm.c +++ b/src/xterm.c @@ -62,6 +62,9 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ #include "composite.h" #include "frame.h" #include "dispextern.h" +#ifdef HAVE_XWIDGETS +# include "xwidget.h" +#endif #include "fontset.h" #include "termhooks.h" #include "termopts.h" @@ -3511,6 +3514,12 @@ x_draw_glyph_string (struct glyph_string *s) x_draw_image_glyph_string (s); break; +#ifdef HAVE_XWIDGETS + case XWIDGET_GLYPH: + x_draw_xwidget_glyph_string (s); + break; +#endif + case STRETCH_GLYPH: x_draw_stretch_glyph_string (s); break; @@ -8920,6 +8929,11 @@ x_draw_bar_cursor (struct window *w, struct glyph_row *row, int width, enum text if (cursor_glyph == NULL) return; +#ifdef HAVE_XWIDGETS + if (cursor_glyph->type == XWIDGET_GLYPH) + return; // Experimental avoidance of cursor on xwidget. +#endif + /* If on an image, draw like a normal cursor. That's usually better visible than drawing a bar, esp. if the image is large so that the bar might not be in the window. */ |