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, 675 Mass Ave, Cambridge, MA 02139, USA. */
+the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+Boston, MA 02111-1307, USA. */
#ifndef _MSDOS_H_
#define _MSDOS_H_
int dos_ttraw ();
int dos_ttcooked ();
+int dos_get_saved_screen (char **, int *, int *);
+int dos_set_keyboard (int, int);
+void dos_set_window_size (int *, int *);
+
int getdefdir (int, char*);
void unixtodos_filename (char *);
void dostounix_filename (char *);
char *rootrelativepath (char *);
void init_environment ();
void internal_terminal_init ();
-#ifdef _stdio_h_
-int internal_flush (FILE *);
-#endif
void ctrl_break_func (_go32_dpmi_registers *);
void install_ctrl_break_check ();
extern int have_mouse;
-int mouse_init1 ();
void mouse_init ();
void mouse_on ();
void mouse_off ();
void mouse_moveto (int, int);
-void mouse_check_moved ();
-int mouse_pressed (int, int *, int *);
-int mouse_released (int, int *, int *);
\f
#ifndef HAVE_X_WINDOWS
/* Dummy types. */
typedef int Pixmap;
typedef int Display;
typedef int Window;
+typedef int XRectangle;
#define PIX_TYPE int
#define XDISPLAY
/* This is a cut-down version of the one in xterm.h, which see. */
-struct x_display
+struct x_output
{
int left_pos;
int top_pos;
int size_computed_faces;
};
-extern struct x_display the_only_x_display;
+extern struct x_output the_only_x_display;
extern Display *x_current_display;
#define FRAME_PARAM_FACES(f) (the_only_x_display.param_faces)
#define FRAME_BACKGROUND_PIXEL(f) (the_only_x_display.background_pixel)
#define FRAME_FONT(f) (the_only_x_display.font)
+/* Prototypes. */
+
+/* Forward declarations for prototypes. */
+struct frame;
+struct window;
+extern void init_frame_faces P_ ((struct frame *));
+extern void free_frame_faces P_ ((struct frame *));
+extern struct face *intern_face P_ ((struct frame *, struct face *));
+extern int face_name_id_number P_ ((struct frame *, Lisp_Object));
+extern void recompute_basic_faces P_ ((struct frame *));
+extern int compute_char_face P_ ((struct frame *frame,
+ struct window *w,
+ int pos,
+ int region_beg, int region_end,
+ int *endptr,
+ int limit, int mouse));
+extern int compute_glyph_face P_ ((struct frame *, int, int));
+extern void pixel_to_glyph_coords P_ ((struct frame *f, int pix_x, int pix_y,
+ int *x, int *y, XRectangle *bounds,
+ int noclip));
+extern void glyph_to_pixel_coords P_ ((struct frame *f, int x, int y,
+ int *pix_x, int *pix_y));
+
+/* Defined in xfns.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 *));
+
+/* Defined in xfaces.c */
+extern void clear_face_cache P_ ((void));
+extern int compute_glyph_face P_ ((struct frame *, int, int));
+extern int compute_glyph_face_1 P_ ((struct frame *, Lisp_Object, int));
+
+
#define XFreeGC (void)
#define same_size_fonts(foo,bar) (1)
#define unload_font(p1,p2)
#define x_destroy_bitmap(p1,p2)
#define load_pixmap(p1,p2,p3,p4) (0)
#define XGetGeometry(p1,p2,p3,p4,p5,p6,p7,p8,p9)
-#define DisplayWidth(p1,p2) (the_only_frame.width)
-#define DisplayHeight(p1,p2) (the_only_frame.height)
+#define DisplayWidth(p1,p2) (selected_frame->width)
+#define DisplayHeight(p1,p2) (selected_frame->height)
#define XMenuSetAEQ (void)
#define XMenuSetFreeze (void)
#define XMenuRecompute (void)
#define FONT_WIDTH(foo) 1
-/* Function `getcbrk' is the most harmless I can think of right now... */
-#define check_x if (FRAME_TERMCAP_P (bar)) error ("Not running under a windows system."); else getcbrk
-#define x_mouse_leave getcbrk
#define XM_FAILURE -1
#define XM_SUCCESS 1
#define XM_NO_SELECT 2