diff options
Diffstat (limited to 'src/w32term.h')
| -rw-r--r-- | src/w32term.h | 49 |
1 files changed, 43 insertions, 6 deletions
diff --git a/src/w32term.h b/src/w32term.h index 28d4ca6c490..b319f0ca592 100644 --- a/src/w32term.h +++ b/src/w32term.h | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* Definitions and headers for communication on the Microsoft Windows API. | 1 | /* Definitions and headers for communication on the Microsoft Windows API. |
| 2 | Copyright (C) 1995, 2001-2012 Free Software Foundation, Inc. | 2 | Copyright (C) 1995, 2001-2013 Free Software Foundation, Inc. |
| 3 | 3 | ||
| 4 | This file is part of GNU Emacs. | 4 | This file is part of GNU Emacs. |
| 5 | 5 | ||
| @@ -217,8 +217,6 @@ extern void x_set_mouse_pixel_position (struct frame *f, int pix_x, int pix_y); | |||
| 217 | extern void x_make_frame_visible (struct frame *f); | 217 | extern void x_make_frame_visible (struct frame *f); |
| 218 | extern void x_make_frame_invisible (struct frame *f); | 218 | extern void x_make_frame_invisible (struct frame *f); |
| 219 | extern void x_iconify_frame (struct frame *f); | 219 | extern void x_iconify_frame (struct frame *f); |
| 220 | extern int x_char_width (struct frame *f); | ||
| 221 | extern int x_char_height (struct frame *f); | ||
| 222 | extern int x_pixel_width (struct frame *f); | 220 | extern int x_pixel_width (struct frame *f); |
| 223 | extern int x_pixel_height (struct frame *f); | 221 | extern int x_pixel_height (struct frame *f); |
| 224 | extern void x_set_frame_alpha (struct frame *f); | 222 | extern void x_set_frame_alpha (struct frame *f); |
| @@ -361,6 +359,12 @@ struct w32_output | |||
| 361 | /* The background for which the above relief GCs were set up. | 359 | /* The background for which the above relief GCs were set up. |
| 362 | They are changed only when a different background is involved. */ | 360 | They are changed only when a different background is involved. */ |
| 363 | unsigned long relief_background; | 361 | unsigned long relief_background; |
| 362 | |||
| 363 | /* Frame geometry and full-screen mode before it was resized by | ||
| 364 | specifying the 'fullscreen' frame parameter. Used to restore the | ||
| 365 | geometry when 'fullscreen' is reset to nil. */ | ||
| 366 | int normal_width, normal_height, normal_top, normal_left; | ||
| 367 | int prev_fsmode; | ||
| 364 | }; | 368 | }; |
| 365 | 369 | ||
| 366 | extern struct w32_output w32term_display; | 370 | extern struct w32_output w32term_display; |
| @@ -392,6 +396,13 @@ extern struct w32_output w32term_display; | |||
| 392 | 396 | ||
| 393 | #define FRAME_SMALLEST_FONT_HEIGHT(F) \ | 397 | #define FRAME_SMALLEST_FONT_HEIGHT(F) \ |
| 394 | FRAME_W32_DISPLAY_INFO(F)->smallest_font_height | 398 | FRAME_W32_DISPLAY_INFO(F)->smallest_font_height |
| 399 | |||
| 400 | #define FRAME_NORMAL_WIDTH(F) ((F)->output_data.w32->normal_width) | ||
| 401 | #define FRAME_NORMAL_HEIGHT(F) ((F)->output_data.w32->normal_height) | ||
| 402 | #define FRAME_NORMAL_TOP(F) ((F)->output_data.w32->normal_top) | ||
| 403 | #define FRAME_NORMAL_LEFT(F) ((F)->output_data.w32->normal_left) | ||
| 404 | #define FRAME_PREV_FSMODE(F) ((F)->output_data.w32->prev_fsmode) | ||
| 405 | |||
| 395 | 406 | ||
| 396 | /* W32-specific scroll bar stuff. */ | 407 | /* W32-specific scroll bar stuff. */ |
| 397 | 408 | ||
| @@ -604,7 +615,8 @@ do { \ | |||
| 604 | #define WM_EMACS_PAINT (WM_EMACS_START + 20) | 615 | #define WM_EMACS_PAINT (WM_EMACS_START + 20) |
| 605 | #define WM_EMACS_BRINGTOTOP (WM_EMACS_START + 21) | 616 | #define WM_EMACS_BRINGTOTOP (WM_EMACS_START + 21) |
| 606 | #define WM_EMACS_INPUT_READY (WM_EMACS_START + 22) | 617 | #define WM_EMACS_INPUT_READY (WM_EMACS_START + 22) |
| 607 | #define WM_EMACS_END (WM_EMACS_START + 23) | 618 | #define WM_EMACS_FILENOTIFY (WM_EMACS_START + 23) |
| 619 | #define WM_EMACS_END (WM_EMACS_START + 24) | ||
| 608 | 620 | ||
| 609 | #define WND_FONTWIDTH_INDEX (0) | 621 | #define WND_FONTWIDTH_INDEX (0) |
| 610 | #define WND_LINEHEIGHT_INDEX (4) | 622 | #define WND_LINEHEIGHT_INDEX (4) |
| @@ -654,7 +666,7 @@ extern void deselect_palette (struct frame * f, HDC hdc); | |||
| 654 | extern HDC get_frame_dc (struct frame * f); | 666 | extern HDC get_frame_dc (struct frame * f); |
| 655 | extern int release_frame_dc (struct frame * f, HDC hDC); | 667 | extern int release_frame_dc (struct frame * f, HDC hDC); |
| 656 | 668 | ||
| 657 | extern void drain_message_queue (void); | 669 | extern int drain_message_queue (void); |
| 658 | 670 | ||
| 659 | extern BOOL get_next_msg (W32Msg *, BOOL); | 671 | extern BOOL get_next_msg (W32Msg *, BOOL); |
| 660 | extern BOOL post_msg (W32Msg *); | 672 | extern BOOL post_msg (W32Msg *); |
| @@ -664,10 +676,17 @@ extern BOOL parse_button (int, int, int *, int *); | |||
| 664 | 676 | ||
| 665 | extern void w32_sys_ring_bell (struct frame *f); | 677 | extern void w32_sys_ring_bell (struct frame *f); |
| 666 | extern void x_delete_display (struct w32_display_info *dpyinfo); | 678 | extern void x_delete_display (struct w32_display_info *dpyinfo); |
| 679 | |||
| 680 | extern volatile int notification_buffer_in_use; | ||
| 681 | extern BYTE file_notifications[16384]; | ||
| 682 | extern DWORD notifications_size; | ||
| 683 | extern void *notifications_desc; | ||
| 684 | extern Lisp_Object w32_get_watch_object (void *); | ||
| 685 | extern Lisp_Object lispy_file_action (DWORD); | ||
| 686 | |||
| 667 | extern void w32_initialize_display_info (Lisp_Object); | 687 | extern void w32_initialize_display_info (Lisp_Object); |
| 668 | extern void initialize_w32_display (struct terminal *); | 688 | extern void initialize_w32_display (struct terminal *); |
| 669 | 689 | ||
| 670 | |||
| 671 | /* Keypad command key support. W32 doesn't have virtual keys defined | 690 | /* Keypad command key support. W32 doesn't have virtual keys defined |
| 672 | for the function keys on the keypad (they are mapped to the standard | 691 | for the function keys on the keypad (they are mapped to the standard |
| 673 | function keys), so we define our own. */ | 692 | function keys), so we define our own. */ |
| @@ -755,12 +774,30 @@ extern const char* | |||
| 755 | w32_name_of_message (UINT msg); | 774 | w32_name_of_message (UINT msg); |
| 756 | #endif /* EMACSDEBUG */ | 775 | #endif /* EMACSDEBUG */ |
| 757 | 776 | ||
| 777 | #ifdef NTGUI_UNICODE | ||
| 778 | extern Lisp_Object ntgui_encode_system (Lisp_Object str); | ||
| 779 | #define GUISTR(x) (L ## x) | ||
| 780 | #define GUI_ENCODE_FILE GUI_ENCODE_SYSTEM | ||
| 781 | #define GUI_ENCODE_SYSTEM(x) ntgui_encode_system (x) | ||
| 782 | #define GUI_FN(fn) fn ## W | ||
| 783 | typedef wchar_t guichar_t; | ||
| 784 | #else /* !NTGUI_UNICODE */ | ||
| 785 | #define GUISTR(x) x | ||
| 786 | #define GUI_ENCODE_FILE ENCODE_FILE | ||
| 787 | #define GUI_ENCODE_SYSTEM ENCODE_SYSTEM | ||
| 788 | #define GUI_FN(fn) fn | ||
| 789 | typedef char guichar_t; | ||
| 790 | #endif /* NTGUI_UNICODE */ | ||
| 791 | |||
| 792 | #define GUI_SDATA(x) ((guichar_t*) SDATA (x)) | ||
| 793 | |||
| 758 | extern void syms_of_w32term (void); | 794 | extern void syms_of_w32term (void); |
| 759 | extern void syms_of_w32menu (void); | 795 | extern void syms_of_w32menu (void); |
| 760 | extern void syms_of_w32fns (void); | 796 | extern void syms_of_w32fns (void); |
| 761 | 797 | ||
| 762 | extern void globals_of_w32menu (void); | 798 | extern void globals_of_w32menu (void); |
| 763 | extern void globals_of_w32fns (void); | 799 | extern void globals_of_w32fns (void); |
| 800 | extern void globals_of_w32notify (void); | ||
| 764 | 801 | ||
| 765 | #ifdef CYGWIN | 802 | #ifdef CYGWIN |
| 766 | extern int w32_message_fd; | 803 | extern int w32_message_fd; |