(Fload, load_unwind): Use make_save_value to unwind
[bpt/emacs.git] / src / frame.h
index 6ecfcf9..a2f5fc2 100644 (file)
@@ -15,8 +15,8 @@ GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License
 along with GNU Emacs; see the file COPYING.  If not, write to
-the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA.  */
+the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA.  */
 
 /* Don't multiply include: dispextern.h includes macterm.h which
    includes frame.h some emacs source includes both dispextern.h and
@@ -275,6 +275,9 @@ struct frame
   /* Canonical X unit.  Width of default font, in pixels.  */
   int column_width;
 
+  /* Widht of space glyph of default font, in pixels.  */
+  int space_width;
+
   /* Canonical Y unit.  Height of a line, in pixels.  */
   int line_height;
 
@@ -451,6 +454,19 @@ struct frame
   /* Set to non-zero in change_frame_size when size of frame changed
      Clear the frame in clear_garbaged_frames if set.  */
   unsigned resized_p : 1;
+
+  /* Set to non-zero in when we want for force a flush_display in
+     update_frame, usually after resizing the frame.  */
+  unsigned force_flush_display_p : 1;
+
+  /* Set to non-zero if the default face for the frame has been
+     realized.  Reset to zero whenever the default face changes.
+     Used to see the difference between a font change and face change.  */
+  unsigned default_face_done_p : 1;
+
+  /* Set to non-zero if this frame has already been hscrolled during
+     current redisplay.  */
+  unsigned already_hscrolled_p : 1;
 };
 
 #ifdef MULTI_KBOARD
@@ -790,9 +806,6 @@ extern Lisp_Object Vdefault_frame_alist;
 extern Lisp_Object Vterminal_frame;
 
 extern Lisp_Object Vmouse_highlight;
-
-enum text_cursor_kinds get_specified_cursor_type P_ ((Lisp_Object, int *));
-enum text_cursor_kinds get_window_cursor_type P_ ((struct window *, int *, int *));
 \f
 /* The currently selected frame.  */
 
@@ -812,17 +825,21 @@ extern Lisp_Object selected_frame;
                        Display-related Macros
  ***********************************************************************/
 
-/* Canonical y-unit on frame F.  
+/* Canonical y-unit on frame F.
    This value currently equals the line height of the frame (which is
    the height of the default font of F).  */
 
 #define FRAME_LINE_HEIGHT(F) ((F)->line_height)
 
-/* Canonical x-unit on frame F. 
-   This value currently equals the width of the default font of F.  */
+/* Canonical x-unit on frame F.
+   This value currently equals the average width of the default font of F.  */
 
 #define FRAME_COLUMN_WIDTH(F) ((F)->column_width)
 
+/* Space glyph width of the default font of frame F.  */
+
+#define FRAME_SPACE_WIDTH(F) ((F)->space_width)
+
 
 /* Pixel width of areas used to display truncation marks, continuation
    marks, overlay arrows.  This is 0 for terminal frames.  */
@@ -1018,7 +1035,6 @@ enum
   FULLSCREEN_HEIGHT     = 2,
   FULLSCREEN_BOTH       = 3,
   FULLSCREEN_WAIT       = 4,
-  FULLSCREEN_MOVE_WAIT  = 8,
 };
 
 
@@ -1073,3 +1089,6 @@ extern void validate_x_resource_name P_ ((void));
 #endif /* HAVE_WINDOW_SYSTEM */
 
 #endif /* not EMACS_FRAME_H */
+
+/* arch-tag: 0df048ee-e6bf-4f48-bd56-e3cd055dd8c4
+   (do not change this comment) */