NONE
on-entry:
edge = none
threshold = def
EDGE_NEW
on-entry:
edge = get_edge()
set_timer()
AREA
on-entry:
edge = none
set_pointer()
release
touch
touch,
edge &= get_edge()
tp_edge_scroll_post_events()
dirty?
no
yes
current = buttons.state & 0x01
old = buttons.old_state & 0x01
button = 0
is_top = 0
notify_axis(last_axis, 0.0)
last_axis = -1
edge == right
yes
axis = scroll_vertical
delta = dy
edge == none
no
edge == bottom
yes
no
axis = scroll_horizontal
delta = dx
no
get_delta()
notify_axis(axis, delta)
last_axis = axis
emit(scroll_event_posted)
delta < threshold
yes
no
last_axis != -1
EDGE
on-entry:
threshold = 0.01
timeout ||
scroll_event_posted
yes
yes
no
yes
no
get_edge()
edge
no
yes