462
|
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) 2002, 2003 Ben Wing.
|
462
|
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
|
|
33 #ifndef _XEMACS_CONSOLE_GTK_H_
|
|
34 #define _XEMACS_CONSOLE_GTK_H_
|
|
35
|
|
36 #ifdef HAVE_GTK
|
|
37
|
|
38 #include "console.h"
|
|
39 #include <gtk/gtk.h>
|
|
40
|
|
41 /* Variables associated with the X display frame this emacs is using. */
|
|
42
|
|
43 extern Lisp_Object Vx_gc_pointer_shape;
|
|
44 extern Lisp_Object Vx_scrollbar_pointer_shape;
|
|
45
|
|
46 /* Number of pixels below each line. */
|
|
47 extern int gtk_interline_space;
|
|
48
|
|
49 extern int gtk_selection_timeout;
|
|
50
|
2168
|
51 struct frame *gtk_widget_to_frame (GtkWidget *);
|
462
|
52 struct frame *gtk_any_window_to_frame (struct device *d, GdkWindow *);
|
|
53 struct frame *gtk_window_to_frame (struct device *d, GdkWindow *);
|
|
54 struct frame *gtk_any_widget_or_parent_to_frame (struct device *d, GtkWidget *widget);
|
|
55 struct frame *decode_gtk_frame (Lisp_Object);
|
|
56 struct device *gtk_any_window_to_device (GdkWindow *);
|
|
57 struct device *decode_gtk_device (Lisp_Object);
|
|
58 void gtk_handle_property_notify (GdkEventProperty *event);
|
|
59
|
|
60 void signal_special_gtk_user_event (Lisp_Object channel, Lisp_Object function,
|
|
61 Lisp_Object object);
|
|
62 void gtk_output_string (struct window *w, struct display_line *dl,
|
867
|
63 Ichar_dynarr *buf, int xpos, int xoffset,
|
462
|
64 int start_pixpos, int width, face_index findex,
|
|
65 int cursor, int cursor_start, int cursor_width,
|
|
66 int cursor_height);
|
|
67 void gtk_output_shadows (struct frame *f, int x, int y, int width,
|
|
68 int height, int shadow_thickness);
|
714
|
69 GdkGC *gtk_get_gc (struct device *d, Lisp_Object font, Lisp_Object fg, Lisp_Object bg,
|
|
70 Lisp_Object bg_pmap, Lisp_Object lwidth);
|
462
|
71
|
|
72 int gtk_initialize_frame_menubar (struct frame *f);
|
|
73 void gtk_init_modifier_mapping (struct device *d);
|
|
74
|
|
75 void Initialize_Locale (void);
|
|
76
|
|
77 extern Lisp_Object Vgtk_initial_argv_list; /* #### ugh! */
|
|
78
|
|
79 const char *gtk_event_name (GdkEventType event_type);
|
778
|
80
|
|
81 void reinit_console_type_create_gtk (void);
|
|
82
|
|
83 void emacs_gtk_selection_handle (GtkWidget *,
|
|
84 GtkSelectionData *selection_data,
|
|
85 guint info,
|
|
86 guint time_stamp,
|
|
87 gpointer data);
|
|
88 void emacs_gtk_selection_clear_event_handle (GtkWidget *widget,
|
|
89 GdkEventSelection *event,
|
|
90 gpointer data);
|
|
91 void emacs_gtk_selection_received (GtkWidget *widget,
|
|
92 GtkSelectionData *selection_data,
|
|
93 gpointer user_data);
|
|
94
|
1346
|
95 typedef unsigned int GUI_ID;
|
|
96 extern GUI_ID new_gui_id (void);
|
|
97
|
|
98 extern void gcpro_popup_callbacks (GUI_ID id, Lisp_Object data);
|
|
99 extern void ungcpro_popup_callbacks (GUI_ID id);
|
|
100 extern Lisp_Object get_gcpro_popup_callbacks (GUI_ID id);
|
|
101
|
462
|
102 #endif /* HAVE_GTK */
|
|
103 #endif /* _XEMACS_DEVICE_X_H_ */
|