Handle system default font and changing font parameters.
[bpt/emacs.git] / src / termhooks.h
index ae4fb36..33585e8 100644 (file)
@@ -1,6 +1,6 @@
 /* Parameters and display hooks for terminal devices.
    Copyright (C) 1985, 1986, 1993, 1994, 2001, 2002, 2003, 2004,
-                 2005, 2006, 2007, 2008  Free Software Foundation, Inc.
+                 2005, 2006, 2007, 2008, 2009  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
@@ -105,7 +105,7 @@ enum event_kind
   HORIZ_WHEEL_EVENT,            /* A wheel event generated by a second
                                    horizontal wheel that is present on some
                                    mice. See WHEEL_EVENT.  */
-#if defined (WINDOWSNT) || defined (MAC_OS)
+#if defined (WINDOWSNT)
   LANGUAGE_CHANGE_EVENT,       /* A LANGUAGE_CHANGE_EVENT is
                                   generated on WINDOWSNT or Mac OS
                                   when the keyboard layout or input
@@ -176,16 +176,6 @@ enum event_kind
      save yourself before shutdown. */
   SAVE_SESSION_EVENT
 
-#ifdef MAC_OS
-  /* Generated when an Apple event, a HICommand event, or a Services
-     menu event is received and the corresponding handler is
-     registered.  Members `x' and `y' are for the event class and ID
-     symbols, respectively.  Member `arg' is a Lisp object converted
-     from the received Apple event.  Parameters for non-Apple events
-     are converted to those in Apple events.  */
-  , MAC_APPLE_EVENT
-#endif
-
 #ifdef HAVE_GPM
   , GPM_CLICK_EVENT
 #endif
@@ -194,6 +184,8 @@ enum event_kind
   , DBUS_EVENT
 #endif
 
+  , CONFIG_CHANGED_EVENT
+
 #ifdef WINDOWSNT
   /* Generated when an APPCOMMAND event is received, in response to
      Multimedia or Internet buttons on some keyboards.
@@ -208,6 +200,15 @@ enum event_kind
      first, so this is not a problem there.  */
   , MULTIMEDIA_KEY_EVENT
 #endif
+
+#ifdef HAVE_NS
+  /* Generated when native multi-keystroke input method is used to modify
+     tentative or indicative text display. */
+  , NS_TEXT_EVENT
+  /* Non-key system events (e.g. application menu events) */
+  , NS_NONKEY_EVENT
+#endif
+
 };
 
 /* If a struct input_event has a kind which is SELECTION_REQUEST_EVENT
@@ -317,7 +318,8 @@ extern struct tty_display_info *gpm_tty;
 #endif /* CONSP */
 
 \f
-struct mac_display_info;
+struct ns_display_info;
+struct x_display_info;
 struct w32_display_info;
 
 /* Terminal-local parameters. */
@@ -351,10 +353,8 @@ struct terminal
      times. */
   char *name;
 
-#ifdef MULTI_KBOARD
   /* The terminal's keyboard object. */
   struct kboard *kboard;
-#endif
 
 #ifdef HAVE_WINDOW_SYSTEM
   /* Cache of images.  */
@@ -367,7 +367,7 @@ struct terminal
     struct tty_display_info *tty;     /* termchar.h */
     struct x_display_info *x;         /* xterm.h */
     struct w32_display_info *w32;     /* w32term.h */
-    struct mac_display_info *mac;     /* macterm.h */
+    struct ns_display_info *ns;       /* nsterm.h */
   } display_info;
 
 \f
@@ -429,6 +429,7 @@ struct terminal
   void (*delete_glyphs_hook) P_ ((struct frame *, int));
 
   void (*ring_bell_hook) P_ ((struct frame *f));
+  void (*toggle_invisible_pointer_hook) P_ ((struct frame *f, int invisible));
 
   void (*reset_terminal_modes_hook) P_ ((struct terminal *));
   void (*set_terminal_modes_hook) P_ ((struct terminal *));
@@ -602,7 +603,7 @@ struct terminal
      instead.  Otherwise the hook must call delete_terminal itself.
 
      The hook must check for and close any live frames that are still
-     on the terminal.  Fdelete_frame ensures that there are no live
+     on the terminal.  delete_frame ensures that there are no live
      frames on the terminal when it calls this hook, so infinite
      recursion is prevented.  */
   void (*delete_terminal_hook) P_ ((struct terminal *));
@@ -639,15 +640,12 @@ extern struct terminal *terminal_list;
 #ifdef HAVE_NTGUI
 #define FRAME_WINDOW_P(f) FRAME_W32_P (f)
 #endif
-#ifdef MAC_OS
-#define FRAME_WINDOW_P(f) FRAME_MAC_P (f)
-#endif
 #ifndef FRAME_WINDOW_P
 #define FRAME_WINDOW_P(f) (0)
 #endif
 
 /* Return true if the terminal device is not suspended. */
-#define TERMINAL_ACTIVE_P(d) ((d)->type != output_termcap || (d)->display_info.tty->input)
+#define TERMINAL_ACTIVE_P(d) (((d)->type != output_termcap && (d)->type !=output_msdos_raw) || (d)->display_info.tty->input)
 
 extern Lisp_Object get_terminal_param P_ ((struct terminal *, Lisp_Object));
 extern struct terminal *get_terminal P_ ((Lisp_Object terminal, int));
@@ -657,5 +655,9 @@ extern void delete_terminal P_ ((struct terminal *));
 /* The initial terminal device, created by initial_term_init. */
 extern struct terminal *initial_terminal;
 
+#ifdef HAVE_GPM
+extern void close_gpm (int gpm_fd);
+#endif
+
 /* arch-tag: 33a00ecc-52b5-4186-a410-8801ac9f087d
    (do not change this comment) */