]> git.draconx.ca Git - aspectbin.git/blob - aspectbin.h
Add separate align properties for the body and side.
[aspectbin.git] / aspectbin.h
1 #ifndef ASPECTBIN_H_
2 #define ASPECTBIN_H_
3
4 #include <gtk/gtk.h>
5
6 #define ASPECT_BIN_TYPE (aspect_bin_get_type())
7 #define ASPECT_BIN(obj) GTK_CHECK_CAST((obj), ASPECT_BIN_TYPE, AspectBin)
8 #define ASPECT_BIN_CLASS(class) \
9         GTK_CHECK_CLASS_CAST((class), ASPECT_BIN_TYPE, AspectBinClass)
10 #define IS_ASPECT_BIN(obj) GTK_CHECK_TYPE((obj), ASPECT_BIN_TYPE)
11 #define IS_ASPECT_BIN_CLASS(class) \
12         GTK_CHECK_CLASS_TYPE((class), ASPECT_BIN_TYPE, AspectBinClass)
13
14 typedef struct AspectBin      AspectBin;
15 typedef struct AspectBinClass AspectBinClass;
16
17 struct AspectBin {
18         GtkContainer parent;
19
20         GtkWidget *body, *side;
21         gfloat     body_align, side_align;
22         gfloat     ratio;
23
24         gboolean   constrain;
25         gboolean   fill;
26 };
27
28 struct AspectBinClass {
29         GtkBinClass parent_class;
30 };
31
32 GType aspect_bin_get_type(void);
33 GtkWidget *aspect_bin_new(void);
34 void aspect_bin_set_body(AspectBin *, GtkWidget *, gfloat);
35 void aspect_bin_set_side(AspectBin *, GtkWidget *);
36 GtkWidget *aspect_bin_get_body(AspectBin *abin);
37 GtkWidget *aspect_bin_get_side(AspectBin *abin);
38
39 #endif