diff options
author | Daniel Silverstone <dsilvers@netsurf-browser.org> | 2007-06-15 08:14:55 +0000 |
---|---|---|
committer | Daniel Silverstone <dsilvers@netsurf-browser.org> | 2007-06-15 08:14:55 +0000 |
commit | 79d6aca7e0fc1635be0bbac5ec64a65df20027bd (patch) | |
tree | a8479201b06888497edc420528476e3b669c7c2f | |
parent | 92fd7ff871f810b509a1f43863dd9d084db10c16 (diff) | |
download | netsurf-79d6aca7e0fc1635be0bbac5ec64a65df20027bd.tar.gz netsurf-79d6aca7e0fc1635be0bbac5ec64a65df20027bd.tar.bz2 |
Make sure the GTK frontend can get and set scroll position
svn path=/trunk/netsurf/; revision=3345
-rw-r--r-- | gtk/gtk_window.c | 22 |
1 files changed, 18 insertions, 4 deletions
diff --git a/gtk/gtk_window.c b/gtk/gtk_window.c index 638df28dc..b1ed0f731 100644 --- a/gtk/gtk_window.c +++ b/gtk/gtk_window.c @@ -594,14 +594,28 @@ void gui_window_update_box(struct gui_window *g, bool gui_window_get_scroll(struct gui_window *g, int *sx, int *sy) { - *sx = 0; - *sy = 0; - return true; + GtkAdjustment *vadj = gtk_viewport_get_vadjustment(g->viewport); + GtkAdjustment *hadj = gtk_viewport_get_hadjustment(g->viewport); + + assert(vadj); + assert(hadj); + + *sy = (int)(gtk_adjustment_get_value(vadj)); + *sx = (int)(gtk_adjustment_get_value(hadj)); + + return true; } void gui_window_set_scroll(struct gui_window *g, int sx, int sy) { - + GtkAdjustment *vadj = gtk_viewport_get_vadjustment(g->viewport); + GtkAdjustment *hadj = gtk_viewport_get_hadjustment(g->viewport); + + assert(vadj); + assert(hadj); + + gtk_adjustment_set_value(vadj, (double)sy); + gtk_adjustment_set_value(hadj, (double)sx); } float gui_window_get_scale(struct gui_window *g) |