Mercurial > hg > xemacs-beta
annotate src/console-msw.h @ 5533:11da5b828d10
shell-command and shell-command-on-region API compliant with FSF 23.3.1
| author | Mats Lidell <mats.lidell@cag.se> |
|---|---|
| date | Sun, 31 Jul 2011 01:29:09 +0200 |
| parents | 308d34e9f07d |
| children |
| rev | line source |
|---|---|
| 428 | 1 /* Define mswindows-specific console, device, and frame object for XEmacs. |
| 2 Copyright (C) 1989, 1992, 1993, 1994, 1995 Free Software Foundation, Inc. | |
| 3 Copyright (C) 1994, 1995 Board of Trustees, University of Illinois. | |
| 1318 | 4 Copyright (C) 2001, 2002, 2003 Ben Wing. |
| 428 | 5 |
| 6 This file is part of XEmacs. | |
| 7 | |
|
5402
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
5118
diff
changeset
|
8 XEmacs is free software: you can redistribute it and/or modify it |
| 428 | 9 under the terms of the GNU General Public License as published by the |
|
5402
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
5118
diff
changeset
|
10 Free Software Foundation, either version 3 of the License, or (at your |
|
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
5118
diff
changeset
|
11 option) any later version. |
| 428 | 12 |
| 13 XEmacs is distributed in the hope that it will be useful, but WITHOUT | |
| 14 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | |
| 15 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License | |
| 16 for more details. | |
| 17 | |
| 18 You should have received a copy of the GNU General Public License | |
|
5402
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
5118
diff
changeset
|
19 along with XEmacs. If not, see <http://www.gnu.org/licenses/>. */ |
| 428 | 20 |
| 21 /* Synched up with: Not in FSF. */ | |
| 22 | |
| 771 | 23 /* This file essentially Mule-ized (except perhaps some Unicode splitting). |
| 24 5-2000. */ | |
| 428 | 25 |
| 26 /* Authorship: | |
| 27 | |
| 28 Ultimately based on FSF, then later on JWZ work for Lemacs. | |
| 29 Rewritten over time by Ben Wing and Chuck Thompson. | |
| 30 Rewritten for mswindows by Jonathan Harris, November 1997 for 21.0. | |
| 31 */ | |
| 32 | |
| 440 | 33 #ifndef INCLUDED_console_msw_h_ |
| 34 #define INCLUDED_console_msw_h_ | |
| 428 | 35 |
| 2367 | 36 /* See win32.c for info about the different Windows files in XEmacs. */ |
| 37 | |
| 428 | 38 #include "console.h" |
| 442 | 39 #include "syswindows.h" |
| 428 | 40 |
| 41 #ifdef HAVE_XPM | |
| 42 #include <X11/xpm.h> | |
| 43 #endif | |
| 44 | |
| 45 /* The name of the main window class */ | |
| 771 | 46 #define XEMACS_CLASS "XEmacs" /* WARNING: uses of this need XETEXT */ |
| 428 | 47 |
| 771 | 48 /* WARNING: uses of this need XETEXT */ |
| 428 | 49 #define XEMACS_CONTROL_CLASS "XEmacsControl" |
| 50 | |
| 51 /* | |
| 442 | 52 * Printer settings, aka devmode |
| 53 */ | |
| 54 | |
| 872 | 55 typedef struct Lisp_Devmode Lisp_Devmode; |
| 442 | 56 |
| 57 | |
|
5118
e0db3c197671
merge up to latest default branch, doesn't compile yet
Ben Wing <ben@xemacs.org>
parents:
2367
diff
changeset
|
58 DECLARE_LISP_OBJECT (devmode, Lisp_Devmode); |
| 442 | 59 #define XDEVMODE(x) XRECORD (x, devmode, Lisp_Devmode) |
| 617 | 60 #define wrap_devmode(p) wrap_record (p, devmode) |
| 442 | 61 #define DEVMODEP(x) RECORDP (x, devmode) |
| 62 #define CHECK_DEVMODE(x) CHECK_RECORD (x, devmode) | |
| 63 #define CONCHECK_DEVMODE(x) CONCHECK_RECORD (x, devmode) | |
| 64 | |
| 65 /* | |
| 66 * Devices | |
| 428 | 67 */ |
| 68 | |
| 771 | 69 #define MSW_FONTSIZE (LF_FACESIZE * 4 + 12) |
| 428 | 70 |
| 442 | 71 /* Printer functions in frame-msw.c */ |
| 72 void msprinter_start_page (struct frame *f); | |
| 73 | |
| 428 | 74 /* |
| 442 | 75 * Frames |
| 428 | 76 */ |
| 77 typedef struct | |
| 78 { | |
| 79 int left; | |
| 80 int top; | |
| 81 int width; | |
| 82 int height; | |
| 83 } XEMACS_RECT_WH; | |
| 84 | |
| 2367 | 85 ANSI_ALIASING_TYPEDEF (POINTS, POINTS); |
| 86 #define XE_MAKEPOINTS(l) ANSI_ALIASING_CAST (POINTS, l) | |
| 87 | |
| 428 | 88 /* |
| 89 * Random globals | |
| 90 */ | |
| 91 | |
| 92 /* win32 "Windows" procedure */ | |
| 93 LRESULT WINAPI mswindows_wnd_proc (HWND hwnd, UINT msg, WPARAM wParam, | |
| 94 LPARAM lParam); | |
| 95 LRESULT WINAPI mswindows_control_wnd_proc (HWND hwnd, | |
| 96 UINT msg, WPARAM wParam, | |
| 97 LPARAM lParam); | |
| 98 | |
| 771 | 99 void mswindows_size_frame_internal (struct frame *f, XEMACS_RECT_WH *dest); |
| 442 | 100 HWND mswindows_get_selected_frame_hwnd (void); |
| 440 | 101 void mswindows_enqueue_magic_event (HWND hwnd, UINT msg); |
| 442 | 102 int mswindows_is_dialog_msg (MSG *msg); |
| 428 | 103 |
| 104 /* win32 DDE management library */ | |
| 903 | 105 |
| 106 /* WARNING: uses of these constants need XETEXT */ | |
| 107 #define MSWINDOWS_DDE_ITEM_OPEN "Open" | |
| 108 #define MSWINDOWS_DDE_TOPIC_EVAL "Eval" | |
| 109 #define MSWINDOWS_DDE_ITEM_RESULT "Result" | |
| 110 | |
| 428 | 111 extern DWORD mswindows_dde_mlid; |
| 112 extern HSZ mswindows_dde_service; | |
| 113 extern HSZ mswindows_dde_topic_system; | |
| 903 | 114 extern HSZ mswindows_dde_topic_eval; |
| 115 extern HSZ mswindows_dde_item_result; | |
| 428 | 116 extern HSZ mswindows_dde_item_open; |
| 117 HDDEDATA CALLBACK mswindows_dde_callback (UINT uType, UINT uFmt, HCONV hconv, | |
| 442 | 118 HSZ hszTopic, HSZ hszItem, |
| 119 HDDEDATA hdata, | |
| 428 | 120 DWORD dwData1, DWORD dwData2); |
| 121 | |
| 442 | 122 void mswindows_enqueue_dispatch_event (Lisp_Object event); |
| 428 | 123 void mswindows_enqueue_misc_user_event (Lisp_Object channel, |
| 124 Lisp_Object function, | |
| 125 Lisp_Object object); | |
| 771 | 126 Lisp_Object mswindows_cancel_dispatch_event (Lisp_Event *event); |
| 428 | 127 Lisp_Object mswindows_pump_outstanding_events (void); |
| 128 void mswindows_unmodalize_signal_maybe (void); | |
| 129 | |
| 867 | 130 COLORREF mswindows_string_to_color (const Ibyte *name); |
| 440 | 131 |
| 428 | 132 #ifdef HAVE_WIN32_PROCESSES |
| 853 | 133 HANDLE get_nt_process_handle_only_first_time (Lisp_Process *p); |
| 440 | 134 HANDLE get_nt_process_handle (Lisp_Process *p); |
| 428 | 135 #endif |
| 136 | |
| 791 | 137 void mswindows_unwait_process (Lisp_Process *p); |
| 138 | |
| 428 | 139 extern Lisp_Object Vmswindows_frame_being_created; |
| 140 extern Lisp_Object mswindows_frame_being_created; | |
| 141 | |
| 442 | 142 void mswindows_get_workspace_coords (RECT *rc); |
| 143 | |
| 440 | 144 Lisp_Object mswindows_enumerate_fonts (HDC hdc); |
| 428 | 145 |
| 827 | 146 #ifdef HAVE_MENUBARS |
| 867 | 147 int mswindows_char_is_accelerator (struct frame *f, Ichar ch); |
| 1346 | 148 |
| 149 /* Message handlers. Called from window procedure */ | |
| 150 Lisp_Object mswindows_handle_wm_initmenupopup (HMENU hmenu, struct frame *frm); | |
| 151 Lisp_Object mswindows_handle_wm_initmenu (HMENU hmenu, struct frame *f); | |
| 152 Lisp_Object mswindows_handle_wm_command (struct frame *f, WORD command); | |
| 827 | 153 #endif |
| 442 | 154 |
| 155 #ifdef HAVE_TOOLBARS | |
| 771 | 156 Lisp_Object mswindows_get_toolbar_button_text (struct frame *f, |
| 440 | 157 int command_id); |
| 771 | 158 Lisp_Object mswindows_handle_toolbar_wm_command (struct frame *f, |
| 440 | 159 HWND ctrl, WORD id); |
| 442 | 160 #endif |
| 771 | 161 Lisp_Object mswindows_handle_gui_wm_command (struct frame *f, |
| 442 | 162 HWND ctrl, LPARAM id); |
| 1204 | 163 Lisp_Object mswindows_translate_menu_or_dialog_item (Lisp_Object item, |
| 164 Ichar *accel); | |
| 771 | 165 void mswindows_handle_destroyclipboard (void); |
| 442 | 166 |
| 167 Lisp_Object mswindows_handle_print_dialog_box (struct frame *f, | |
| 168 Lisp_Object keys); | |
| 169 Lisp_Object mswindows_handle_page_setup_dialog_box (struct frame *f, | |
| 170 Lisp_Object keys); | |
| 506 | 171 int mswindows_get_default_margin (Lisp_Object prop); |
| 442 | 172 |
| 173 void mswindows_register_popup_frame (Lisp_Object frame); | |
| 174 void mswindows_unregister_popup_frame (Lisp_Object frame); | |
| 175 | |
| 176 void mswindows_destroy_selection (Lisp_Object selection); | |
| 177 | |
| 771 | 178 int mswindows_window_is_xemacs (HWND hwnd); |
| 179 | |
| 442 | 180 Lisp_Object msprinter_default_printer (void); |
| 181 | |
| 546 | 182 Lisp_Object mswindows_find_frame (HWND hwnd); |
| 183 | |
| 872 | 184 /* Defined in console-msw.c */ |
| 185 EXFUN (Fmswindows_message_box, 3); | |
| 186 extern int mswindows_message_outputted; | |
| 187 void mswindows_hide_console (void); | |
| 188 int mswindows_output_console_string (const Ibyte *ptr, Bytecount len); | |
| 1346 | 189 void write_string_to_mswindows_debugging_output (const Ibyte *str, |
| 190 Bytecount len); | |
| 872 | 191 |
| 192 | |
| 771 | 193 #ifdef MULE |
| 194 Lisp_Object mswindows_get_code_page_charset (int code_page); | |
| 195 void mswindows_start_ime_composition (struct frame *f); | |
| 196 #endif /* MULE */ | |
| 197 | |
| 872 | 198 /* Defined in intl-win32.c */ |
| 199 EXFUN (Fmswindows_set_current_locale, 1); | |
| 200 EXFUN (Fmswindows_current_locale, 0); | |
| 201 EXFUN (Fmswindows_user_default_locale, 0); | |
| 202 EXFUN (Fmswindows_system_default_locale, 0); | |
| 203 EXFUN (Fmswindows_locale_code_page, 1); | |
| 204 EXFUN (Fmswindows_supported_locales, 0); | |
| 205 EXFUN (Fmswindows_charset_code_page, 1); | |
| 206 EXFUN (Fmswindows_charset_registry, 1); | |
| 207 EXFUN (Fmswindows_set_charset_code_page, 2); | |
| 442 | 208 |
| 872 | 209 struct mswindows_dialog_id; |
| 442 | 210 |
|
5118
e0db3c197671
merge up to latest default branch, doesn't compile yet
Ben Wing <ben@xemacs.org>
parents:
2367
diff
changeset
|
211 DECLARE_LISP_OBJECT (mswindows_dialog_id, struct mswindows_dialog_id); |
| 442 | 212 #define XMSWINDOWS_DIALOG_ID(x) XRECORD (x, mswindows_dialog_id, struct mswindows_dialog_id) |
| 617 | 213 #define wrap_mswindows_dialog_id(p) wrap_record (p, mswindows_dialog_id) |
| 442 | 214 #define MSWINDOWS_DIALOG_IDP(x) RECORDP (x, mswindows_dialog_id) |
| 215 #define CHECK_MSWINDOWS_DIALOG_ID(x) CHECK_RECORD (x, mswindows_dialog_id) | |
| 216 #define CONCHECK_MSWINDOWS_DIALOG_ID(x) CONCHECK_RECORD (x, mswindows_dialog_id) | |
| 440 | 217 |
| 218 #endif /* INCLUDED_console_msw_h_ */ |
