From: Brad A. <br...@us...> - 2012-09-28 20:12:12
|
gemrb: Infinity Engine emulator The branch master has been updated via e556aab8ba17b6a2c4cceff13e722bdf2138b165 (commit) Summary of changes: gemrb/plugins/SDLVideo/SDL20Video.cpp | 12 ++++++++++++ 1 files changed, 12 insertions(+), 0 deletions(-) from e24e0bd22a0961d5df9761e4f7750f8f0f93e5fe (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- http://gemrb.git.sourceforge.net/git/gitweb.cgi?p=gemrb/gemrb;a=commitdiff;h=e556aab8ba17b6a2c4cceff13e722bdf2138b165 commit e556aab8ba17b6a2c4cceff13e722bdf2138b165 Author: Brad Allred <bra...@me...> Date: Fri Sep 28 14:07:46 2012 -0600 TouchInput: fix case where there are simultaneous firstFingerDown events in the event that multiple fingers cause the initial finger down event we need to pick one to be the firstFingerDown. I dont know how likely this is outside the simulator. diff --git a/gemrb/plugins/SDLVideo/SDL20Video.cpp b/gemrb/plugins/SDLVideo/SDL20Video.cpp index bb40a18..15de6e9 100644 --- a/gemrb/plugins/SDLVideo/SDL20Video.cpp +++ b/gemrb/plugins/SDLVideo/SDL20Video.cpp @@ -364,6 +364,18 @@ int SDL20VideoDriver::ProcessEvent(const SDL_Event & event) yOffset = ((h - backBuf->h) / 2) * -1; } #endif + if (event.type == SDL_FINGERDOWN && numFingers > 1 && firstFingerDown.fingerId == 0) { + // this is a rare case where multiple fingers touch simultaniously (within the same tick) + // TODO: this is probably simulator only. if so lets ifdef it for the simulator + + firstFingerDown.timestamp = GetTickCount(); + firstFingerDown.x = (state->fingers[0]->x / xScaleFactor) + xOffset; + firstFingerDown.y = (state->fingers[0]->y / yScaleFactor) + yOffset; + firstFingerDown.dx = state->fingers[0]->xdelta / xScaleFactor; + firstFingerDown.dy = state->fingers[0]->ydelta / yScaleFactor; + firstFingerDown.fingerId = state->fingers[0]->id; + firstFingerDown.pressure = state->fingers[0]->pressure; + } } bool ConsolePopped = core->ConsolePopped; ----------------------------------------------------------------------- This is an automated email from the git hooks/post-receive script. -- gemrb: Infinity Engine emulator |