From 249ba7d71cd4e68085edfbed7d1e6ba2b262f07c Mon Sep 17 00:00:00 2001 From: erg Date: Fri, 20 Oct 2006 19:26:40 +0000 Subject: [PATCH] fix win32 button clicks --- library/ui/windows/ui.factor | 28 +++++----------------------- 1 file changed, 5 insertions(+), 23 deletions(-) diff --git a/library/ui/windows/ui.factor b/library/ui/windows/ui.factor index 29b01e0118..7b4246be58 100644 --- a/library/ui/windows/ui.factor +++ b/library/ui/windows/ui.factor @@ -165,35 +165,17 @@ SYMBOL: hWnd : mouse-lparam ( lParam -- seq ) [ lo-word ] keep hi-word 2array ; : mouse-wheel ( lParam -- n ) mouse-lparam [ sgn neg ] map ; -SYMBOL: last-button -SYMBOL: last-time -0 last-button set-global -0 last-time set-global - -: update-click# ( button -- ) - last-button get = [ - global [ hand-click# inc ] bind - ] [ - 1 hand-click# set-global - ] if ; - -: mouse-click ( button -- ) - millis last-time get - GetDoubleClickTime < [ - dup update-click# - ] [ - 1 hand-click# set-global - ] if - last-button set - millis last-time set ; +: win32-button-down ( button -- ) + GetDoubleClickTime dup button-down ; : mouse-event>gesture ( uMsg -- button ) key-modifiers swap { - { [ dup WM_LBUTTONDOWN = ] [ drop 1 dup mouse-click ] } + { [ dup WM_LBUTTONDOWN = ] [ drop 1 win32-button-down ] } { [ dup WM_LBUTTONUP = ] [ drop 1 ] } - { [ dup WM_MBUTTONDOWN = ] [ drop 2 dup mouse-click ] } + { [ dup WM_MBUTTONDOWN = ] [ drop 2 win32-button-down ] } { [ dup WM_MBUTTONUP = ] [ drop 2 ] } - { [ dup WM_RBUTTONDOWN = ] [ drop 3 dup mouse-click ] } + { [ dup WM_RBUTTONDOWN = ] [ drop 3 win32-button-down ] } { [ dup WM_RBUTTONUP = ] [ drop 3 ] } { [ t ] [ "bad button" throw ] } } cond ;