]> git.decadent.org.uk Git - ion3.git/blob - ioncore/navi.h
b1ed6a0e95dbd19c8932c20bd11c90f76ade9a9d
[ion3.git] / ioncore / navi.h
1 /*
2  * ion/ioncore/navi.h
3  *
4  * Copyright (c) Tuomo Valkonen 2006-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_NAVI_H
13 #define ION_IONCORE_NAVI_H
14
15 #include "common.h"
16 #include "region.h"
17
18
19 typedef enum{
20     REGION_NAVI_ANY,
21     REGION_NAVI_BEG, /* FIRST, PREV */
22     REGION_NAVI_END, /* LAST, NEXT */
23     REGION_NAVI_LEFT,
24     REGION_NAVI_RIGHT, 
25     REGION_NAVI_TOP,
26     REGION_NAVI_BOTTOM
27 } WRegionNavi;
28
29 INTRSTRUCT(WRegionNaviData);
30
31 DYNFUN WRegion *region_navi_next(WRegion *reg, WRegion *rel, WRegionNavi nh,
32                                  WRegionNaviData *data);
33 DYNFUN WRegion *region_navi_first(WRegion *reg, WRegionNavi nh,
34                                   WRegionNaviData *data);
35
36 extern WRegion *region_navi_cont(WRegion *reg, WRegion *res, 
37                                  WRegionNaviData *data);
38
39 extern bool ioncore_string_to_navi(const char *str, WRegionNavi *nv);
40
41 extern WRegionNavi ioncore_navi_reverse(WRegionNavi nh);
42
43 extern WRegion *ioncore_goto_next(WRegion *reg, const char *dirstr, 
44                                   ExtlTab param);
45 extern WRegion *ioncore_goto_first(WRegion *reg, const char *dirstr, 
46                                    ExtlTab param);
47 extern WRegion *ioncore_navi_next(WRegion *reg, const char *dirstr, 
48                                   ExtlTab param);
49 extern WRegion *ioncore_navi_first(WRegion *reg, const char *dirstr, 
50                                    ExtlTab param);
51
52 #endif /* ION_IONCORE_NAVI_H */