From 84cd33357ab304434063766cfa3bcbb4778327d2 Mon Sep 17 00:00:00 2001 From: Slava Pestov Date: Wed, 10 Oct 2007 02:16:42 -0400 Subject: [PATCH] Add horizontal scroll support --- extra/ui/x11/x11.factor | 8 ++++++-- extra/x11/events/events.factor | 2 +- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/extra/ui/x11/x11.factor b/extra/ui/x11/x11.factor index 87ed6d2852..c9b23e10e3 100644 --- a/extra/ui/x11/x11.factor +++ b/extra/ui/x11/x11.factor @@ -93,8 +93,12 @@ M: world button-up-event send-button-up ; : mouse-event>scroll-direction ( event -- pair ) - #! Reminder for myself: 4 is up, 5 is down - XButtonEvent-button 5 = 1 -1 ? 0 swap 2array ; + XButtonEvent-button { + { 4 { 0 -1 } } + { 5 { 0 1 } } + { 6 { -1 0 } } + { 7 { 1 0 } } + } at ; M: world wheel-event >r dup mouse-event>scroll-direction swap mouse-event-loc r> diff --git a/extra/x11/events/events.factor b/extra/x11/events/events.factor index 05b3318f4f..f40392891c 100644 --- a/extra/x11/events/events.factor +++ b/extra/x11/events/events.factor @@ -42,7 +42,7 @@ GENERIC: client-event ( event window -- ) : events-queued ( mode -- n ) >r dpy get r> XEventsQueued ; -: wheel? ( event -- ? ) XButtonEvent-button { 4 5 } member? ; +: wheel? ( event -- ? ) XButtonEvent-button 4 7 between? ; : button-down-event$ ( event window -- ) over wheel? [ wheel-event ] [ button-down-event ] if ;