emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

master d9e91da: Stop assuming xwidget views will only be displayed in TE


From: Po Lu
Subject: master d9e91da: Stop assuming xwidget views will only be displayed in TEXT_AREA
Date: Sun, 14 Nov 2021 20:28:39 -0500 (EST)

branch: master
commit d9e91da7690a7872a27d9fcb652a170d84e4d891
Author: Po Lu <luangruo@yahoo.com>
Commit: Po Lu <luangruo@yahoo.com>

    Stop assuming xwidget views will only be displayed in TEXT_AREA
    
    * src/xterm.c (x_scroll_run): Use view->area when calculating
    xwidget view clipping.
    
    * src/xwidget.c (x_draw_xwidget_glyph_string): Set view->area
    to s->area and use that instead.
    
    * src/xwidget.h (struct xwidget_view): Add glyph row area field.
---
 src/xterm.c   | 2 +-
 src/xwidget.c | 4 +++-
 src/xwidget.h | 2 ++
 3 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/src/xterm.c b/src/xterm.c
index fd498c0..5988d3a 100644
--- a/src/xterm.c
+++ b/src/xterm.c
@@ -4439,7 +4439,7 @@ x_scroll_run (struct window *w, struct run *run)
                  int text_area_x, text_area_y, text_area_width, 
text_area_height;
                  int clip_top, clip_bottom;
 
-                 window_box (w, TEXT_AREA, &text_area_x, &text_area_y,
+                 window_box (w, view->area, &text_area_x, &text_area_y,
                              &text_area_width, &text_area_height);
 
                  view->y = y;
diff --git a/src/xwidget.c b/src/xwidget.c
index 0e8bf13..4892752 100644
--- a/src/xwidget.c
+++ b/src/xwidget.c
@@ -1631,7 +1631,9 @@ x_draw_xwidget_glyph_string (struct glyph_string *s)
     }
 #endif
 
-  window_box (s->w, TEXT_AREA, &text_area_x, &text_area_y,
+  xv->area = s->area;
+
+  window_box (s->w, xv->area, &text_area_x, &text_area_y,
               &text_area_width, &text_area_height);
 
   clip_left = max (0, text_area_x - x);
diff --git a/src/xwidget.h b/src/xwidget.h
index 4377b50..df55dac 100644
--- a/src/xwidget.h
+++ b/src/xwidget.h
@@ -104,6 +104,8 @@ struct xwidget_view
   /* The "live" instance isn't drawn.  */
   bool hidden;
 
+  enum glyph_row_area area;
+
 #if defined (USE_GTK)
   Display *dpy;
   Window wdesc;



reply via email to

[Prev in Thread] Current Thread [Next in Thread]