aboutsummaryrefslogtreecommitdiffstats
path: root/src/xwidget.c
diff options
context:
space:
mode:
authorPaul Eggert2016-04-11 09:07:16 -0700
committerPaul Eggert2016-04-11 09:07:16 -0700
commit435da5d2955ce35be4785b7d46566ed9b42ea9fb (patch)
tree581fac64374d0997e53bba0ae3cbd4968fa55121 /src/xwidget.c
parent7c9e6254bbac949aa5493ab1741d2523a7d595b7 (diff)
parentb134c206bc07dbbb9e74b3be2db269c4f1196e40 (diff)
downloademacs-435da5d2955ce35be4785b7d46566ed9b42ea9fb.tar.gz
emacs-435da5d2955ce35be4785b7d46566ed9b42ea9fb.zip
Merge from origin/emacs-25
b134c20 Sync with gnulib bb30fa9 Fix last change on 2016-01-02 488a72f ; Spelling fixes 9b1aab9 Port run-prolog EMACS to SWI-Prolog 7.2.3 0e7bcec Avoid crashes due to unreasonably large or small text scaling 85f257c Improve documentation of 'with-eval-after-load' 668c7bc Improve handling of non-ASCII characters in Git log messages b570769 Remove undefined behavior in OS X dumper. 97211f3 Fix clipping of xwidgets e87fbc0 Improve Lisp-level documentation of tooltips 9f1786e Faces names should not end in "-face". 3283271 * src/xsmfns.c (syms_of_xsmfns): Remove stray "s in doc strings. a1f221b Comint and compile no longer set EMACS 5c28890 * lisp/subr.el (read-key): Don't let the prompt linger (bug#2... a75b9a6 Merge branch 'emacs-25' of git.savannah.gnu.org:/srv/git/emac... c93ae7a Allow to customize names of executables used by grep.el f6497c6 Set locale encoding to UTF-8 when run from OS X GUI. 7ad1d07 Avoid signaling errors in 'M-n' at the 'C-x C-f' prompt a3f1ac2 Avoid infinite loop in 'studlify-word' f36df4b Don’t recommend obsolete EMACS env var fb0b531 * lisp/emacs-lisp/package.el: Change from a few days ago need...
Diffstat (limited to 'src/xwidget.c')
-rw-r--r--src/xwidget.c34
1 files changed, 16 insertions, 18 deletions
diff --git a/src/xwidget.c b/src/xwidget.c
index 8ff4c23b1f2..7e96307bdd8 100644
--- a/src/xwidget.c
+++ b/src/xwidget.c
@@ -578,24 +578,22 @@ x_draw_xwidget_glyph_string (struct glyph_string *s)
578 other time to know things like window placement etc. */ 578 other time to know things like window placement etc. */
579 xv = xwidget_init_view (xww, s, x, y); 579 xv = xwidget_init_view (xww, s, x, y);
580 580
581 /* Calculate clipping, which is used for all manner of onscreen 581 int text_area_x, text_area_y, text_area_width, text_area_height;
582 xwidget views. Each widget border can get clipped by other emacs 582
583 objects so there are four clipping variables. */ 583 window_box (s->w,
584 clip_right = 584 ANY_AREA,
585 min (xww->width, 585 &text_area_x,
586 WINDOW_RIGHT_EDGE_X (s->w) - x - 586 &text_area_y,
587 WINDOW_RIGHT_SCROLL_BAR_AREA_WIDTH (s->w) - 587 &text_area_width,
588 WINDOW_RIGHT_FRINGE_WIDTH (s->w)); 588 &text_area_height);
589 clip_left = 589 clip_right = min (xww->width,
590 max (0, 590 text_area_width);
591 WINDOW_LEFT_EDGE_X (s->w) - x + 591 clip_left = max (0,
592 WINDOW_LEFT_SCROLL_BAR_AREA_WIDTH (s->w) + 592 text_area_x);
593 WINDOW_LEFT_FRINGE_WIDTH (s->w)); 593
594 594 clip_bottom = min (xww->height,
595 clip_bottom = 595 text_area_height);
596 min (xww->height, 596 clip_top = max (0, text_area_y);
597 WINDOW_BOTTOM_EDGE_Y (s->w) - WINDOW_MODE_LINE_HEIGHT (s->w) - y);
598 clip_top = max (0, WINDOW_TOP_EDGE_Y (s->w) - y);
599 597
600 /* We are concerned with movement of the onscreen area. The area 598 /* We are concerned with movement of the onscreen area. The area
601 might sit still when the widget actually moves. This happens 599 might sit still when the widget actually moves. This happens