Mercurial > hg > xemacs-beta
annotate src/console-x.h @ 5008:cad59a0a3b19
Add license information from Marcus Thiessel.
See xemacs-beta message <20100208091453.25900@gmx.net>.
| author | Jerry James <james@xemacs.org> |
|---|---|
| date | Tue, 09 Feb 2010 09:50:49 -0700 |
| parents | cbe181529c34 |
| children | 2ade80e8c640 |
| 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 | |
|
4916
a6c778975d7d
split USE_XFT into HAVE_XFT/USE_XFT
Ben Wing <ben@xemacs.org>
parents:
4908
diff
changeset
|
54 #ifdef HAVE_XFT |
| 3094 | 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 | |
|
4952
19a72041c5ed
Mule-izing, various fixes related to char * arguments
Ben Wing <ben@xemacs.org>
parents:
4528
diff
changeset
|
107 const Ascbyte *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); | |
| 140 void x_generate_shadow_pixels (struct frame *f, | |
| 141 unsigned long *top_shadow, | |
| 142 unsigned long *bottom_shadow, | |
| 143 unsigned long background, | |
| 144 unsigned long core_background); | |
| 145 | |
| 146 int x_initialize_frame_menubar (struct frame *f); | |
| 147 void x_init_modifier_mapping (struct device *d); | |
| 148 | |
| 593 | 149 int x_frame_window_state (struct frame *f); |
| 150 | |
| 428 | 151 #define X_ERROR_OCCURRED(dpy, body) \ |
| 152 (expect_x_error (dpy), body, x_error_occurred_p (dpy)) | |
| 153 | |
| 154 #define HANDLING_X_ERROR(dpy, body) \ | |
| 155 (expect_x_error (dpy), body, signal_if_x_error (dpy, 0)) | |
| 156 | |
| 157 void Initialize_Locale (void); | |
| 158 | |
| 159 #ifdef HAVE_XIM | |
| 160 | |
| 161 /* X Input Method `methods' */ | |
| 162 void XIM_init_device (struct device *d); | |
| 163 void XIM_init_frame (struct frame *f); | |
| 164 void XIM_SetSpotLocation (struct frame *f, int x, int y); | |
| 165 void XIM_SetGeometry (struct frame *f); | |
| 166 void XIM_focus_event (struct frame *f, int in_p); | |
| 167 | |
| 168 #ifdef XIM_XLIB | |
| 169 /* XtTypeConverter */ | |
| 170 Boolean EmacsXtCvtStringToXIMStyles ( | |
| 171 Display *dpy, | |
| 172 XrmValuePtr args, | |
| 173 Cardinal *num_args, | |
| 174 XrmValuePtr from, | |
| 175 XrmValuePtr to_in_out, | |
| 176 XtPointer *converter_data); | |
| 177 | |
| 178 /* XtDestructor */ | |
| 179 void EmacsFreeXIMStyles ( | |
| 180 XtAppContext app, | |
| 181 XrmValuePtr to, | |
| 182 XtPointer converter_data, | |
| 183 XrmValuePtr args, | |
| 184 Cardinal *num_args); | |
| 185 | |
| 186 #ifdef DEBUG_XEMACS | |
| 187 void describe_Window (Window win); | |
| 188 void describe_XFontSet (XFontSet font_set); | |
| 189 void describe_XIM (XIM im); | |
| 190 void describe_XIMStyle (XIMStyle style); | |
| 191 void describe_XIMStyles (XIMStyles *styles); | |
| 192 void describe_XIC (XIC ic); | |
| 193 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
|
194 void describe_XRectangle (const char *name, XRectangle *rect); |
| 428 | 195 void describe_Status (Status status); |
| 196 #endif /* DEBUG_XEMACS */ | |
| 197 #endif /* XIM_XLIB */ | |
| 198 #endif /* HAVE_XIM */ | |
| 199 | |
| 771 | 200 extern Lisp_Object Qxintl; |
| 201 | |
| 428 | 202 extern int in_resource_setting; |
| 203 extern int in_specifier_change_function; | |
| 204 | |
| 205 extern Lisp_Object Vx_initial_argv_list; /* #### ugh! */ | |
| 206 | |
| 207 #endif /* HAVE_X_WINDOWS */ | |
| 440 | 208 |
| 209 #endif /* INCLUDED_console_x_h_ */ |
