Add 2009 to copyright years.
[bpt/emacs.git] / src / msdos.h
index 7f2f013..bca52fa 100644 (file)
@@ -1,12 +1,13 @@
 /* MS-DOS specific C utilities, interface.
-   Copyright (C) 1993, 2001 Free Software Foundation, Inc.
+   Copyright (C) 1993, 2001, 2002, 2003, 2004,
+                 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
-GNU Emacs is free software; you can redistribute it and/or modify
+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 2, 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
@@ -14,16 +15,14 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 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., 51 Franklin Street, Fifth Floor,
-Boston, MA 02110-1301, USA.  */
+along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #ifndef EMACS_MSDOS_H
 #define EMACS_MSDOS_H
 
 #include <dpmi.h>
 
-int dos_ttraw ();
+int dos_ttraw (struct tty_display_info *);
 int dos_ttcooked ();
 int dos_get_saved_screen (char **, int *, int *);
 int dos_set_keyboard (int, int);
@@ -52,59 +51,16 @@ typedef int Pixmap;
 typedef int Display;
 typedef int Window;
 typedef int XRectangle;
-#define PIX_TYPE int
+#define PIX_TYPE unsigned long
 #define XDISPLAY
 
-/* A stripped version of struct x_display_info in xterm.h, which see.  */
-struct display_info
-{
-  /* These variables describe the range of text currently shown in its
-     mouse-face, together with the window they apply to.  As long as
-     the mouse stays within this range, we need not redraw anything on
-     its account.  Rows and columns are glyph matrix positions in
-     MOUSE_FACE_WINDOW.  */
-  int mouse_face_beg_row, mouse_face_beg_col;
-  int mouse_face_end_row, mouse_face_end_col;
-  int mouse_face_past_end;
-  Lisp_Object mouse_face_window;
-  int mouse_face_face_id;
-
-  /* 1 if a mouse motion event came and we didn't handle it right away because
-     gc was in progress.  */
-  int mouse_face_deferred_gc;
-
-  /* FRAME and X, Y position of mouse when last checked for
-     highlighting.  X and Y can be negative or out of range for the frame.  */
-  struct frame *mouse_face_mouse_frame;
-  int mouse_face_mouse_x, mouse_face_mouse_y;
-
-  /* Nonzero means defer mouse-motion highlighting.  */
-  int mouse_face_defer;
-
-  /* Nonzero means that the mouse highlight should not be shown.  */
-  int mouse_face_hidden;
-};
-
-typedef struct display_info Display_Info;
-
-/* This is a cut-down version of the one in xterm.h, which see.  */
-struct x_output
-{
-  PIX_TYPE background_pixel;   /* used in xfaces.c and lots of other places */
-  PIX_TYPE foreground_pixel;   /* ditto */
-  XFontStruct *font;           /* used in x-popup-menu (xmenu.c) */
-  Window hourglass_window;     /* currently unused (but maybe some day) */
-  unsigned hourglass_p : 1;    /* ditto */
-  struct display_info display_info; /* used for drawing mouse highlight */
-};
+typedef struct tty_display_info Display_Info;
 
-extern struct x_output the_only_x_display;
+extern struct tty_display_info the_only_display_info;
 
 #define FRAME_X_DISPLAY(f) ((Display *) 0)
-#define FRAME_FOREGROUND_PIXEL(f) (the_only_x_display.foreground_pixel)
-#define FRAME_BACKGROUND_PIXEL(f) (the_only_x_display.background_pixel)
-#define FRAME_FONT(f) (the_only_x_display.font)
-#define FRAME_X_DISPLAY_INFO(f) (&the_only_x_display.display_info)
+#define FRAME_FONT(f) ((f)->output_data.tty->font)
+#define FRAME_X_DISPLAY_INFO(f) (&the_only_display_info)
 
 /* Prototypes.  */
 
@@ -114,7 +70,6 @@ struct window;
 
 /* Defined in xfns.c; emulated on msdos.c */
 
-extern int have_menus_p P_ ((void));
 extern void x_set_menu_bar_lines P_ ((struct frame *, Lisp_Object, Lisp_Object));
 extern int x_pixel_width P_ ((struct frame *));
 extern int x_pixel_height P_ ((struct frame *));