Promote SSDATA macro from gtkutil.c and xsmfns.c to lisp.h.
[bpt/emacs.git] / src / frame.h
index e66fd93..be9e9a1 100644 (file)
@@ -1,6 +1,6 @@
 /* Define frame-object for GNU Emacs.
    Copyright (C) 1993, 1994, 1999, 2000, 2001, 2002, 2003, 2004,
-                 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+                 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
@@ -37,11 +37,6 @@ extern int frame_garbaged;
 
 extern int message_buf_print;
 
-/* Nonzero means window system changes focus when moving the
-   mouse.  */
-
-extern int focus_follows_mouse;
-
 \f
 /* The structure representing a frame.  */
 
@@ -544,6 +539,20 @@ typedef struct frame *FRAME_PTR;
 #define FRAME_WINDOW_P(f) (0)
 #endif
 
+/* Return a pointer to the structure holding information about the
+   region of text, if any, that is currently shown in mouse-face on
+   frame F.  We need to define two versions because a TTY-only build
+   does not have FRAME_X_DISPLAY_INFO.  */
+#ifdef HAVE_WINDOW_SYSTEM
+# define MOUSE_HL_INFO(F)                                      \
+   (FRAME_WINDOW_P(F)                                          \
+    ? &(FRAME_X_DISPLAY_INFO(F)->mouse_highlight)              \
+    : &(((F)->output_data.tty->display_info)->mouse_highlight))
+#else
+# define MOUSE_HL_INFO(F)                                      \
+    (&(((F)->output_data.tty->display_info)->mouse_highlight))
+#endif
+
 /* Nonzero if frame F is still alive (not deleted).  */
 #define FRAME_LIVE_P(f) ((f)->terminal != 0)
 
@@ -848,11 +857,6 @@ extern void frame_make_pointer_visible (void);
 extern Lisp_Object delete_frame (Lisp_Object, Lisp_Object);
 
 extern Lisp_Object Vframe_list;
-extern Lisp_Object Vdefault_frame_alist;
-
-extern Lisp_Object Vterminal_frame;
-
-extern Lisp_Object Vmouse_highlight;
 \f
 /* The currently selected frame.  */
 
@@ -1094,12 +1098,6 @@ extern void x_wm_set_icon_position (struct frame *, int, int);
 
 extern Lisp_Object x_new_font (struct frame *, Lisp_Object, int);
 
-/* These are in frame.c  */
-
-extern Lisp_Object Vx_resource_name;
-extern Lisp_Object Vx_resource_class;
-extern Lisp_Object Vmenu_bar_mode, Vtool_bar_mode;
-
 
 extern Lisp_Object Qface_set_after_frame_default;
 
@@ -1131,7 +1129,6 @@ extern Lisp_Object x_icon_type (struct frame *);
 
 extern int x_figure_window_size (struct frame *, Lisp_Object, int);
 
-extern Lisp_Object Vframe_alpha_lower_limit;
 extern void x_set_alpha (struct frame *, Lisp_Object, Lisp_Object);
 
 extern void validate_x_resource_name (void);
@@ -1149,5 +1146,3 @@ extern void set_frame_menubar (FRAME_PTR, int, int);
 
 #endif /* not EMACS_FRAME_H */
 
-/* arch-tag: 0df048ee-e6bf-4f48-bd56-e3cd055dd8c4
-   (do not change this comment) */