]> code.delx.au - gnu-emacs/blobdiff - src/w32term.h
(try_window_id) <all changes below window end>: Don't
[gnu-emacs] / src / w32term.h
index 3ebcea260af375a2d1d0907af205c2213d633618..0a86259c0bb5bcb865e1cf98dddaf377dddf7587 100644 (file)
@@ -1,5 +1,5 @@
 /* Definitions and headers for communication on the Microsoft W32 API.
-   Copyright (C) 1995 Free Software Foundation, Inc.
+   Copyright (C) 1995, 2001 Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
@@ -35,11 +35,15 @@ Boston, MA 02111-1307, USA.  */
 #define FONT_BASE(f)        \
   ((f)->bdf ? (f)->bdf->ury : (f)->tm.tmAscent)
 #define FONT_DESCENT(f)     \
-  ((f)->bdf ? (f)->bdf->lly : (f)->tm.tmDescent)
+  ((f)->bdf ? -((f)->bdf->lly) : (f)->tm.tmDescent)
 #define FONT_MAX_WIDTH(f)   \
   ((f)->bdf ? (f)->bdf->width : (f)->tm.tmMaxCharWidth)
 
 #define CP_DEFAULT 1004
+/* Special pseudo-codepages. */
+#define CP_8BIT      -1
+#define CP_UNICODE   -2
+#define CP_UNKNOWN   -3
 
 #define CHECK_W32_FRAME(f, frame)              \
   if (NILP (frame))                            \
@@ -51,17 +55,6 @@ Boston, MA 02111-1307, USA.  */
     }                                          \
   if (! FRAME_W32_P (f))
 
-/* Emulate XCharStruct.  */
-typedef struct _XCharStruct
-{
-  int rbearing;
-  int lbearing;
-  int width;
-  int ascent;
-  int descent;
-} XCharStruct;
-
-
 /* Indicates whether we are in the readsocket call and the message we
    are processing in the current loop */
 
@@ -264,6 +257,7 @@ extern struct w32_display_info *w32_term_init ();
 \f
 extern Lisp_Object w32_list_fonts P_ ((struct frame *, Lisp_Object, int, int));
 extern struct font_info *w32_get_font_info (), *w32_query_font ();
+extern void w32_cache_char_metrics (XFontStruct *font);
 extern void w32_find_ccl_program();
 \f
 #define PIX_TYPE COLORREF
@@ -356,14 +350,15 @@ struct w32_output
   Cursor nontext_cursor;
   Cursor modeline_cursor;
   Cursor cross_cursor;
-  Cursor busy_cursor;
+  Cursor hourglass_cursor;
+  Cursor horizontal_drag_cursor;
 
-  /* Window whose cursor is busy_cursor.  This window is temporarily
-     mapped to display a busy-cursor.  */
-  Window busy_window;
+  /* Window whose cursor is hourglass_cursor.  This window is
+     temporarily mapped to display an hourglass cursor.  */
+  Window hourglass_window;
   
-  /* Non-zero means busy cursor is currently displayed.  */
-  unsigned busy_p : 1;
+  /* Non-zero means hourglass cursor is currently displayed.  */
+  unsigned hourglass_p : 1;
 
   /* Flag to set when the window needs to be completely repainted.  */
   int needs_exposure;
@@ -822,6 +817,9 @@ extern BOOL parse_button ();
 #define RIGHT_WIN_PRESSED      0x4000
 #define APPS_PRESSED           0x2000
 
+struct image;
+struct face;
+
 XGCValues *XCreateGC (void *, Window, unsigned long, XGCValues *);
 struct frame * check_x_frame (Lisp_Object);
 EXFUN (Fx_display_color_p, 1);