From d53e1483e3e8789248a7f4e81769edb6d9e621a2 Mon Sep 17 00:00:00 2001 From: Jerome St-Louis Date: Tue, 16 Jun 2015 04:19:27 -0400 Subject: [PATCH] ecere/gui/drivers/AndroidInterface: Double click support --- ecere/src/gui/drivers/AndroidInterface.ec | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/ecere/src/gui/drivers/AndroidInterface.ec b/ecere/src/gui/drivers/AndroidInterface.ec index d40677c..0e0acfd 100644 --- a/ecere/src/gui/drivers/AndroidInterface.ec +++ b/ecere/src/gui/drivers/AndroidInterface.ec @@ -1070,6 +1070,7 @@ class AndroidActivity : AndroidAppGlue int onInputEvent(AInputEvent* event) { + static Time lastTime = 0; Window window = guiApp.desktop; uint type = AInputEvent_getType(event); if(type == AINPUT_EVENT_TYPE_MOTION) @@ -1109,9 +1110,18 @@ class AndroidActivity : AndroidAppGlue break; */ case AMOTION_EVENT_ACTION_DOWN: + { + Time time = GetTime(); + bool result = true; + if(Abs(x - mouseX) < 40 && Abs(y - mouseY) < 40 && time - lastTime < 0.3) + if(!window.MouseMessage(__ecereVMethodID___ecereNameSpace__ecere__gui__Window_OnLeftDoubleClick, x, y, &keyFlags, false, true)) + result = false; + lastTime = time; mouseX = x, mouseY = y; - window.MouseMessage(__ecereVMethodID___ecereNameSpace__ecere__gui__Window_OnLeftButtonDown, x, y, &keyFlags, false, true); + if(result) + window.MouseMessage(__ecereVMethodID___ecereNameSpace__ecere__gui__Window_OnLeftButtonDown, x, y, &keyFlags, false, true); break; + } case AMOTION_EVENT_ACTION_UP: mouseX = x, mouseY = y; window.MouseMessage(__ecereVMethodID___ecereNameSpace__ecere__gui__Window_OnLeftButtonUp, x, y, &keyFlags, false, true); -- 1.8.3.1