]> git.decadent.org.uk Git - ion3.git/blobdiff - ioncore/region.h
Imported Upstream version 20090110
[ion3.git] / ioncore / region.h
index d30b4359536f61866161413a78e2d1556018b42c..ea4e5d54410390aa54a9edbfd79d8be50026f547 100644 (file)
@@ -1,12 +1,9 @@
 /*
  * ion/ioncore/region.h
  *
- * Copyright (c) Tuomo Valkonen 1999-2007
+ * Copyright (c) Tuomo Valkonen 1999-2009
  *
- * Ion is free software; you can redistribute it and/or modify it under
- * the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or
- * (at your option) any later version.
+ * See the included file LICENSE for details.
  */
 
 #ifndef ION_IONCORE_REGION_H
@@ -131,17 +128,17 @@ DYNFUN Window region_xwindow(const WRegion *reg);
 DYNFUN void region_activated(WRegion *reg);
 DYNFUN void region_inactivated(WRegion *reg);
 DYNFUN void region_updategr(WRegion *reg);
-DYNFUN bool region_rqclose(WRegion *reg, bool relocate);
+DYNFUN void region_rqclose(WRegion *reg, bool relocate);
 DYNFUN WRegion *region_rqclose_propagate(WRegion *reg, WRegion *maybe_sub);
 DYNFUN WRegion *region_current(WRegion *mgr);
 DYNFUN void region_notify_rootpos(WRegion *reg, int x, int y);
-DYNFUN bool region_may_destroy(WRegion *reg);
+DYNFUN bool region_may_dispose(WRegion *reg);
 DYNFUN WRegion *region_managed_control_focus(WRegion *mgr, WRegion *reg);
 DYNFUN void region_managed_remove(WRegion *reg, WRegion *sub);
 DYNFUN bool region_managed_prepare_focus(WRegion *reg, WRegion *sub, 
                                          int flags, WPrepareFocusResult *res);
 DYNFUN void region_managed_notify(WRegion *reg, WRegion *sub, WRegionNotify how);
-DYNFUN bool region_managed_may_destroy(WRegion *mgr, WRegion *reg);
+DYNFUN WRegion *region_managed_disposeroot(WRegion *mgr, WRegion *reg);
 DYNFUN bool region_managed_rqorder(WRegion *reg, WRegion *sub, 
                                    WRegionOrder order);
 
@@ -174,8 +171,11 @@ extern bool region_is_fully_mapped(WRegion *reg);
 
 extern void region_detach_manager(WRegion *reg);
 
-extern void region_dispose(WRegion *reg, bool was_mcf);
-extern void region_dispose_(WRegion *reg);
+extern WRegion *region_disposeroot(WRegion *reg);
+
+extern bool region_dispose(WRegion *reg);
+extern bool region_rqdispose(WRegion *reg);
+extern void region_defer_rqdispose(WRegion *reg);
 
 extern WWindow *region_parent(WRegion *reg);
 extern WRegion *region_manager(WRegion *reg);
@@ -190,8 +190,6 @@ extern Window region_root_of(const WRegion *reg);
 extern WScreen *region_screen_of(WRegion *reg);
 extern bool region_same_rootwin(const WRegion *reg1, const WRegion *reg2);
 
-extern bool region_manager_allows_destroying(WRegion *reg);
-
 extern WRegion *region_managed_within(WRegion *reg, WRegion *mgd);
 
 extern void region_set_manager_pseudoactivity(WRegion *reg);