Bug 4581: move tracking appart so it doesn't require the window to have focus

Sylvain Becker 2019-04-06 21:43:16 +02:00
parent a46af76b07
commit a1a9fd50c6
1 changed files with 11 additions and 4 deletions

View File

@ -257,19 +257,26 @@ SDL_SendTouch(SDL_TouchID id, SDL_FingerID fingerid,
if (finger_touching == SDL_FALSE) {
int pos_x = (int)(x * (float)window->w);
int pos_y = (int)(y * (float)window->h);
finger_touching = SDL_TRUE;
track_touchid = id;
track_fingerid = fingerid;
SDL_SendMouseMotion(window, SDL_TOUCH_MOUSEID, 0, pos_x, pos_y);
SDL_SendMouseButton(window, SDL_TOUCH_MOUSEID, SDL_PRESSED, SDL_BUTTON_LEFT);
}
} else {
if (finger_touching == SDL_TRUE && track_touchid == id && track_fingerid == fingerid) {
SDL_SendMouseButton(window, SDL_TOUCH_MOUSEID, SDL_RELEASED, SDL_BUTTON_LEFT);
finger_touching = SDL_FALSE;
}
}
}
if (down) {
if (finger_touching == SDL_FALSE) {
finger_touching = SDL_TRUE;
track_touchid = id;
track_fingerid = fingerid;
}
} else {
if (finger_touching == SDL_TRUE && track_touchid == id && track_fingerid == fingerid) {
finger_touching = SDL_FALSE;
}
}
}
}
}