From a43d0cec7a1ab98c5264d7881c8d2752f21dc812 Mon Sep 17 00:00:00 2001 From: Daniel Silverstone Date: Wed, 20 Sep 2017 18:58:19 +0100 Subject: Add concept of browser scroll offset saving in local history --- desktop/browser_private.h | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) (limited to 'desktop/browser_private.h') diff --git a/desktop/browser_private.h b/desktop/browser_private.h index 3cdef5c89..192d22bf0 100644 --- a/desktop/browser_private.h +++ b/desktop/browser_private.h @@ -46,6 +46,8 @@ struct history_page { lwc_string *frag_id; /** Fragment identifier, or NULL. */ char *title; /**< Page title, never NULL. */ struct bitmap *bitmap; /**< Thumbnail bitmap, or NULL. */ + float scroll_x; /**< Scroll X offset when visited */ + float scroll_y; /**< Scroll Y offset when visited */ }; /** @@ -325,7 +327,7 @@ nserror browser_window_history_add(struct browser_window *bw, struct hlcache_handle *content, lwc_string *frag_id); /** - * Update the thumbnail for the current entry. + * Update the thumbnail and scroll offsets for the current entry. * * \param bw The browser window to update the history within. * \param content content for current entry @@ -334,6 +336,17 @@ nserror browser_window_history_add(struct browser_window *bw, nserror browser_window_history_update(struct browser_window *bw, struct hlcache_handle *content); +/** + * Retrieve the stored scroll offsets for the current history entry + * + * \param bw The browser window to retrieve scroll offsets for. + * \param sx Pointer to a float for the X scroll offset + * \param sy Pointer to a float for the Y scroll offset + * \return NSERROR_OK or error code on failure. + */ +nserror browser_window_history_get_scroll(struct browser_window *bw, + float *sx, float *sy); + /** * Free a history structure. * -- cgit v1.2.3