X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/77ab81d0545e980c57c0a35510ade29a9e43b4cd..fb39b937b0628f4592b07d0aa61a41cf696abd30:/src/w32term.h diff --git a/src/w32term.h b/src/w32term.h index 1c4169194f..5d756f435e 100644 --- a/src/w32term.h +++ b/src/w32term.h @@ -1,6 +1,5 @@ -/* Definitions and headers for communication on the Microsoft W32 API. - Copyright (C) 1995, 2001, 2002, 2003, 2004, - 2005, 2006, 2007, 2008, 2009, 2010, 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. @@ -61,12 +60,6 @@ struct w32_bitmap_record int height, width, depth; }; -/* Palette book-keeping stuff for mapping requested colors into the - system palette. Keep a ref-counted list of requested colors and - regenerate the app palette whenever the requested list changes. */ - -extern Lisp_Object Vw32_enable_palette; - struct w32_palette_entry { struct w32_palette_entry * next; PALETTEENTRY entry; @@ -75,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 @@ -110,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; @@ -158,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 @@ -194,9 +187,6 @@ extern struct w32_display_info one_w32_display_info; FONT-LIST-CACHE records previous values returned by x-list-fonts. */ extern Lisp_Object w32_display_name_list; -/* Regexp matching a font name whose width is the same as `PIXEL_SIZE'. */ -extern Lisp_Object Vx_pixel_size_width_font_regexp; - extern struct frame *x_window_to_frame (struct w32_display_info *, HWND); struct w32_display_info *x_display_info_for_name (Lisp_Object); @@ -219,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 { @@ -239,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, @@ -312,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. */ @@ -355,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) @@ -439,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)) @@ -557,7 +544,7 @@ do { \ #define WM_APPCOMMAND 0x319 #define GET_APPCOMMAND_LPARAM(lParam) (HIWORD(lParam) & 0x7fff) #endif -#ifndef WM_UNICHAR +#ifndef WM_UNICHAR #define WM_UNICHAR 0x109 #endif #ifndef UNICODE_NOCHAR @@ -586,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) @@ -647,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) @@ -676,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 @@ -697,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, @@ -707,5 +695,7 @@ typedef BOOL (WINAPI * AppendMenuW_Proc) ( IN UINT_PTR, IN LPCWSTR); -/* arch-tag: f201d05a-1240-4fc5-8ea4-ca24d4ee5671 - (do not change this comment) */ +extern HWND w32_system_caret_hwnd; +extern int w32_system_caret_height; +extern int w32_system_caret_x; +extern int w32_system_caret_y;