]> git.eshelyaron.com Git - emacs.git/commitdiff
(Ftool_bar_lines_needed): New function.
authorGerd Moellmann <gerd@gnu.org>
Mon, 22 Jan 2001 15:17:50 +0000 (15:17 +0000)
committerGerd Moellmann <gerd@gnu.org>
Mon, 22 Jan 2001 15:17:50 +0000 (15:17 +0000)
(syms_of_xdisp): Defsubr it.

src/ChangeLog
src/xdisp.c

index f85dd0e7602dfe3f2029f3eefdadf74e05fef644..b4db657e1f3ffce04949cf2b7c4dbea008c51a7a 100644 (file)
@@ -1,5 +1,8 @@
 2001-01-22  Gerd Moellmann  <gerd@gnu.org>
 
+       * xdisp.c (Ftool_bar_lines_needed): New function.
+       (syms_of_xdisp): Defsubr it.
+
        * editfns.c (Fformat): Don't extend text properties from arguments
        to padding chars in the result.
 
index 0e6e6d32484de75a6a6b24b53e4e2090864ac1be..785159688239e4f18a77f46fbe400b00fe67c1ed 100644 (file)
@@ -7411,6 +7411,38 @@ tool_bar_lines_needed (f)
 }
 
 
+DEFUN ("tool-bar-lines-needed", Ftool_bar_lines_needed, Stool_bar_lines_needed,
+       0, 1, 0,
+  "Return the number of lines occupied by the tool bar of FRAME.")
+  (frame)
+     Lisp_Object frame;
+{
+  struct frame *f;
+  struct window *w;
+  int nlines = 0;
+
+  if (NILP (frame))
+    frame = selected_frame;
+  else
+    CHECK_FRAME (frame, 0);
+  f = XFRAME (frame);
+  
+  if (WINDOWP (f->tool_bar_window)
+      || (w = XWINDOW (f->tool_bar_window),
+         XFASTINT (w->height) > 0))
+    {
+      update_tool_bar (f, 1);
+      if (f->n_tool_bar_items)
+       {
+         build_desired_tool_bar_string (f);
+         nlines = tool_bar_lines_needed (f);
+       }
+    }
+
+  return make_number (nlines);
+}
+
+
 /* Display the tool-bar of frame F.  Value is non-zero if tool-bar's
    height should be changed.  */
 
@@ -13929,6 +13961,7 @@ syms_of_xdisp ()
   defsubr (&Strace_redisplay_toggle);
   defsubr (&Strace_to_stderr);
 #endif
+  defsubr (&Stool_bar_lines_needed);
 
   staticpro (&Qmenu_bar_update_hook);
   Qmenu_bar_update_hook = intern ("menu-bar-update-hook");