comparison src/ui-gtk.h @ 5178:97eb4942aec8

merge
author Ben Wing <ben@xemacs.org>
date Mon, 29 Mar 2010 21:28:13 -0500
parents a9c41067dd88
children ba07c880114a
comparison
equal deleted inserted replaced
5177:b785049378e3 5178:97eb4942aec8
34 typedef void (*ffi_marshalling_function) (ffi_actual_function, GtkArg *); 34 typedef void (*ffi_marshalling_function) (ffi_actual_function, GtkArg *);
35 35
36 #define MAX_GTK_ARGS 100 36 #define MAX_GTK_ARGS 100
37 37
38 typedef struct { 38 typedef struct {
39 struct LCRECORD_HEADER header; 39 NORMAL_LISP_OBJECT_HEADER header;
40 GtkType return_type; 40 GtkType return_type;
41 GtkType args[MAX_GTK_ARGS]; 41 GtkType args[MAX_GTK_ARGS];
42 gint n_args; 42 gint n_args;
43 Lisp_Object function_name; 43 Lisp_Object function_name;
44 dll_func function_ptr; 44 dll_func function_ptr;
45 ffi_marshalling_function marshal; 45 ffi_marshalling_function marshal;
46 } emacs_ffi_data; 46 } emacs_ffi_data;
47 47
48 DECLARE_LRECORD (emacs_ffi, emacs_ffi_data); 48 DECLARE_LISP_OBJECT (emacs_ffi, emacs_ffi_data);
49 49
50 #define XFFI(x) XRECORD (x, emacs_ffi, emacs_ffi_data) 50 #define XFFI(x) XRECORD (x, emacs_ffi, emacs_ffi_data)
51 #define wrap_emacs_ffi(p) wrap_record (p, emacs_ffi) 51 #define wrap_emacs_ffi(p) wrap_record (p, emacs_ffi)
52 #define FFIP(x) RECORDP (x, emacs_ffi) 52 #define FFIP(x) RECORDP (x, emacs_ffi)
53 #define CHECK_FFI(x) CHECK_RECORD (x, emacs_ffi) 53 #define CHECK_FFI(x) CHECK_RECORD (x, emacs_ffi)
54 54
55 /* Encapsulate a GtkObject in Lisp */ 55 /* Encapsulate a GtkObject in Lisp */
56 typedef struct { 56 typedef struct {
57 struct LCRECORD_HEADER header; 57 NORMAL_LISP_OBJECT_HEADER header;
58 gboolean alive_p; 58 gboolean alive_p;
59 GtkObject *object; 59 GtkObject *object;
60 Lisp_Object plist; 60 Lisp_Object plist;
61 } emacs_gtk_object_data; 61 } emacs_gtk_object_data;
62 62
63 DECLARE_LRECORD (emacs_gtk_object, emacs_gtk_object_data); 63 DECLARE_LISP_OBJECT (emacs_gtk_object, emacs_gtk_object_data);
64 64
65 #define XGTK_OBJECT(x) XRECORD (x, emacs_gtk_object, emacs_gtk_object_data) 65 #define XGTK_OBJECT(x) XRECORD (x, emacs_gtk_object, emacs_gtk_object_data)
66 #define wrap_emacs_gtk_object(p) wrap_record (p, emacs_gtk_object) 66 #define wrap_emacs_gtk_object(p) wrap_record (p, emacs_gtk_object)
67 #define GTK_OBJECTP(x) RECORDP (x, emacs_gtk_object) 67 #define GTK_OBJECTP(x) RECORDP (x, emacs_gtk_object)
68 #define CHECK_GTK_OBJECT(x) CHECK_RECORD (x, emacs_gtk_object) 68 #define CHECK_GTK_OBJECT(x) CHECK_RECORD (x, emacs_gtk_object)
69 69
70 extern Lisp_Object build_gtk_object (GtkObject *obj); 70 extern Lisp_Object build_gtk_object (GtkObject *obj);
71 71
72 /* Encapsulate a GTK_TYPE_BOXED in lisp */ 72 /* Encapsulate a GTK_TYPE_BOXED in lisp */
73 typedef struct { 73 typedef struct {
74 struct LCRECORD_HEADER header; 74 NORMAL_LISP_OBJECT_HEADER header;
75 GtkType object_type; 75 GtkType object_type;
76 void *object; 76 void *object;
77 } emacs_gtk_boxed_data; 77 } emacs_gtk_boxed_data;
78 78
79 DECLARE_LRECORD (emacs_gtk_boxed, emacs_gtk_boxed_data); 79 DECLARE_LISP_OBJECT (emacs_gtk_boxed, emacs_gtk_boxed_data);
80 80
81 #define XGTK_BOXED(x) XRECORD (x, emacs_gtk_boxed, emacs_gtk_boxed_data) 81 #define XGTK_BOXED(x) XRECORD (x, emacs_gtk_boxed, emacs_gtk_boxed_data)
82 #define wrap_emacs_gtk_boxed(p) wrap_record (p, emacs_gtk_boxed) 82 #define wrap_emacs_gtk_boxed(p) wrap_record (p, emacs_gtk_boxed)
83 #define GTK_BOXEDP(x) RECORDP (x, emacs_gtk_boxed) 83 #define GTK_BOXEDP(x) RECORDP (x, emacs_gtk_boxed)
84 #define CHECK_GTK_BOXED(x) CHECK_RECORD (x, emacs_gtk_boxed) 84 #define CHECK_GTK_BOXED(x) CHECK_RECORD (x, emacs_gtk_boxed)