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