X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/f7ff1b0f0792f1f870778404531e68e77832c4a1..c2cbbdd1656a20cf979a11cbdd1d0a74e570772f:/src/w32term.h diff --git a/src/w32term.h b/src/w32term.h index cf6751b7d6..5d756f435e 100644 --- a/src/w32term.h +++ b/src/w32term.h @@ -1,5 +1,5 @@ -/* Definitions and headers for communication on the Microsoft W32 API. - Copyright (C) 1995, 2001-2011 Free Software Foundation, Inc. +/* Definitions and headers for communication on the Microsoft Windows API. + Copyright (C) 1995, 2001-2012 Free Software Foundation, Inc. This file is part of GNU Emacs. @@ -68,7 +68,7 @@ struct w32_palette_entry { #endif }; -extern void w32_regenerate_palette(struct frame *f); +extern void w32_regenerate_palette (struct frame *f); /* For each display (currently only one on w32), we have a structure that @@ -103,7 +103,7 @@ struct w32_display_info /* Emacs bitmap-id of the default icon bitmap for this frame. Or -1 if none has been allocated yet. */ - int icon_bitmap_id; + ptrdiff_t icon_bitmap_id; /* The root window of this screen. */ Window root_window; @@ -151,10 +151,10 @@ struct w32_display_info struct w32_bitmap_record *bitmaps; /* Allocated size of bitmaps field. */ - int bitmaps_size; + ptrdiff_t bitmaps_size; /* Last used bitmap index. */ - int bitmaps_last; + ptrdiff_t bitmaps_last; /* The frame (if any) which has the window that has keyboard focus. Zero if none. This is examined by Ffocus_frame in w32fns.c. Note @@ -209,7 +209,7 @@ extern int x_display_pixel_width (struct w32_display_info *); the information that is specific to W32 windows. */ /* Put some things in x_output for compatibility. - NTEMACS_TODO: Move all common things here to eliminate unneccesary + NTEMACS_TODO: Move all common things here to eliminate unnecessary diffs between X and w32 code. */ struct x_output { @@ -229,7 +229,7 @@ enum { /* Values for focus_state, used as bit mask. EXPLICIT means we received a FocusIn for the frame and know it has - the focus. IMPLICIT means we recevied an EnterNotify and the frame + the focus. IMPLICIT means we received an EnterNotify and the frame may have the focus if no window manager is running. FocusOut and LeaveNotify clears EXPLICIT/IMPLICIT. */ FOCUS_NONE = 0, @@ -302,9 +302,6 @@ struct w32_output /* Non-hourglass cursor that is currently active. */ Cursor current_cursor; - /* Flag to set when the window needs to be completely repainted. */ - int needs_exposure; - DWORD dwStyle; /* This is the Emacs structure for the display this frame is on. */ @@ -345,7 +342,7 @@ extern struct w32_output w32term_display; /* Return the window associated with the frame F. */ #define FRAME_W32_WINDOW(f) ((f)->output_data.w32->window_desc) -#define FRAME_X_WINDOW(f) ((f)->output_data.w32->window_desc) +#define FRAME_X_WINDOW(f) FRAME_W32_WINDOW (f) #define FRAME_FONT(f) ((f)->output_data.w32->font) #define FRAME_FONTSET(f) ((f)->output_data.w32->fontset) @@ -429,7 +426,7 @@ struct scroll_bar { #define SCROLL_BAR_VEC_SIZE \ ((sizeof (struct scroll_bar) \ - sizeof (EMACS_INT) - sizeof (struct Lisp_Vector *)) \ - / sizeof (Lisp_Object)) + / word_size) /* Turning a lisp vector value into a pointer to a struct scroll_bar. */ #define XSCROLL_BAR(vec) ((struct scroll_bar *) XVECTOR (vec)) @@ -576,7 +573,8 @@ do { \ #define WM_EMACS_HIDE_CARET (WM_EMACS_START + 18) #define WM_EMACS_SETCURSOR (WM_EMACS_START + 19) #define WM_EMACS_PAINT (WM_EMACS_START + 20) -#define WM_EMACS_END (WM_EMACS_START + 21) +#define WM_EMACS_BRINGTOTOP (WM_EMACS_START + 21) +#define WM_EMACS_END (WM_EMACS_START + 22) #define WND_FONTWIDTH_INDEX (0) #define WND_LINEHEIGHT_INDEX (4) @@ -637,7 +635,7 @@ extern void x_delete_display (struct w32_display_info *dpyinfo); /* Keypad command key support. W32 doesn't have virtual keys defined for the function keys on the keypad (they are mapped to the standard - fuction keys), so we define our own. */ + function keys), so we define our own. */ #define VK_NUMPAD_BEGIN 0x92 #define VK_NUMPAD_CLEAR (VK_NUMPAD_BEGIN + 0) #define VK_NUMPAD_ENTER (VK_NUMPAD_BEGIN + 1) @@ -666,6 +664,9 @@ extern void x_delete_display (struct w32_display_info *dpyinfo); #define RIGHT_WIN_PRESSED 0x4000 #define APPS_PRESSED 0x2000 +/* The current ANSI input codepage for GUI sessions. */ +extern int w32_keyboard_codepage; + /* When compiling on Windows 9x/ME and NT 3.x, the following are not defined (even though they are supported on 98 and ME. */ #ifndef WM_MOUSELEAVE @@ -687,9 +688,6 @@ struct face; XGCValues *XCreateGC (void *, Window, unsigned long, XGCValues *); struct frame * check_x_frame (Lisp_Object); -EXFUN (Fx_display_color_p, 1); -EXFUN (Fx_display_grayscale_p, 1); - typedef DWORD (WINAPI * ClipboardSequence_Proc) (void); typedef BOOL (WINAPI * AppendMenuW_Proc) ( IN HMENU,