ignore double click
author"Luc Saillard <luc@saillard.org>"
Mon Jun 09 16:55:56 2008 +0200 (2 months ago)
changeset 377ca5516afe5ca
parent 376619123de2bad
child 3782cb799324ee0
ignore double click
easy3d/easy3d_planet.cpp
--- a/easy3d/easy3d_planet.cpp Fri May 23 17:43:41 2008 +0200
+++ b/easy3d/easy3d_planet.cpp Mon Jun 09 16:55:56 2008 +0200
@@ -351,6 +351,7 @@ void ScenePlanet::manageClick()
void ScenePlanet::handleEvent(std::vector<SDL_Event>& _events)
{
+ static time_t last_click_time = 0;
bool clicked = false;
for (std::vector<SDL_Event>::iterator it=_events.begin(); it != _events.end(); it++) {
@@ -359,12 +360,17 @@ void ScenePlanet::handleEvent(std::vecto
if (isActiveState())
load();
} else if (evt.type == SDL_MOUSEBUTTONDOWN) {
- if (!clicked) {
- manageClick();
- clicked = true;
- }
+ clicked = true;
}
}
+
+ if (clicked)
+ { /* we have a precision of two seconds (should be enough to start application) */
+ time_t current_time = time(NULL);
+ if (current_time > last_click_time+5)
+ manageClick();
+ last_click_time = time(NULL);
+ }
easy3d::Controller::handleEvent(_events);
}