]> git.decadent.org.uk Git - ion3.git/blob - ioncore/reginfo.h
Imported Upstream version 20090110
[ion3.git] / ioncore / reginfo.h
1 /*
2  * ion/ioncore/reginfo.h
3  *
4  * Copyright (c) Tuomo Valkonen 1999-2009. 
5  *
6  * See the included file LICENSE for details.
7  */
8
9 #ifndef ION_IONCORE_REGINFO_H
10 #define ION_IONCORE_REGINFO_H
11
12 #include "common.h"
13 #include <libtu/obj.h>
14 #include "region.h"
15 #include "window.h"
16 #include <libextl/extl.h>
17 #include "rectangle.h"
18
19 typedef WRegion *WRegionLoadCreateFn(WWindow *par, const WFitParams *fp,
20                                      ExtlTab tab);
21 typedef WRegion *WRegionSimpleCreateFn(WWindow *par, const WFitParams *fp);
22
23 INTRSTRUCT(WRegClassInfo);
24     
25 DECLSTRUCT(WRegClassInfo){
26     ClassDescr *descr;
27     WRegionLoadCreateFn *lc_fn;
28     WRegClassInfo *next, *prev;
29 };
30
31
32 extern bool ioncore_register_regclass(ClassDescr *descr,
33                                       WRegionLoadCreateFn *lc_fn);
34 extern void ioncore_unregister_regclass(ClassDescr *descr);
35
36 extern WRegClassInfo *ioncore_lookup_regclass(const char *name, 
37                                               bool inheriting_ok);
38
39 #endif /* ION_IONCORE_REGINFO_H */
40