inc(clicks);
if(clicks == 2,
set(clicks,0);
stopdelayedcall(doubleclickdetector);
if((((mouse.x-downx)^2 + (mouse.y-downy)^2)^0.5) LT (device.touch ? 10 : 2),
ondoubleclick();
,
onsingleclick();
onsingleclick();
);
,
copy(downx, mouse.x);
copy(downy, mouse.y);
delayedcall(doubleclickdetector, 0.3,
set(clicks,0);
onsingleclick();
);
);