Mercurial > hg > xemacs-beta
annotate src/console-msw.h @ 5627:37fb945697f5
text_width_single_run cleanup.
-------------------- ChangeLog entries follow: --------------------
src/ChangeLog addition:
2011-12-28 Didier Verna <didier@xemacs.org>
* redisplay-xlike-inc.c (XLIKE_text_width_single_run): Get only
what's needed as argument: an XLIKE_DISPLAY instead of a frame
pointer.
* redisplay-xlike-inc.c (XLIKE_text_width):
* redisplay-xlike-inc.c (XLIKE_output_string): Update accordingly.
Use the generic XLIKE_ name instead of the specific x_ one.
author | Didier Verna <didier@xemacs.org> |
---|---|
date | Wed, 28 Dec 2011 10:53:38 +0100 |
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_ */ |