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