diff options
author | Jaakko Keränen <jaakko.keranen@iki.fi> | 2021-03-27 14:17:33 +0200 |
---|---|---|
committer | Jaakko Keränen <jaakko.keranen@iki.fi> | 2021-03-27 14:17:33 +0200 |
commit | 2a4f5d0f67fcd1412968ef967ed3009469a46b90 (patch) | |
tree | ae18c6005ed124effeaf7d84e1bff8339f2509e0 /src/ui/util.c | |
parent | 71c258194653ab332458fe0620d300f41213603c (diff) |
Processing of double clicks
The click handling utility no longer treats double clicks as a special case. An arbitrary number of clicks is kept in a separate counter.
Diffstat (limited to 'src/ui/util.c')
-rw-r--r-- | src/ui/util.c | 9 |
1 files changed, 2 insertions, 7 deletions
diff --git a/src/ui/util.c b/src/ui/util.c index bb274996..cb9006f6 100644 --- a/src/ui/util.c +++ b/src/ui/util.c | |||
@@ -295,19 +295,14 @@ enum iClickResult processEvent_Click(iClick *d, const SDL_Event *event) { | |||
295 | return none_ClickResult; | 295 | return none_ClickResult; |
296 | } | 296 | } |
297 | const iInt2 pos = init_I2(mb->x, mb->y); | 297 | const iInt2 pos = init_I2(mb->x, mb->y); |
298 | if (event->type == SDL_MOUSEBUTTONDOWN && mb->clicks == 2) { | 298 | if (event->type == SDL_MOUSEBUTTONDOWN) { |
299 | if (contains_Widget(d->bounds, pos)) { | 299 | d->count = mb->clicks; |
300 | d->pos = pos; | ||
301 | setMouseGrab_Widget(NULL); | ||
302 | return double_ClickResult; | ||
303 | } | ||
304 | } | 300 | } |
305 | if (!d->isActive) { | 301 | if (!d->isActive) { |
306 | if (mb->state == SDL_PRESSED) { | 302 | if (mb->state == SDL_PRESSED) { |
307 | if (contains_Widget(d->bounds, pos)) { | 303 | if (contains_Widget(d->bounds, pos)) { |
308 | d->isActive = iTrue; | 304 | d->isActive = iTrue; |
309 | d->startPos = d->pos = pos; | 305 | d->startPos = d->pos = pos; |
310 | //setFlags_Widget(d->bounds, hover_WidgetFlag, iFalse); | ||
311 | setMouseGrab_Widget(d->bounds); | 306 | setMouseGrab_Widget(d->bounds); |
312 | return started_ClickResult; | 307 | return started_ClickResult; |
313 | } | 308 | } |