Fixed bug #382
Added horizontal scrolling support --HG-- extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%402428
This commit is contained in:
parent
e33ee1a0e2
commit
43e5d2b938
7 changed files with 41 additions and 20 deletions
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue