diff options
Diffstat (limited to 'src/nav.h')
-rw-r--r-- | src/nav.h | 22 |
1 files changed, 18 insertions, 4 deletions
@@ -3,10 +3,22 @@ #include "bw.h" - -/* useful macros for the navigation stack */ -#define NAV_IDX(bw, i) (bw)->nav_stack[i] -#define NAV_TOP(bw) (bw)->nav_stack[(bw)->nav_stack_ptr] +/* + * useful macros for the navigation stack + */ +#define NAV_UIDX(bw, i) a_Nav_get_uidx(bw, i) +#define NAV_TOP_UIDX(bw) a_Nav_get_top_uidx(bw) + +/* + * For back and forward navigation, each bw keeps an url index, + * and its scroll position. + */ +typedef struct _nav_stack_item nav_stack_item; +struct _nav_stack_item +{ + int url_idx; + int posx, posy; +}; #ifdef __cplusplus @@ -26,6 +38,8 @@ void a_Nav_cancel_expect (BrowserWindow *bw); void a_Nav_expect_done(BrowserWindow *bw); int a_Nav_stack_ptr(BrowserWindow *bw); int a_Nav_stack_size(BrowserWindow *bw); +int a_Nav_get_uidx(BrowserWindow *bw, int i); +int a_Nav_get_top_uidx(BrowserWindow *bw); void a_Nav_save_url(BrowserWindow *bw, const DilloUrl *url, const char *filename); |