Fixed bug 1813 - MouseMotion relative values do not respect renderer LogicalSize
driedfruit A trivial issue, the xrel and yrel values of MouseMotion event struct are not adjusted to renderer logical size.
This commit is contained in:
parent
fe2bb8805e
commit
188729834c
1 changed files with 10 additions and 0 deletions
|
@ -151,6 +151,16 @@ SDL_RendererEventWatch(void *userdata, SDL_Event *event)
|
|||
event->motion.y -= renderer->viewport.y;
|
||||
event->motion.x = (int)(event->motion.x / renderer->scale.x);
|
||||
event->motion.y = (int)(event->motion.y / renderer->scale.y);
|
||||
if (event->motion.xrel > 0) {
|
||||
event->motion.xrel = SDL_max(1, (int)(event->motion.xrel / renderer->scale.x));
|
||||
} else if (event->motion.xrel < 0) {
|
||||
event->motion.xrel = SDL_min(-1, (int)(event->motion.xrel / renderer->scale.x));
|
||||
}
|
||||
if (event->motion.yrel > 0) {
|
||||
event->motion.yrel = SDL_max(1, (int)(event->motion.yrel / renderer->scale.y));
|
||||
} else if (event->motion.yrel < 0) {
|
||||
event->motion.yrel = SDL_min(-1, (int)(event->motion.yrel / renderer->scale.y));
|
||||
}
|
||||
}
|
||||
} else if (event->type == SDL_MOUSEBUTTONDOWN ||
|
||||
event->type == SDL_MOUSEBUTTONUP) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue