Added horizontal scrolling support

--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%402428
This commit is contained in:
Sam Lantinga 2007-07-06 09:22:18 +00:00
parent e33ee1a0e2
commit 43e5d2b938
7 changed files with 41 additions and 20 deletions

View file

@ -256,25 +256,42 @@ SDL_CompatEventFilter(void *userdata, SDL_Event * event)
SDL_GetMouseState(&x, &y);
SDL_SelectMouse(selected);
if (event->wheel.motion > 0) {
button = SDL_BUTTON_WHEELUP;
} else {
button = SDL_BUTTON_WHEELDOWN;
}
fake.button.which = event->wheel.windowID;
fake.button.button = button;
fake.button.x = x;
fake.button.y = y;
fake.button.windowID = event->wheel.windowID;
fake.type = SDL_MOUSEBUTTONDOWN;
fake.button.state = SDL_PRESSED;
SDL_PushEvent(&fake);
if (event->wheel.y) {
if (event->wheel.y > 0) {
fake.button.button = SDL_BUTTON_WHEELUP;
} else {
fake.button.button = SDL_BUTTON_WHEELDOWN;
}
fake.type = SDL_MOUSEBUTTONDOWN;
fake.button.state = SDL_PRESSED;
SDL_PushEvent(&fake);
fake.type = SDL_MOUSEBUTTONUP;
fake.button.state = SDL_RELEASED;
SDL_PushEvent(&fake);
}
if (event->wheel.x) {
if (event->wheel.y > 0) {
fake.button.button = SDL_BUTTON_WHEELLEFT;
} else {
fake.button.button = SDL_BUTTON_WHEELRIGHT;
}
fake.type = SDL_MOUSEBUTTONDOWN;
fake.button.state = SDL_PRESSED;
SDL_PushEvent(&fake);
fake.type = SDL_MOUSEBUTTONUP;
fake.button.state = SDL_RELEASED;
SDL_PushEvent(&fake);
}
fake.type = SDL_MOUSEBUTTONUP;
fake.button.state = SDL_RELEASED;
SDL_PushEvent(&fake);
break;
}