/* Define frame-object for GNU Emacs.
- Copyright (C) 1993-1994, 1999-2015 Free Software Foundation, Inc.
+ Copyright (C) 1993-1994, 1999-2016 Free Software Foundation, Inc.
This file is part of GNU Emacs.
GNU Emacs is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version.
+the Free Software Foundation, either version 3 of the License, or (at
+your option) any later version.
GNU Emacs is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
You should have received a copy of the GNU General Public License
along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
-/* Don't multiply include: dispextern.h includes macterm.h which
- includes frame.h some emacs source includes both dispextern.h and
- frame.h. */
-
#ifndef EMACS_FRAME_H
#define EMACS_FRAME_H
-#include "dispextern.h"
#include "termhooks.h"
#include "window.h"
/* Set to true after this frame was made by `make-frame'. */
bool_bf after_make_frame : 1;
- /* True means tool bar has been redisplayed at least once in current
- session. */
- bool_bf tool_bar_redisplayed_once : 1;
+ /* Whether the tool bar height change should be taken into account. */
+ bool_bf tool_bar_redisplayed : 1;
+ bool_bf tool_bar_resized : 1;
+
+ /* Inhibit implied resize before after_make_frame is set. */
+ bool_bf inhibit_horizontal_resize : 1;
+ bool_bf inhibit_vertical_resize : 1;
+
+ /* Non-zero if this frame's faces need to be recomputed. */
+ bool_bf face_change : 1;
/* Bitfield area ends here. */
}
#endif /* HAVE_WINDOW_SYSTEM && !USE_GTK && !HAVE_NS */
-#define NUMVAL(X) ((INTEGERP (X) || FLOATP (X)) ? XFLOATINT (X) : -1)
+#define NUMVAL(X) (NUMBERP (X) ? XFLOATINT (X) : -1)
INLINE double
default_pixels_per_inch_x (void)
extern void x_set_scroll_bar_width (struct frame *, Lisp_Object, Lisp_Object);
extern void x_set_scroll_bar_height (struct frame *, Lisp_Object, Lisp_Object);
-extern long x_figure_window_size (struct frame *, Lisp_Object, bool);
+extern long x_figure_window_size (struct frame *, Lisp_Object, bool, int *, int *);
extern void x_set_alpha (struct frame *, Lisp_Object, Lisp_Object);
#endif /* HAVE_X_WINDOWS */
extern void x_query_colors (struct frame *f, XColor *, int);
-extern void x_query_color (struct frame *f, XColor *);
extern void x_focus_frame (struct frame *);
#ifndef HAVE_NS