annotate src/ui-gtk.h @ 778:2923009caf47

[xemacs-hg @ 2002-03-16 10:38:59 by ben] cm.c, file-coding.c: fix warnings. .cvsignore: Those pesky *.tmp files. mule\arabic.el, mule\canna-leim.el, mule\china-util.el, mule\chinese.el, mule\cyril-util.el, mule\cyrillic.el, mule\devan-util.el, mule\devanagari.el, mule\english.el, mule\ethio-util.el, mule\ethiopic.el, mule\european.el, mule\greek.el, mule\hebrew.el, mule\indian.el, mule\japan-util.el, mule\japanese.el, mule\korea-util.el, mule\korean.el, mule\lao-util.el, mule\lao.el, mule\misc-lang.el, mule\mule-charset.el, mule\mule-cmds.el, mule\thai-util.el, mule\thai.el, mule\tibet-util.el, mule\tibetan.el, mule\viet-util.el, mule\vietnamese.el, unicode.el: Fix lots of warnings. Sync up some files to FSF 21.1. Copy over all charset definitions from FSF 21.1, convert them to our format, and stick them in the relevant files. Eventually we will actually be able to dump these files (though they may not quite work). autoload.el: Support defun*, defmacro*. mule/mule-composite.el, mule/mule-composite-stub.el: New file, stubs for nonexistent composition funs/vars. mule/viet-chars.el, dumped-lisp.el: Account for these changes. font.el, mouse.el, msw-font-menu.el, printer.el, startup.el: fix warnings.
author ben
date Sat, 16 Mar 2002 10:39:19 +0000
parents af57a77cbc92
children e38acbeb1cae
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
462
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
1 /* ui-gtk.h
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
2 **
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
3 ** Description:
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
4 **
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
5 ** Created by: William M. Perry
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
6 ** Copyright (c) 2000 Aventail Corporation
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
7 **
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
8 */
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
9
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
10 #ifndef __UI_GTK_H__
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
11 #define __UI_GTK_H__
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
12
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
13 /* Encapsulate a foreign function call */
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
14 #include <gtk/gtk.h>
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
15 #include "sysdll.h"
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
16 #include "lrecord.h"
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
17
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
18 typedef void (*ffi_actual_function) (void);
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
19 typedef void (*ffi_marshalling_function) (ffi_actual_function, GtkArg *);
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
20
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
21 #define MAX_GTK_ARGS 100
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
22
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
23 typedef struct {
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
24 struct lcrecord_header header;
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
25 GtkType return_type;
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
26 GtkType args[MAX_GTK_ARGS];
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
27 gint n_args;
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
28 Lisp_Object function_name;
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
29 dll_func function_ptr;
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
30 ffi_marshalling_function marshal;
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
31 } emacs_ffi_data;
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
32
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
33 DECLARE_LRECORD (emacs_ffi, emacs_ffi_data);
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
34
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
35 #define XFFI(x) XRECORD (x, emacs_ffi, emacs_ffi_data)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
36 #define XSETFFI(x,p) XSETRECORD (x, p, emacs_ffi)
617
af57a77cbc92 [xemacs-hg @ 2001-06-18 07:09:50 by ben]
ben
parents: 462
diff changeset
37 #define wrap_emacs_ffi(p) wrap_record (p, emacs_ffi)
462
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
38 #define FFIP(x) RECORDP (x, emacs_ffi)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
39 #define CHECK_FFI(x) CHECK_RECORD (x, emacs_ffi)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
40
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
41 /* Encapsulate a GtkObject in Lisp */
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
42 typedef struct {
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
43 struct lcrecord_header header;
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
44 gboolean alive_p;
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
45 GtkObject *object;
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
46 Lisp_Object plist;
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
47 } emacs_gtk_object_data;
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
48
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
49 DECLARE_LRECORD (emacs_gtk_object, emacs_gtk_object_data);
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
50
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
51 #define XGTK_OBJECT(x) XRECORD (x, emacs_gtk_object, emacs_gtk_object_data)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
52 #define XSETGTK_OBJECT(x,p) XSETRECORD (x, p, emacs_gtk_object)
617
af57a77cbc92 [xemacs-hg @ 2001-06-18 07:09:50 by ben]
ben
parents: 462
diff changeset
53 #define wrap_emacs_gtk_object(p) wrap_record (p, emacs_gtk_object)
462
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
54 #define GTK_OBJECTP(x) RECORDP (x, emacs_gtk_object)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
55 #define CHECK_GTK_OBJECT(x) CHECK_RECORD (x, emacs_gtk_object)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
56
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
57 extern Lisp_Object build_gtk_object (GtkObject *obj);
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
58
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
59 /* Encapsulate a GTK_TYPE_BOXED in lisp */
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
60 typedef struct {
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
61 struct lcrecord_header header;
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
62 GtkType object_type;
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
63 void *object;
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
64 } emacs_gtk_boxed_data;
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
65
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
66 DECLARE_LRECORD (emacs_gtk_boxed, emacs_gtk_boxed_data);
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
67
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
68 #define XGTK_BOXED(x) XRECORD (x, emacs_gtk_boxed, emacs_gtk_boxed_data)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
69 #define XSETGTK_BOXED(x,p) XSETRECORD (x, p, emacs_gtk_boxed)
617
af57a77cbc92 [xemacs-hg @ 2001-06-18 07:09:50 by ben]
ben
parents: 462
diff changeset
70 #define wrap_emacs_gtk_boxed(p) wrap_record (p, emacs_gtk_boxed)
462
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
71 #define GTK_BOXEDP(x) RECORDP (x, emacs_gtk_boxed)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
72 #define CHECK_GTK_BOXED(x) CHECK_RECORD (x, emacs_gtk_boxed)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
73
778
2923009caf47 [xemacs-hg @ 2002-03-16 10:38:59 by ben]
ben
parents: 617
diff changeset
74 extern Lisp_Object build_gtk_boxed (void *obj, GtkType t);
2923009caf47 [xemacs-hg @ 2002-03-16 10:38:59 by ben]
ben
parents: 617
diff changeset
75
462
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
76 #endif /* __UI_GTK_H__ */