+ int dy = y-drag_start_y;
+ if(dy>0 && first<max_scroll)
+ {
+ int item_h = items[first]->get_geometry().h;
+ if(dy>item_h)
+ {
+ drag_start_y += item_h;
+ slider.set_value(max_scroll-(first+1));
+ }
+ }
+ else if(dy<0 && first>0)
+ {
+ int item_h = items[first-1]->get_geometry().h;
+ if(-dy>item_h)
+ {
+ drag_start_y -= item_h;
+ slider.set_value(max_scroll-(first-1));
+ }
+ }
+ }
+}