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 */