forked from AuroraMiddleware/gtk
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.
This commit is contained in:
parent
0280ef3413
commit
9fc3e59673
@ -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;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user