2 * ion/ioncore/framedpholder.h
4 * Copyright (c) Tuomo Valkonen 2005-2007.
6 * See the included file LICENSE for details.
9 #ifndef ION_IONCORE_FRAMEDPHOLDER_H
10 #define ION_IONCORE_FRAMEDPHOLDER_H
18 #define FRAMEDPARAM_INIT {0, 0, {0, 0, 0, 0}, FRAME_MODE_FLOATING /*, NULL*/}
20 INTRSTRUCT(WFramedParam);
22 DECLSTRUCT(WFramedParam){
23 uint inner_geom_gravity_set:1;
25 WRectangle inner_geom;
27 /*WRegionSimpleCreateFn *mkframe;*/
31 DECLCLASS(WFramedPHolder){
38 extern WFramedPHolder *create_framedpholder(WPHolder *cont,
39 const WFramedParam *param);
41 extern bool framedpholder_init(WFramedPHolder *ph, WPHolder *cont,
42 const WFramedParam *param);
44 extern void framedpholder_deinit(WFramedPHolder *ph);
46 extern bool framedpholder_do_goto(WFramedPHolder *ph);
48 extern WPHolder *framedpholder_do_root(WFramedPHolder *ph);
50 extern WRegion *framedpholder_do_target(WFramedPHolder *ph);
52 extern WRegion *framedpholder_do_attach(WFramedPHolder *ph, int flags,
53 WRegionAttachData *data);
55 extern WRegion *region_attach_framed(WRegion *reg, WFramedParam *param,
56 WRegionAttachFn *fn, void *fn_param,
57 WRegionAttachData *data);
59 extern void frame_adjust_to_initial(WFrame *frame, const WFitParams *fp,
60 const WFramedParam *param, WRegion *reg);
62 #endif /* ION_IONCORE_FRAMEDPHOLDER_H */