Mercurial > hg > xemacs-beta
annotate src/console-x.h @ 4903:70089046adef
fix compile problems in intl-encap* under VS6
-------------------- ChangeLog entries follow: --------------------
lib-src/ChangeLog addition:
2010-01-30 Ben Wing <ben@xemacs.org>
* make-mswin-unicode.pl:
Make it possible to specify an overridden prototype in cases where
either Cygwin or Visual Studio has errors in their headers that
can be corrected by falling back to a less qualified type (typically
without const).
src/ChangeLog addition:
2010-01-30 Ben Wing <ben@xemacs.org>
* intl-auto-encap-win32.c:
* intl-auto-encap-win32.c (qxeExtractAssociatedIcon):
* intl-auto-encap-win32.c (qxeExtractIconEx):
* intl-auto-encap-win32.c (qxeCreateMDIWindow):
* intl-auto-encap-win32.c (qxeCreateWindowStation):
* intl-auto-encap-win32.c (qxeDdeCreateStringHandle):
* intl-auto-encap-win32.c (qxeAbortSystemShutdown):
* intl-auto-encap-win32.c (qxeRegConnectRegistry):
* intl-auto-encap-win32.c (qxeGetICMProfile):
* intl-auto-encap-win32.h:
Rebuild.
* intl-encap-win32.c:
* intl-encap-win32.c (qxeUpdateICMRegKey):
Delete manual definitions of functions with former errors in
Cygwin headers but no longer. Use "override" with some functions
where Cygwin or VS6 accidentally omits a const declaration or
includes an extra one. Use "no" on SendMessageTimeout, which
has an error in the VS6 prototype (you could manually fix this
with an ifdef to split the Cygwin vs. VS6 calls, if we ever
actually used this function).
author | Ben Wing <ben@xemacs.org> |
---|---|
date | Sat, 30 Jan 2010 20:34:23 -0600 |
parents | 726060ee587c |
children | b3ce27ca7647 19a72041c5ed |
rev | line source |
---|---|
428 | 1 /* Define X 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) 1996, 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 | |
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 (original | |
30 multi-device work by Chuck Thompson). | |
31 */ | |
32 | |
440 | 33 #ifndef INCLUDED_console_x_h_ |
34 #define INCLUDED_console_x_h_ | |
428 | 35 |
36 #ifdef HAVE_X_WINDOWS | |
37 | |
38 #include "console.h" | |
2484 | 39 /* must come before Xutil.h, which is included indirectly from xintrinsic.h, |
40 to avoid breakage in keysym-parsing macros from X11R6, at least X.org as | |
41 of 2005-01-17, and probably XFree86 too from reports on c.e.x */ | |
42 #include <X11/keysym.h> | |
428 | 43 #include "xintrinsic.h" |
1346 | 44 #include "../lwlib/lwlib.h" |
428 | 45 |
46 #include <X11/cursorfont.h> | |
47 #include <X11/Xatom.h> | |
48 #include <X11/StringDefs.h> | |
49 | |
50 #ifdef HAVE_XPM | |
51 #include <X11/xpm.h> | |
52 #endif | |
53 | |
3094 | 54 #ifdef USE_XFT |
55 /* shut up GCC */ | |
56 #define face_index face_index_arg | |
57 #define glyph_index glyph_index_arg | |
58 #include <X11/Xft/Xft.h> | |
59 #undef glyph_index | |
60 #undef face_index | |
61 #endif | |
62 | |
428 | 63 /* R5 defines the XPointer type, but R4 doesn't. |
64 R4 also doesn't define a version number, but R5 does. */ | |
65 #if (XlibSpecificationRelease < 5) | |
66 # define XPointer char * | |
67 #endif | |
68 | |
1204 | 69 #ifdef __cplusplus |
70 #define X_CLASSFIELD c_class | |
71 #else | |
72 #define X_CLASSFIELD class | |
73 #endif | |
74 | |
428 | 75 /* Variables associated with the X display frame this emacs is using. */ |
76 extern XtAppContext Xt_app_con; | |
77 | |
78 extern Lisp_Object Vx_gc_pointer_shape; | |
79 extern Lisp_Object Vx_scrollbar_pointer_shape; | |
80 extern Lisp_Object Qx_error; | |
81 | |
82 /* Number of pixels below each line. */ | |
83 extern int x_interline_space; /* #### implement me */ | |
84 | |
458 | 85 extern Fixnum x_selection_timeout; |
428 | 86 |
87 struct frame *x_any_window_to_frame (struct device *d, Window); | |
88 struct frame *x_any_widget_or_parent_to_frame (struct device *d, | |
89 Widget widget); | |
90 struct frame *decode_x_frame (Lisp_Object); | |
91 struct frame *x_window_to_frame (struct device *d, Window); | |
92 struct device *get_device_from_display (Display *dpy); | |
93 struct device *decode_x_device (Lisp_Object); | |
94 | |
95 void x_handle_selection_notify (XSelectionEvent *event); | |
96 void x_handle_selection_request (XSelectionRequestEvent *event); | |
97 void x_handle_selection_clear (XSelectionClearEvent *event); | |
98 void x_handle_property_notify (XPropertyEvent *event); | |
99 | |
440 | 100 void Xatoms_of_select_x (struct device *d); |
428 | 101 void Xatoms_of_objects_x (struct device *d); |
102 | |
103 void x_wm_set_shell_iconic_p (Widget shell, int iconic_p); | |
104 void x_wm_set_cell_size (Widget wmshell, int cw, int ch); | |
105 void x_wm_set_variable_size (Widget wmshell, int width, int height); | |
106 | |
442 | 107 const char *x_event_name (int event_type); |
1204 | 108 int check_if_pending_expose_event (struct device *d); |
428 | 109 int x_error_handler (Display *disp, XErrorEvent *event); |
110 void expect_x_error (Display *dpy); | |
111 int x_error_occurred_p (Display *dpy); | |
112 int signal_if_x_error (Display *dpy, int resumable_p); | |
113 int x_IO_error_handler (Display *disp); | |
114 | |
1346 | 115 widget_value *xmalloc_widget_value (void); |
116 | |
117 LWLIB_ID new_lwlib_id (void); | |
118 | |
119 void gcpro_popup_callbacks (LWLIB_ID id); | |
120 void ungcpro_popup_callbacks (LWLIB_ID id); | |
121 int popup_handled_p (LWLIB_ID id); | |
122 void free_popup_widget_value_tree (widget_value *wv); | |
123 void popup_selection_callback (Widget widget, LWLIB_ID ignored_id, | |
124 XtPointer client_data); | |
125 Extbyte *add_accel_and_to_external (Lisp_Object string); | |
126 int button_item_to_widget_value (Lisp_Object gui_object_instance, | |
127 Lisp_Object gui_item, widget_value *wv, | |
128 int allow_text_field_p, int no_keys_p, | |
129 int menu_entry_p, int accel_p); | |
130 widget_value * gui_items_to_widget_values (Lisp_Object gui_object_instance, | |
131 Lisp_Object items, int accel_p); | |
132 Extbyte *menu_separator_style_and_to_external (const Ibyte *s); | |
133 Lisp_Object widget_value_unwind (Lisp_Object closure); | |
134 | |
428 | 135 void x_output_string (struct window *w, struct display_line *dl, |
867 | 136 Ichar_dynarr *buf, int xpos, int xoffset, |
428 | 137 int start_pixpos, int width, face_index findex, |
138 int cursor, int cursor_start, int cursor_width, | |
139 int cursor_height); | |
440 | 140 void x_output_x_pixmap (struct frame *f, Lisp_Image_Instance *p, |
428 | 141 int x, int y, int xoffset, int yoffset, |
142 int width, int height, | |
143 unsigned long fg, unsigned long bg, | |
144 GC override_gc); | |
145 void x_output_shadows (struct frame *f, int x, int y, int width, | |
146 int height, GC top_shadow_gc, | |
147 GC bottom_shadow_gc, GC background_gc, | |
148 int shadow_thickness, int edges); | |
149 void x_generate_shadow_pixels (struct frame *f, | |
150 unsigned long *top_shadow, | |
151 unsigned long *bottom_shadow, | |
152 unsigned long background, | |
153 unsigned long core_background); | |
154 | |
155 int x_initialize_frame_menubar (struct frame *f); | |
156 void x_init_modifier_mapping (struct device *d); | |
157 | |
593 | 158 int x_frame_window_state (struct frame *f); |
159 | |
428 | 160 #define X_ERROR_OCCURRED(dpy, body) \ |
161 (expect_x_error (dpy), body, x_error_occurred_p (dpy)) | |
162 | |
163 #define HANDLING_X_ERROR(dpy, body) \ | |
164 (expect_x_error (dpy), body, signal_if_x_error (dpy, 0)) | |
165 | |
166 void Initialize_Locale (void); | |
167 | |
168 #ifdef HAVE_XIM | |
169 | |
170 /* X Input Method `methods' */ | |
171 void XIM_init_device (struct device *d); | |
172 void XIM_init_frame (struct frame *f); | |
173 void XIM_SetSpotLocation (struct frame *f, int x, int y); | |
174 void XIM_SetGeometry (struct frame *f); | |
175 void XIM_focus_event (struct frame *f, int in_p); | |
176 | |
177 #ifdef XIM_XLIB | |
178 /* XtTypeConverter */ | |
179 Boolean EmacsXtCvtStringToXIMStyles ( | |
180 Display *dpy, | |
181 XrmValuePtr args, | |
182 Cardinal *num_args, | |
183 XrmValuePtr from, | |
184 XrmValuePtr to_in_out, | |
185 XtPointer *converter_data); | |
186 | |
187 /* XtDestructor */ | |
188 void EmacsFreeXIMStyles ( | |
189 XtAppContext app, | |
190 XrmValuePtr to, | |
191 XtPointer converter_data, | |
192 XrmValuePtr args, | |
193 Cardinal *num_args); | |
194 | |
195 #ifdef DEBUG_XEMACS | |
196 void describe_Window (Window win); | |
197 void describe_XFontSet (XFontSet font_set); | |
198 void describe_XIM (XIM im); | |
199 void describe_XIMStyle (XIMStyle style); | |
200 void describe_XIMStyles (XIMStyles *styles); | |
201 void describe_XIC (XIC ic); | |
202 void describe_event_mask (unsigned long mask); | |
4528
726060ee587c
First draft of g++ 4.3 warning removal patch. Builds. *Needs ChangeLogs.*
Stephen J. Turnbull <stephen@xemacs.org>
parents:
4522
diff
changeset
|
203 void describe_XRectangle (const char *name, XRectangle *rect); |
428 | 204 void describe_Status (Status status); |
205 #endif /* DEBUG_XEMACS */ | |
206 #endif /* XIM_XLIB */ | |
207 #endif /* HAVE_XIM */ | |
208 | |
771 | 209 extern Lisp_Object Qxintl; |
210 | |
428 | 211 extern int in_resource_setting; |
212 extern int in_specifier_change_function; | |
213 | |
214 extern Lisp_Object Vx_initial_argv_list; /* #### ugh! */ | |
215 | |
216 #endif /* HAVE_X_WINDOWS */ | |
440 | 217 |
218 #endif /* INCLUDED_console_x_h_ */ |