/* Define frame-object for GNU Emacs.
Copyright (C) 1993, 1994, 1999, 2000, 2001, 2002, 2003, 2004,
- 2005, 2006 Free Software Foundation, Inc.
+ 2005, 2006, 2007 Free Software Foundation, Inc.
This file is part of GNU Emacs.
#if !defined(HAVE_X_WINDOWS)
-#define PIX_TYPE int
+#define PIX_TYPE unsigned long
/* A (mostly empty) x_output structure definition for building Emacs
on Unix and GNU/Linux without X support. */
/* Set to non-zero when current redisplay has updated frame. */
unsigned updated_p : 1;
+
+ /* Set to non-zero to minimize tool-bar height even when
+ auto-resize-tool-bar is set to grow-only. */
+ unsigned minimize_tool_bar_window_p : 1;
};
#ifdef MULTI_KBOARD
(f)->visible = (f)->async_visible, \
(f)->iconified = (f)->async_iconified)
-#define CHECK_FRAME(x) \
- do { \
- if (! FRAMEP (x)) \
- x = wrong_type_argument (Qframep, (x)); \
- } while (0)
+#define CHECK_FRAME(x) \
+ CHECK_TYPE (FRAMEP (x), Qframep, x)
-#define CHECK_LIVE_FRAME(x) \
- do { \
- if (! FRAMEP (x) \
- || ! FRAME_LIVE_P (XFRAME (x))) \
- x = wrong_type_argument (Qframe_live_p, (x)); \
- } while (0)
+#define CHECK_LIVE_FRAME(x) \
+ CHECK_TYPE (FRAMEP (x) && FRAME_LIVE_P (XFRAME (x)), Qframe_live_p, x)
/* FOR_EACH_FRAME (LIST_VAR, FRAME_VAR) followed by a statement is a
`for' loop which iterates over the elements of Vframe_list. The
extern Lisp_Object Qline_spacing;
extern Lisp_Object Qwait_for_wm;
extern Lisp_Object Qfullscreen;
+extern Lisp_Object Qfont_backend;
extern Lisp_Object Qleft_fringe, Qright_fringe;
extern Lisp_Object Qheight, Qwidth;
extern Lisp_Object x_new_font P_ ((struct frame *, char *));
extern Lisp_Object x_new_fontset P_ ((struct frame *, Lisp_Object));
#ifdef USE_FONT_BACKEND
-extern Lisp_Object x_new_fontset2 P_ ((struct frame *, Lisp_Object));
+extern Lisp_Object x_new_fontset2 P_ ((struct frame *, int, Lisp_Object));
#endif /* USE_FONT_BACKEND */
/* These are in frame.c */
extern void x_set_line_spacing P_ ((struct frame *, Lisp_Object, Lisp_Object));
extern void x_set_screen_gamma P_ ((struct frame *, Lisp_Object, Lisp_Object));
extern void x_set_font P_ ((struct frame *, Lisp_Object, Lisp_Object));
+extern void x_set_font_backend P_ ((struct frame *, Lisp_Object, Lisp_Object));
extern void x_set_fringe_width P_ ((struct frame *, Lisp_Object, Lisp_Object));
extern void x_set_border_width P_ ((struct frame *, Lisp_Object, Lisp_Object));
extern void x_set_internal_border_width P_ ((struct frame *, Lisp_Object,