diff options
author | Po Lu <luangruo@yahoo.com> | 2021-10-29 11:33:06 +0800 |
---|---|---|
committer | Lars Ingebrigtsen <larsi@gnus.org> | 2021-11-07 02:59:39 +0100 |
commit | 5c387ad437872c6e95599710ba5dcdfaa470c5ea (patch) | |
tree | db21cc292335e934f1eb93509828426fee40d0fa /src/dispextern.h | |
parent | 61d049aaff2ede48d3d4b357bc1cb06447f15229 (diff) | |
download | emacs-5c387ad437872c6e95599710ba5dcdfaa470c5ea.tar.gz |
Enable scrolling optimization for xwidgets
* src/dispextern.h (struct glyph): Store xwidget ID instead of a
reference.
* src/dispnew.c (scrolling_window): Enable scrolling optimization on
xwidget builds.
* src/xdisp.c (fill_xwidget_glyph_string, produce_xwidget_glyph):
Obtain xwidget from ID.
* src/xterm.c (x_scroll_run): Scroll xwidget windows.
* src/xwidget.c (id_to_xwidget_map, xwidget_counter): New xwidget
variables.
(Fmake_xwidget): Assign each xwidget a unique ID, and keep track of
that ID.
(xwidget_from_id): New function.
(syms_of_xwidget): Initialize id_to_xwidget_map.
(xwidget_end_redisplay): Lookup xwidgets via ID.
* src/xwidget.h (struct xwidget): Add ID field.
(xwidget_from_id): New function.
Diffstat (limited to 'src/dispextern.h')
-rw-r--r-- | src/dispextern.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/dispextern.h b/src/dispextern.h index 5b28fe76664..f17f095e0d3 100644 --- a/src/dispextern.h +++ b/src/dispextern.h @@ -536,8 +536,8 @@ struct glyph int img_id; #ifdef HAVE_XWIDGETS - /* Xwidget reference (type == XWIDGET_GLYPH). */ - struct xwidget *xwidget; + /* Xwidget ID. */ + uint32_t xwidget; #endif /* Sub-structure for type == STRETCH_GLYPH. */ |