From f984873799b30f5bad45f58e456f6f5e8c384c16 Mon Sep 17 00:00:00 2001 From: Michael Drake Date: Fri, 2 Aug 2019 22:12:03 +0100 Subject: RISC OS: Attempt to implement ro_cw_scroll_visible(). Untested. --- frontends/riscos/corewindow.c | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) (limited to 'frontends') diff --git a/frontends/riscos/corewindow.c b/frontends/riscos/corewindow.c index 84177aa90..ecd2df221 100644 --- a/frontends/riscos/corewindow.c +++ b/frontends/riscos/corewindow.c @@ -45,6 +45,7 @@ #include "riscos/window.h" #include "riscos/toolbar.h" #include "riscos/mouse.h" +#include "riscos/wimputils.h" #include "riscos/corewindow.h" #ifndef wimp_KEY_END @@ -832,7 +833,23 @@ ro_cw_update_size(struct core_window *cw, int width, int height) static void ro_cw_scroll_visible(struct core_window *cw, const struct rect *r) { - //struct ro_corewindow *ro_cw = (struct ro_corewindow *)cw; + struct ro_corewindow *ro_cw = (struct ro_corewindow *)cw; + wimp_window_state state = { + .w = ro_cw->wh, + }; + os_error *error; + + error = xwimp_get_window_state(&state); + if (error) { + NSLOG(netsurf, ERROR, "xwimp_get_window_state: 0x%x: %s", + error->errnum, error->errmess); + return; + } + + state.xscroll = r->x0 * 2; + state.yscroll = r->y0 * 2; + + ro_cw_open(PTR_WIMP_OPEN(&state)); } -- cgit v1.2.3