5 #include <xcb/xfixes.h>
10 typedef struct d_window {
16 DC_WINDOW_TYPE_INVALID,
17 DC_WINDOW_TYPE_NORMAL,
18 DC_WINDOW_TYPE_DESKTOP,
20 DC_WINDOW_TYPE_DIALOG,
21 DC_WINDOW_TYPE_TOOLBAR,
23 DC_WINDOW_TYPE_UTILITY,
24 DC_WINDOW_TYPE_SPLASH,
25 DC_WINDOW_TYPE_DROPDOWN_MENU,
26 DC_WINDOW_TYPE_POPUP_MENU,
27 DC_WINDOW_TYPE_TOOLTIP,
28 DC_WINDOW_TYPE_NOTIFICATION,
33 d_window_t* window_new(xcb_window_t id, struct d_screen *sc);
35 void window_ref(d_window_t *w);
36 void window_unref(d_window_t *w);
38 void window_show(d_window_t *w);
39 void window_hide(d_window_t *w);
40 void window_fake_unmapped(d_window_t *w);
42 void window_become_zombie(d_window_t *w);
44 void window_configure(d_window_t *w, int x, int y, int width, int height,
46 void window_move(d_window_t *w);
47 void window_resize(d_window_t *w);
48 void window_reshape(d_window_t *w);
50 gboolean window_is_zombie(d_window_t *w);
51 gboolean window_is_input_only(d_window_t *w);
52 gboolean window_is_mapped(d_window_t *w);
53 gboolean window_is_attr_mapped(d_window_t *w);
54 gboolean window_is_argb(d_window_t *w);
56 void window_get_area(d_window_t *pubw, int *x, int *y, int *width, int *height,
59 xcb_pixmap_t window_get_pixmap(d_window_t *w);
60 xcb_visualid_t window_get_visual(d_window_t *w);
61 xcb_xfixes_region_t window_get_region(d_window_t *w);
63 void window_add_plugin_data(d_window_t *w, int id, void *data);
64 void* window_find_plugin_data(d_window_t *w, int id);
65 void window_remove_plugin_data(d_window_t *w, int it);
67 void window_create_damage(d_window_t *w);
68 void window_destroy_damage(d_window_t *w);
70 d_window_type_t window_get_type(d_window_t *w);