xref: /vim-8.2.3635/src/gui_gtk_f.h (revision 2bf24176)
1 /* vi:set ts=8 sts=4 sw=4:
2  *
3  * VIM - Vi IMproved		by Bram Moolenaar
4  *
5  * Do ":help uganda"  in Vim to read copying and usage conditions.
6  * Do ":help credits" in Vim to see a list of people who contributed.
7  */
8 
9 #ifndef __GTK_FORM_H__
10 #define __GTK_FORM_H__
11 
12 #include <gdk/gdk.h>
13 #include <gtk/gtkcontainer.h>
14 
15 
16 #ifdef __cplusplus
17 extern "C" {
18 #endif
19 
20 #define GTK_TYPE_FORM		       (gtk_form_get_type ())
21 #define GTK_FORM(obj)		       (GTK_CHECK_CAST ((obj), GTK_TYPE_FORM, GtkForm))
22 #define GTK_FORM_CLASS(klass)	       (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_FORM, GtkFormClass))
23 #define GTK_IS_FORM(obj)	       (GTK_CHECK_TYPE ((obj), GTK_TYPE_FORM))
24 #define GTK_IS_FORM_CLASS(klass)       (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_FORM))
25 
26 
27 typedef struct _GtkForm GtkForm;
28 typedef struct _GtkFormClass GtkFormClass;
29 
30 struct _GtkForm
31 {
32     GtkContainer container;
33 
34     GList *children;
35 
36     guint width;
37     guint height;
38 
39     GdkWindow *bin_window;
40 
41     GdkVisibilityState visibility;
42     gulong configure_serial;
43 
44     gint freeze_count;
45 };
46 
47 struct _GtkFormClass
48 {
49     GtkContainerClass parent_class;
50 };
51 
52 GtkType gtk_form_get_type(void);
53 
54 GtkWidget *gtk_form_new(void);
55 
56 void gtk_form_put(GtkForm * form, GtkWidget * widget,
57 	gint x, gint y);
58 
59 void gtk_form_move(GtkForm *form, GtkWidget * widget,
60 	gint x, gint y);
61 
62 void gtk_form_move_resize(GtkForm * form, GtkWidget * widget,
63 	gint x, gint y,
64 	gint w, gint h);
65 
66 /* These disable and enable moving and repainting respectively.  If you
67  * want to update the layout's offsets but do not want it to repaint
68  * itself, you should use these functions.
69  */
70 
71 void gtk_form_freeze(GtkForm *form);
72 void gtk_form_thaw(GtkForm *form);
73 
74 
75 #ifdef __cplusplus
76 }
77 #endif
78 #endif	/* __GTK_FORM_H__ */
79