annotate src/console-x.h @ 3736:01830ac74073

[xemacs-hg @ 2006-12-11 12:22:47 by aidan] 2006-12-08 Aidan Kehoe <kehoea@parhasard.net> * specifier.c (charset_matches_specifier_tag_set_p): A charset's entry in Vcharset_tag_lists may be nil, if, when that charset was created, no tags with associated charset predicates existed. Accept this possibility, treat it as the tag not matching that charset.
author aidan
date Mon, 11 Dec 2006 12:22:52 +0000
parents 15fb91e3a115
children 383ab474a241
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1 /* Define X specific console, device, and frame object for XEmacs.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
2 Copyright (C) 1989, 1992, 1993, 1994, 1995 Free Software Foundation, Inc.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3 Copyright (C) 1994, 1995 Board of Trustees, University of Illinois.
1318
b531bf8658e9 [xemacs-hg @ 2003-02-21 06:56:46 by ben]
ben
parents: 1204
diff changeset
4 Copyright (C) 1996, 2002, 2003 Ben Wing.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
6 This file is part of XEmacs.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
7
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8 XEmacs is free software; you can redistribute it and/or modify it
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
9 under the terms of the GNU General Public License as published by the
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
10 Free Software Foundation; either version 2, or (at your option) any
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
11 later version.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
12
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
13 XEmacs is distributed in the hope that it will be useful, but WITHOUT
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
14 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
15 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
16 for more details.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
17
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
18 You should have received a copy of the GNU General Public License
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
19 along with XEmacs; see the file COPYING. If not, write to
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
20 the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
21 Boston, MA 02111-1307, USA. */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
22
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
23 /* Synched up with: Not in FSF. */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
24
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
25
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
26 /* Authorship:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
27
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
28 Ultimately based on FSF, then later on JWZ work for Lemacs.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
29 Rewritten over time by Ben Wing and Chuck Thompson (original
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
30 multi-device work by Chuck Thompson).
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
31 */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
32
440
8de8e3f6228a Import from CVS: tag r21-2-28
cvs
parents: 428
diff changeset
33 #ifndef INCLUDED_console_x_h_
8de8e3f6228a Import from CVS: tag r21-2-28
cvs
parents: 428
diff changeset
34 #define INCLUDED_console_x_h_
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
35
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
36 #ifdef HAVE_X_WINDOWS
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
37
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
38 #include "console.h"
2484
bc9d41cf82df [xemacs-hg @ 2005-01-17 10:10:16 by stephent]
stephent
parents: 1346
diff changeset
39 /* must come before Xutil.h, which is included indirectly from xintrinsic.h,
bc9d41cf82df [xemacs-hg @ 2005-01-17 10:10:16 by stephent]
stephent
parents: 1346
diff changeset
40 to avoid breakage in keysym-parsing macros from X11R6, at least X.org as
bc9d41cf82df [xemacs-hg @ 2005-01-17 10:10:16 by stephent]
stephent
parents: 1346
diff changeset
41 of 2005-01-17, and probably XFree86 too from reports on c.e.x */
bc9d41cf82df [xemacs-hg @ 2005-01-17 10:10:16 by stephent]
stephent
parents: 1346
diff changeset
42 #include <X11/keysym.h>
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
43 #include "xintrinsic.h"
1346
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1318
diff changeset
44 #include "../lwlib/lwlib.h"
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
45
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
46 #include <X11/cursorfont.h>
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
47 #include <X11/Xatom.h>
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
48 #include <X11/StringDefs.h>
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
49
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
50 #ifdef HAVE_XPM
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
51 #include <X11/xpm.h>
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
52 #endif
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
53
3094
ad2f4ae9895b [xemacs-hg @ 2005-11-26 11:45:47 by stephent]
stephent
parents: 2484
diff changeset
54 #ifdef USE_XFT
ad2f4ae9895b [xemacs-hg @ 2005-11-26 11:45:47 by stephent]
stephent
parents: 2484
diff changeset
55 /* shut up GCC */
ad2f4ae9895b [xemacs-hg @ 2005-11-26 11:45:47 by stephent]
stephent
parents: 2484
diff changeset
56 #define face_index face_index_arg
ad2f4ae9895b [xemacs-hg @ 2005-11-26 11:45:47 by stephent]
stephent
parents: 2484
diff changeset
57 #define glyph_index glyph_index_arg
ad2f4ae9895b [xemacs-hg @ 2005-11-26 11:45:47 by stephent]
stephent
parents: 2484
diff changeset
58 #include <X11/Xft/Xft.h>
ad2f4ae9895b [xemacs-hg @ 2005-11-26 11:45:47 by stephent]
stephent
parents: 2484
diff changeset
59 #undef glyph_index
ad2f4ae9895b [xemacs-hg @ 2005-11-26 11:45:47 by stephent]
stephent
parents: 2484
diff changeset
60 #undef face_index
ad2f4ae9895b [xemacs-hg @ 2005-11-26 11:45:47 by stephent]
stephent
parents: 2484
diff changeset
61 #endif
ad2f4ae9895b [xemacs-hg @ 2005-11-26 11:45:47 by stephent]
stephent
parents: 2484
diff changeset
62
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
63 /* R5 defines the XPointer type, but R4 doesn't.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
64 R4 also doesn't define a version number, but R5 does. */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
65 #if (XlibSpecificationRelease < 5)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
66 # define XPointer char *
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
67 #endif
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
68
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
69 #define Xt_SET_VALUE(widget, resource, value) do { \
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
70 Arg al; \
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
71 XtSetArg (al, resource, value); \
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
72 XtSetValues (widget, &al, 1); \
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
73 } while (0)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
74
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
75 #define Xt_GET_VALUE(widget, resource, location) do { \
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
76 Arg al; \
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
77 XtSetArg (al, resource, location); \
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
78 XtGetValues (widget, &al, 1); \
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
79 } while (0)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
80
1204
e22b0213b713 [xemacs-hg @ 2003-01-12 11:07:58 by michaels]
michaels
parents: 872
diff changeset
81 #ifdef __cplusplus
e22b0213b713 [xemacs-hg @ 2003-01-12 11:07:58 by michaels]
michaels
parents: 872
diff changeset
82 #define X_CLASSFIELD c_class
e22b0213b713 [xemacs-hg @ 2003-01-12 11:07:58 by michaels]
michaels
parents: 872
diff changeset
83 #else
e22b0213b713 [xemacs-hg @ 2003-01-12 11:07:58 by michaels]
michaels
parents: 872
diff changeset
84 #define X_CLASSFIELD class
e22b0213b713 [xemacs-hg @ 2003-01-12 11:07:58 by michaels]
michaels
parents: 872
diff changeset
85 #endif
e22b0213b713 [xemacs-hg @ 2003-01-12 11:07:58 by michaels]
michaels
parents: 872
diff changeset
86
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
87 /* Variables associated with the X display frame this emacs is using. */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
88 extern XtAppContext Xt_app_con;
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
89
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
90 extern Lisp_Object Vx_gc_pointer_shape;
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
91 extern Lisp_Object Vx_scrollbar_pointer_shape;
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
92 extern Lisp_Object Qx_error;
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
93
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
94 /* Number of pixels below each line. */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
95 extern int x_interline_space; /* #### implement me */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
96
458
c33ae14dd6d0 Import from CVS: tag r21-2-44
cvs
parents: 454
diff changeset
97 extern Fixnum x_selection_timeout;
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
98
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
99 struct frame *x_any_window_to_frame (struct device *d, Window);
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
100 struct frame *x_any_widget_or_parent_to_frame (struct device *d,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
101 Widget widget);
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
102 struct frame *decode_x_frame (Lisp_Object);
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
103 struct frame *x_window_to_frame (struct device *d, Window);
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
104 struct device *get_device_from_display (Display *dpy);
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
105 struct device *decode_x_device (Lisp_Object);
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
106
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
107 void x_handle_selection_notify (XSelectionEvent *event);
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
108 void x_handle_selection_request (XSelectionRequestEvent *event);
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
109 void x_handle_selection_clear (XSelectionClearEvent *event);
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
110 void x_handle_property_notify (XPropertyEvent *event);
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
111
440
8de8e3f6228a Import from CVS: tag r21-2-28
cvs
parents: 428
diff changeset
112 void Xatoms_of_select_x (struct device *d);
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
113 void Xatoms_of_objects_x (struct device *d);
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
114
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
115 void x_wm_set_shell_iconic_p (Widget shell, int iconic_p);
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
116 void x_wm_set_cell_size (Widget wmshell, int cw, int ch);
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
117 void x_wm_set_variable_size (Widget wmshell, int width, int height);
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
118
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
119 const char *x_event_name (int event_type);
1204
e22b0213b713 [xemacs-hg @ 2003-01-12 11:07:58 by michaels]
michaels
parents: 872
diff changeset
120 int check_if_pending_expose_event (struct device *d);
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
121 int x_error_handler (Display *disp, XErrorEvent *event);
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
122 void expect_x_error (Display *dpy);
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
123 int x_error_occurred_p (Display *dpy);
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
124 int signal_if_x_error (Display *dpy, int resumable_p);
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
125 int x_IO_error_handler (Display *disp);
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
126
1346
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1318
diff changeset
127 widget_value *xmalloc_widget_value (void);
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1318
diff changeset
128
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1318
diff changeset
129 LWLIB_ID new_lwlib_id (void);
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1318
diff changeset
130
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1318
diff changeset
131 void gcpro_popup_callbacks (LWLIB_ID id);
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1318
diff changeset
132 void ungcpro_popup_callbacks (LWLIB_ID id);
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1318
diff changeset
133 int popup_handled_p (LWLIB_ID id);
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1318
diff changeset
134 void free_popup_widget_value_tree (widget_value *wv);
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1318
diff changeset
135 void popup_selection_callback (Widget widget, LWLIB_ID ignored_id,
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1318
diff changeset
136 XtPointer client_data);
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1318
diff changeset
137 Extbyte *add_accel_and_to_external (Lisp_Object string);
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1318
diff changeset
138 int button_item_to_widget_value (Lisp_Object gui_object_instance,
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1318
diff changeset
139 Lisp_Object gui_item, widget_value *wv,
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1318
diff changeset
140 int allow_text_field_p, int no_keys_p,
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1318
diff changeset
141 int menu_entry_p, int accel_p);
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1318
diff changeset
142 widget_value * gui_items_to_widget_values (Lisp_Object gui_object_instance,
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1318
diff changeset
143 Lisp_Object items, int accel_p);
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1318
diff changeset
144 Extbyte *menu_separator_style_and_to_external (const Ibyte *s);
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1318
diff changeset
145 Lisp_Object widget_value_unwind (Lisp_Object closure);
01c57eb70ae9 [xemacs-hg @ 2003-03-09 02:27:27 by ben]
ben
parents: 1318
diff changeset
146
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
147 void x_output_string (struct window *w, struct display_line *dl,
867
804517e16990 [xemacs-hg @ 2002-06-05 09:54:39 by ben]
ben
parents: 793
diff changeset
148 Ichar_dynarr *buf, int xpos, int xoffset,
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
149 int start_pixpos, int width, face_index findex,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
150 int cursor, int cursor_start, int cursor_width,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
151 int cursor_height);
440
8de8e3f6228a Import from CVS: tag r21-2-28
cvs
parents: 428
diff changeset
152 void x_output_x_pixmap (struct frame *f, Lisp_Image_Instance *p,
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
153 int x, int y, int xoffset, int yoffset,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
154 int width, int height,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
155 unsigned long fg, unsigned long bg,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
156 GC override_gc);
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
157 void x_output_shadows (struct frame *f, int x, int y, int width,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
158 int height, GC top_shadow_gc,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
159 GC bottom_shadow_gc, GC background_gc,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
160 int shadow_thickness, int edges);
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
161 void x_generate_shadow_pixels (struct frame *f,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
162 unsigned long *top_shadow,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
163 unsigned long *bottom_shadow,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
164 unsigned long background,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
165 unsigned long core_background);
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
166
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
167 int x_initialize_frame_menubar (struct frame *f);
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
168 void x_init_modifier_mapping (struct device *d);
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
169
593
5fd7ba8b56e7 [xemacs-hg @ 2001-05-31 12:45:27 by ben]
ben
parents: 458
diff changeset
170 int x_frame_window_state (struct frame *f);
5fd7ba8b56e7 [xemacs-hg @ 2001-05-31 12:45:27 by ben]
ben
parents: 458
diff changeset
171
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
172 #define X_ERROR_OCCURRED(dpy, body) \
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
173 (expect_x_error (dpy), body, x_error_occurred_p (dpy))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
174
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
175 #define HANDLING_X_ERROR(dpy, body) \
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
176 (expect_x_error (dpy), body, signal_if_x_error (dpy, 0))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
177
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
178 void Initialize_Locale (void);
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
179
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
180 #ifdef HAVE_XIM
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
181
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
182 /* X Input Method `methods' */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
183 void XIM_init_device (struct device *d);
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
184 void XIM_init_frame (struct frame *f);
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
185 void XIM_SetSpotLocation (struct frame *f, int x, int y);
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
186 void XIM_SetGeometry (struct frame *f);
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
187 void XIM_focus_event (struct frame *f, int in_p);
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
188
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
189 #ifdef XIM_XLIB
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
190 /* XtTypeConverter */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
191 Boolean EmacsXtCvtStringToXIMStyles (
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
192 Display *dpy,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
193 XrmValuePtr args,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
194 Cardinal *num_args,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
195 XrmValuePtr from,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
196 XrmValuePtr to_in_out,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
197 XtPointer *converter_data);
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
198
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
199 /* XtDestructor */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
200 void EmacsFreeXIMStyles (
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
201 XtAppContext app,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
202 XrmValuePtr to,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
203 XtPointer converter_data,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
204 XrmValuePtr args,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
205 Cardinal *num_args);
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
206
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
207 #ifdef DEBUG_XEMACS
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
208 void describe_Window (Window win);
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
209 void describe_XFontSet (XFontSet font_set);
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
210 void describe_XIM (XIM im);
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
211 void describe_XIMStyle (XIMStyle style);
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
212 void describe_XIMStyles (XIMStyles *styles);
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
213 void describe_XIC (XIC ic);
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
214 void describe_event_mask (unsigned long mask);
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
215 void describe_XRectangle (char *name, XRectangle *rect);
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
216 void describe_Status (Status status);
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
217 #endif /* DEBUG_XEMACS */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
218 #endif /* XIM_XLIB */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
219 #endif /* HAVE_XIM */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
220
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 593
diff changeset
221 extern Lisp_Object Qxintl;
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 593
diff changeset
222
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
223 extern int in_resource_setting;
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
224 extern int in_specifier_change_function;
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
225
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
226 extern Lisp_Object Vx_initial_argv_list; /* #### ugh! */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
227
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
228 #endif /* HAVE_X_WINDOWS */
440
8de8e3f6228a Import from CVS: tag r21-2-28
cvs
parents: 428
diff changeset
229
8de8e3f6228a Import from CVS: tag r21-2-28
cvs
parents: 428
diff changeset
230 #endif /* INCLUDED_console_x_h_ */