page = min(page, adj.get_upper() - val);
} else if (ev->x < 0) {
/* on zoom out increase the page size as well as moving the range towards the mouse pos*/
- zoom = abs(ev->x);
+ /*zoom = abs(ev->x);
- /*double higher = unzoomed_val + unzoomed_page - half_min_page - val_at_pointer;
+ double higher = unzoomed_val + unzoomed_page - half_min_page - val_at_pointer;
double lower = val_at_pointer - (unzoomed_val + half_min_page);
higher *= zoom / 128;
{
switch (ev->direction) {
case GDK_SCROLL_UP:
- adj.set_value (adj.get_value() + adj.get_page_size() / 10.0);
+ adj.set_value (min (adj.get_value() + adj.get_page_size() / 10.0, adj.get_upper() - adj.get_page_size()));
break;
case GDK_SCROLL_DOWN:
adj.set_value (adj.get_value() - adj.get_page_size() / 10.0);