X-Git-Url: https://git.decadent.org.uk/gitweb/?p=ion3.git;a=blobdiff_plain;f=ioncore%2Fregion.h;fp=ioncore%2Fregion.h;h=33baf48e3d115e37ea23c6dae0be502e06f53617;hp=d30b4359536f61866161413a78e2d1556018b42c;hb=de22e45179cb3bafa490294d31d47f361047a30a;hpb=803afbc1cd633f6c025bcd9537e9b7e9aedadd0d diff --git a/ioncore/region.h b/ioncore/region.h index d30b435..33baf48 100644 --- a/ioncore/region.h +++ b/ioncore/region.h @@ -131,17 +131,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 +174,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 +193,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);