Commit 9fc3e596 authored by William Jon McCann's avatar William Jon McCann

range: start autoscrolling near the edges of ranges

If a range goes all the way to the edge of the screen then we don't
have any way to activate autoscrolling. By adding a small region
at the ends of the range we can handle this case. This is the same
approach used in treeviews.
parent 0280ef34
......@@ -65,6 +65,7 @@
#define TIMEOUT_REPEAT 50
#define ZOOM_HOLD_TIME 500
#define AUTOSCROLL_FACTOR 20
#define SCROLL_EDGE_SIZE 15
typedef struct _GtkRangeStepTimer GtkRangeStepTimer;
......@@ -3052,9 +3053,9 @@ update_autoscroll_mode (GtkRange *range)
pos = range->priv->mouse_x;
}
if (pos < 0)
if (pos < SCROLL_EDGE_SIZE)
mode = GTK_SCROLL_STEP_BACKWARD;
else if (pos > size)
else if (pos > (size - SCROLL_EDGE_SIZE))
mode = GTK_SCROLL_STEP_FORWARD;
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment