fix some more memory problems
[dana/dcompmgr.git] / window.h
index 5b0d9ae..59a8749 100644 (file)
--- a/window.h
+++ b/window.h
@@ -2,12 +2,12 @@
 #define dc__window_h
 
 #include <xcb/xcb.h>
+#include <glib.h>
 
 struct d_screen;
 
 typedef struct d_window {
     xcb_window_t     id;
-    int              ref;
     struct d_screen *sc;
 } d_window_t;
 
@@ -16,4 +16,32 @@ d_window_t* window_new(xcb_window_t id, struct d_screen *sc);
 void window_ref(d_window_t *w);
 void window_unref(d_window_t *w);
 
+void window_show(d_window_t *w);
+void window_hide(d_window_t *w);
+void window_fake_unmapped(d_window_t *w);
+
+void window_become_zombie(d_window_t *w);
+
+void window_configure(d_window_t *w, int x, int y, int width, int height,
+                      int border_width);
+void window_move(d_window_t *w);
+void window_resize(d_window_t *w);
+
+gboolean window_is_zombie(d_window_t *w);
+gboolean window_is_input_only(d_window_t *w);
+gboolean window_is_mapped(d_window_t *w);
+
+void window_get_area(d_window_t *pubw, int *x, int *y, int *width, int *height,
+                     int *border_width);
+
+xcb_pixmap_t window_get_pixmap(d_window_t *w);
+xcb_visualid_t window_get_visual(d_window_t *w);
+
+void  window_add_plugin_data(d_window_t *w, int id, void *data);
+void* window_find_plugin_data(d_window_t *w, int id);
+void  window_remove_plugin_data(d_window_t *w, int it);
+
+void window_create_damage(d_window_t *w);
+void window_destroy_damage(d_window_t *w);
+
 #endif