diff options
author | Vincent Sanders <vince@kyllikki.org> | 2017-04-26 22:28:41 +0100 |
---|---|---|
committer | Vincent Sanders <vince@kyllikki.org> | 2017-04-26 22:28:41 +0100 |
commit | 87ed0904e0dd1fec1b204f64db760aa65fad2cd6 (patch) | |
tree | 1bd62daa3a4c4ca40d9af3057765b567e6e32745 /frontends/amiga/gui.c | |
parent | 7bbf2a9ca0cd418f64b001b87f77c779433119fe (diff) | |
parent | 5fba1fb94d875a849d3c9092943406b7cab4d27a (diff) | |
download | netsurf-87ed0904e0dd1fec1b204f64db760aa65fad2cd6.tar.gz netsurf-87ed0904e0dd1fec1b204f64db760aa65fad2cd6.tar.bz2 |
Merge branch 'vince/scroll-api'
Diffstat (limited to 'frontends/amiga/gui.c')
-rw-r--r-- | frontends/amiga/gui.c | 21 |
1 files changed, 18 insertions, 3 deletions
diff --git a/frontends/amiga/gui.c b/frontends/amiga/gui.c index bf3102ac7..18816c496 100644 --- a/frontends/amiga/gui.c +++ b/frontends/amiga/gui.c @@ -4970,13 +4970,28 @@ static bool gui_window_get_scroll(struct gui_window *g, int *restrict sx, int *r return true; } -static void gui_window_set_scroll(struct gui_window *g, int sx, int sy) +/** + * Set the scroll position of a amiga browser window. + * + * Scrolls the viewport to ensure the specified rectangle of the + * content is shown. The amiga implementation scrolls the contents so + * the specified point in the content is at the top of the viewport. + * + * \param gw gui_window to scroll + * \param rect The rectangle to ensure is shown. + * \return NSERROR_OK on success or apropriate error code. + */ +static nserror gui_window_set_scroll(struct gui_window *g, const struct rect *rect) { struct IBox *bbox; int width, height; + nserror res; - if(!g) return; - if(!g->bw || browser_window_has_content(g->bw) == false) return; + if(!g) { + return NSERROR_BAD_PARAMETER; + } + if(!g->bw || + browser_window_has_content(g->bw) == false) return; if(ami_gui_get_space_box((Object *)g->shared->objects[GID_BROWSER], &bbox) != NSERROR_OK) { amiga_warn_user("NoMemory", ""); |