X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/e2ae1c5a40e2802fcd9f5ee26b4906be97c8b878..63efcc268635dea78c6bd80749eae4ee2c72d717:/src/frame.h diff --git a/src/frame.h b/src/frame.h index ddbf93e98f..9de672c863 100644 --- a/src/frame.h +++ b/src/frame.h @@ -1,12 +1,12 @@ /* 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 @@ -16,14 +16,9 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Emacs. If not, see . */ -/* 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" @@ -293,8 +288,9 @@ struct frame cleared. */ bool_bf explicit_name : 1; - /* True if size of some window on this frame has changed. */ - bool_bf window_sizes_changed : 1; + /* True if configuration of windows on this frame has changed since + last call of run_window_size_change_functions. */ + bool_bf window_configuration_changed : 1; /* True if the mouse has moved on this display device since the last time we checked. */ @@ -335,9 +331,16 @@ struct frame /* 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. */ @@ -618,7 +621,7 @@ fset_desired_tool_bar_string (struct frame *f, Lisp_Object val) } #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) @@ -826,10 +829,10 @@ default_pixels_per_inch_y (void) are frozen on frame F. */ #define FRAME_WINDOWS_FROZEN(f) (f)->frozen_window_starts -/* True if a size change has been requested for frame F - but not yet really put into effect. This can be true temporarily - when an X event comes in at a bad time. */ -#define FRAME_WINDOW_SIZES_CHANGED(f) (f)->window_sizes_changed +/* True if the frame's window configuration has changed since last call + of run_window_size_change_functions. */ +#define FRAME_WINDOW_CONFIGURATION_CHANGED(f) \ + (f)->window_configuration_changed /* The minibuffer window of frame F, if it has one; otherwise nil. */ #define FRAME_MINIBUF_WINDOW(f) f->minibuffer_window @@ -1376,7 +1379,7 @@ extern void x_set_horizontal_scroll_bars (struct frame *, Lisp_Object, Lisp_Obje 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); @@ -1411,7 +1414,6 @@ extern void x_sync (struct frame *); #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 @@ -1425,7 +1427,7 @@ x_set_bitmap_icon (struct frame *f) { Lisp_Object obj = assq_no_quit (Qicon_type, f->param_alist); - if (CONSP (obj)) + if (CONSP (obj) && !NILP (XCDR (obj))) x_bitmap_icon (f, XCDR (obj)); }