2 * ion/ioncore/framedpholder.h
4 * Copyright (c) Tuomo Valkonen 2005-2009.
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){
39 extern WFramedPHolder *create_framedpholder(WPHolder *cont,
40 const WFramedParam *param);
42 extern bool framedpholder_init(WFramedPHolder *ph, WPHolder *cont,
43 const WFramedParam *param);
45 extern void framedpholder_deinit(WFramedPHolder *ph);
47 extern bool framedpholder_do_goto(WFramedPHolder *ph);
49 extern bool framedpholder_stale(WFramedPHolder *ph);
51 extern WRegion *framedpholder_do_target(WFramedPHolder *ph);
53 extern WRegion *framedpholder_do_attach(WFramedPHolder *ph, int flags,
54 WRegionAttachData *data);
56 extern WRegion *region_attach_framed(WRegion *reg, WFramedParam *param,
57 WRegionAttachFn *fn, void *fn_param,
58 WRegionAttachData *data);
60 extern void frame_adjust_to_initial(WFrame *frame, const WFitParams *fp,
61 const WFramedParam *param, WRegion *reg);
63 #endif /* ION_IONCORE_FRAMEDPHOLDER_H */