From cdbc7fec13c9086ec254b91b037bb0da16231838 Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Mon, 31 Mar 2003 20:35:51 +0000 Subject: [PATCH] Remove extern decl for frame parameter vars. (change_window_heights): New generic function; replaces x_change_window_heights. All users changed. --- src/window.c | 30 +++++++++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/src/window.c b/src/window.c index 65966edb6da..8b179cb29e9 100644 --- a/src/window.c +++ b/src/window.c @@ -52,7 +52,6 @@ Boston, MA 02111-1307, USA. */ Lisp_Object Qwindowp, Qwindow_live_p, Qwindow_configuration_p; Lisp_Object Qwindow_size_fixed; extern Lisp_Object Qleft_margin, Qright_margin; -extern Lisp_Object Qheight, Qwidth; static int displayed_window_lines P_ ((struct window *)); static struct window *decode_window P_ ((Lisp_Object)); @@ -2639,6 +2638,35 @@ set_window_width (window, width, nodelete) size_window (window, width, 1, nodelete); } +/* Change window heights in windows rooted in WINDOW by N lines. */ + +void +change_window_heights (window, n) + Lisp_Object window; + int n; +{ + struct window *w = XWINDOW (window); + + XSETFASTINT (w->top, XFASTINT (w->top) + n); + XSETFASTINT (w->height, XFASTINT (w->height) - n); + + if (INTEGERP (w->orig_top)) + XSETFASTINT (w->orig_top, XFASTINT (w->orig_top) + n); + if (INTEGERP (w->orig_height)) + XSETFASTINT (w->orig_height, XFASTINT (w->orig_height) - n); + + /* Handle just the top child in a vertical split. */ + if (!NILP (w->vchild)) + change_window_heights (w->vchild, n); + + /* Adjust all children in a horizontal split. */ + for (window = w->hchild; !NILP (window); window = w->next) + { + w = XWINDOW (window); + change_window_heights (window, n); + } +} + int window_select_count; -- 2.39.2