Mercurial > hg > xemacs-beta
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) |