initial move from git to bzr
[emacs.git] / src / xwidget.h
blobacceb720108dbaba00d94855389aab1713c921d1
1 void x_draw_xwidget_glyph_string P_ ((struct glyph_string *s));
2 void syms_of_xwidget ();
4 extern Lisp_Object Qxwidget;
5 /* Test for xwidget (xwidget . spec) (car must be the symbol xwidget)*/
6 #define XWIDGETP(x) (CONSP (x) && EQ (XCAR (x), Qxwidget))
8 int valid_xwidget_p (Lisp_Object object) ;
10 #include <gtk/gtk.h>
13 each xwidget instance is described by this struct.
15 struct xwidget{
16 int id;
17 int type;
18 int hidden;
19 GtkWidget* widget;
20 GtkContainer* widgetwindow;
22 char* title;
23 int initialized;
24 int height;
25 int width;
26 int x; int y;
27 Lisp_Object message_hook;
28 int redisplayed;
29 GtkContainer* emacswindow;
33 struct xwidget_type
35 /* A symbol uniquely identifying the xwidget type, */
36 Lisp_Object *type;
38 /* Check that SPEC is a valid image specification for the given
39 image type. Value is non-zero if SPEC is valid. */
40 int (* valid_p) P_ ((Lisp_Object spec));
42 /* Next in list of all supported image types. */
43 struct xwidget_type *next;
47 static INLINE struct xwidget_type *lookup_xwidget_type (Lisp_Object symbol);
51 struct xwidget* xwidget_from_id(int id);
53 extern int xwidget_owns_kbd;
55 void xwidget_start_redisplay();
56 void xwidget_end_redisplay(struct glyph_matrix* matrix);
57 void xwidget_modify_region();
59 void xwidget_touch(struct xwidget* xw);
60 void xwidget_delete(struct xwidget* xw);
61 void assert_valid_xwidget_id(int id,char *str);