From: Jerome St-Louis Date: Tue, 16 Jun 2015 08:19:27 +0000 (-0400) Subject: ecere/gui/drivers/AndroidInterface: Double click support X-Git-Url: https://ecere.com/cgi-bin/gitweb.cgi?a=commitdiff_plain;ds=sidebyside;h=cf8bf755d3ca755d6fc209158dceec30c47a746e;p=sdk ecere/gui/drivers/AndroidInterface: Double click support --- diff --git a/ecere/src/gui/drivers/AndroidInterface.ec b/ecere/src/gui/drivers/AndroidInterface.ec index 8bfbea1..4e02492 100644 --- a/ecere/src/gui/drivers/AndroidInterface.ec +++ b/ecere/src/gui/drivers/AndroidInterface.ec @@ -1072,6 +1072,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) @@ -1111,9 +1112,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);