]> git.decadent.org.uk Git - ion3.git/blob - ioncore/grouppholder.h
[svn-upgrade] Integrating new upstream version, ion3 (20070506)
[ion3.git] / ioncore / grouppholder.h
1 /*
2  * ion/ioncore/grouppholder.h
3  *
4  * Copyright (c) Tuomo Valkonen 2005-2007. 
5  *
6  * See the included file LICENSE for details.
7  */
8
9 #ifndef ION_IONCORE_GROUPPHOLDER_H
10 #define ION_IONCORE_GROUPPHOLDER_H
11
12 #include <ioncore/common.h>
13 #include <ioncore/pholder.h>
14 #include "group.h"
15
16 INTRCLASS(WGroupPHolder);
17
18 DECLCLASS(WGroupPHolder){
19     WPHolder ph;
20     Watch group_watch;
21     Watch stack_above_watch;
22     WGroupAttachParams param;
23 };
24
25 extern WGroupPHolder *create_grouppholder(WGroup *group, 
26                                           const WStacking *either_st,
27                                           const WGroupAttachParams *or_param);
28
29 extern bool grouppholder_init(WGroupPHolder *ph, 
30                               WGroup *group,
31                               const WStacking *either_st,
32                               const WGroupAttachParams *or_param);
33
34 extern void grouppholder_deinit(WGroupPHolder *ph);
35
36 extern bool grouppholder_do_goto(WGroupPHolder *ph);
37
38 extern WRegion *grouppholder_do_target(WGroupPHolder *ph);
39
40 extern WRegion *grouppholder_do_attach(WGroupPHolder *ph, int flags, 
41                                        WRegionAttachData *data);
42
43 extern WGroupPHolder *group_managed_get_pholder(WGroup *group, 
44                                                 WRegion *mgd);
45
46 #endif /* ION_IONCORE_GROUPPHOLDER_H */