2 * ion/ioncore/framedpholder.h
4 * Copyright (c) Tuomo Valkonen 2005-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_FRAMEDPHOLDER_H
13 #define ION_IONCORE_FRAMEDPHOLDER_H
21 #define FRAMEDPARAM_INIT {0, 0, {0, 0, 0, 0}, FRAME_MODE_FLOATING /*, NULL*/}
23 INTRSTRUCT(WFramedParam);
25 DECLSTRUCT(WFramedParam){
26 uint inner_geom_gravity_set:1;
28 WRectangle inner_geom;
30 /*WRegionSimpleCreateFn *mkframe;*/
34 DECLCLASS(WFramedPHolder){
41 extern WFramedPHolder *create_framedpholder(WPHolder *cont,
42 const WFramedParam *param);
44 extern bool framedpholder_init(WFramedPHolder *ph, WPHolder *cont,
45 const WFramedParam *param);
47 extern void framedpholder_deinit(WFramedPHolder *ph);
49 extern bool framedpholder_do_goto(WFramedPHolder *ph);
51 extern WPHolder *framedpholder_do_root(WFramedPHolder *ph);
53 extern WRegion *framedpholder_do_target(WFramedPHolder *ph);
55 extern WRegion *framedpholder_do_attach(WFramedPHolder *ph, int flags,
56 WRegionAttachData *data);
58 extern WRegion *region_attach_framed(WRegion *reg, WFramedParam *param,
59 WRegionAttachFn *fn, void *fn_param,
60 WRegionAttachData *data);
62 extern void frame_adjust_to_initial(WFrame *frame, const WFitParams *fp,
63 const WFramedParam *param, WRegion *reg);
65 #endif /* ION_IONCORE_FRAMEDPHOLDER_H */