diff options
author | jcid <devnull@localhost> | 2007-10-24 22:24:01 +0200 |
---|---|---|
committer | jcid <devnull@localhost> | 2007-10-24 22:24:01 +0200 |
commit | 9c82e3b54e82bd6cd9a3541c289eaf9c5393ed63 (patch) | |
tree | f000ec305afb5a5a90f00be36e8eee94b889f7a6 /src/nav.h | |
parent | 6490b8207de848c39894ca635497a7cd941d68d4 (diff) |
Implemented a new scheme of scroll-position remembering. This is one per
visited page intead of one per url (this is more standard).
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); |