4 * Copyright (c) Tuomo Valkonen 1999-2007.
6 * Ion is free software; you can redistribute it and/or modify it under
7 * the terms of the GNU Lesser General Public License as published by
8 * the Free Software Foundation; either version 2.1 of the License, or
9 * (at your option) any later version.
12 #ifndef ION_IONCORE_ATTACH_H
13 #define ION_IONCORE_ATTACH_H
20 typedef WRegion *WRegionCreateFn(WWindow *parent,
24 typedef WRegion *WRegionAttachFn(WRegion *reg,
26 WRegionAttachData *data);
30 REGION_ATTACH_REPARENT,
36 DECLSTRUCT(WRegionAttachData){
37 WRegionAttachType type;
49 typedef bool WRegionDoAttachFn(WRegion *reg, WRegion *sub, void *param);
50 typedef bool WRegionDoAttachFnSimple(WRegion *reg, WRegion *sub);
52 extern WRegion *region_attach_helper(WRegion *mgr,
53 WWindow *par, const WFitParams *fp,
54 WRegionDoAttachFn *fn, void *fn_param,
55 const WRegionAttachData *data);
57 extern bool region_ancestor_check(WRegion *dst, WRegion *reg);
59 extern void region_postdetach_dispose(WRegion *reg, WRegion *disposeroot);
62 #endif /* ION_IONCORE_ATTACH_H */