c0484cb86cd4de669f95eb4bf5d7063fd7e461c2
[dana/dcompmgr.git] / window.h
1 #ifndef dc__window_h
2 #define dc__window_h
3
4 #include <xcb/xcb.h>
5 #include <glib.h>
6
7 struct d_screen;
8
9 #define WINDOW_OPACITY_MAX 100
10 #define WINDOW_OPACITY_MIN 0
11
12 typedef struct d_window {
13     xcb_window_t     id;
14     struct d_screen *sc;
15 } d_window_t;
16
17 d_window_t* window_new(xcb_window_t id, struct d_screen *sc);
18
19 void window_ref(d_window_t *w);
20 void window_unref(d_window_t *w);
21
22 void window_show(d_window_t *w);
23 void window_hide(d_window_t *w);
24
25 void window_become_zombie(d_window_t *w);
26
27 gboolean window_is_zombie(d_window_t *w);
28 gboolean window_is_input_only(d_window_t *w);
29 gboolean window_is_mapped(d_window_t *w);
30
31 void window_get_area(d_window_t *w, int *x, int *y, int *width, int *height);
32
33 xcb_pixmap_t window_get_pixmap(d_window_t *w);
34
35 #endif