Basic touch input for testing
This was SVN commit r11081.
This commit is contained in:
parent
832a51da80
commit
645a6e31be
@ -110,6 +110,41 @@ static InReaction MainInputHandler(const SDL_Event_* ev)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case SDL_FINGERDOWN:
|
||||||
|
case SDL_FINGERUP:
|
||||||
|
case SDL_FINGERMOTION:
|
||||||
|
// Map finger events onto the mouse, for basic testing
|
||||||
|
debug_printf(L"finger %s tid=%lld fid=%lld s=%d x=%d y=%d dx=%d dy=%d p=%d\n",
|
||||||
|
ev->ev.type == SDL_FINGERDOWN ? "down" :
|
||||||
|
ev->ev.type == SDL_FINGERUP ? "up" :
|
||||||
|
ev->ev.type == SDL_FINGERMOTION ? "motion" : "?",
|
||||||
|
ev->ev.tfinger.touchId, ev->ev.tfinger.fingerId, ev->ev.tfinger.state,
|
||||||
|
ev->ev.tfinger.x, ev->ev.tfinger.y, ev->ev.tfinger.dx, ev->ev.tfinger.dy, ev->ev.tfinger.pressure);
|
||||||
|
|
||||||
|
if ((ev->ev.type == SDL_FINGERDOWN || ev->ev.type == SDL_FINGERUP) && ev->ev.tfinger.fingerId == 0)
|
||||||
|
{
|
||||||
|
SDL_Event_ ev2;
|
||||||
|
ev2.ev.type = (ev->ev.type == SDL_FINGERDOWN ? SDL_MOUSEBUTTONDOWN : SDL_MOUSEBUTTONUP);
|
||||||
|
ev2.ev.button.button = SDL_BUTTON_LEFT;
|
||||||
|
ev2.ev.button.state = (ev->ev.type == SDL_FINGERDOWN ? SDL_PRESSED : SDL_RELEASED);
|
||||||
|
ev2.ev.button.x = g_xres * (ev->ev.tfinger.x/32768.0f);
|
||||||
|
ev2.ev.button.y = g_yres * (ev->ev.tfinger.y/32768.0f);
|
||||||
|
SDL_PushEvent(&ev2.ev);
|
||||||
|
}
|
||||||
|
if (ev->ev.type == SDL_FINGERMOTION && ev->ev.tfinger.fingerId == 0)
|
||||||
|
{
|
||||||
|
SDL_Event_ ev2;
|
||||||
|
ev2.ev.type = SDL_MOUSEMOTION;
|
||||||
|
ev2.ev.motion.state = 0;
|
||||||
|
ev2.ev.motion.x = g_xres * (ev->ev.tfinger.x/32768.0f);
|
||||||
|
ev2.ev.motion.y = g_yres * (ev->ev.tfinger.y/32768.0f);
|
||||||
|
ev2.ev.motion.xrel = g_xres * (ev->ev.tfinger.dx/32768.0f);
|
||||||
|
ev2.ev.motion.yrel = g_yres * (ev->ev.tfinger.dy/32768.0f);
|
||||||
|
SDL_PushEvent(&ev2.ev);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
#else
|
#else
|
||||||
case SDL_ACTIVEEVENT:
|
case SDL_ACTIVEEVENT:
|
||||||
if (ev->ev.active.state == SDL_APPMOUSEFOCUS)
|
if (ev->ev.active.state == SDL_APPMOUSEFOCUS)
|
||||||
|
Loading…
Reference in New Issue
Block a user