@@ -328,6 +328,10 @@ ScreenManager::process_events()
328
328
auto session = GameSession::current ();
329
329
while (SDL_PollEvent (&event))
330
330
{
331
+ auto window_size = m_video_system.get_window_size ();
332
+ auto window_width = window_size.width * 1 .0f ;
333
+ auto window_height = window_size.height * 1 .0f ;
334
+
331
335
switch (event.type )
332
336
{
333
337
case SDL_FINGERDOWN:
@@ -341,8 +345,8 @@ ScreenManager::process_events()
341
345
342
346
event2.type = SDL_MOUSEBUTTONDOWN;
343
347
event2.button .button = SDL_BUTTON_LEFT;
344
- event2.button .x = Sint32 (old_event.tfinger .x * float (m_video_system. get_window_size (). width ) );
345
- event2.button .y = Sint32 (old_event.tfinger .y * float (m_video_system. get_window_size (). height ) );
348
+ event2.button .x = Sint32 (old_event.tfinger .x * window_width );
349
+ event2.button .y = Sint32 (old_event.tfinger .y * window_height );
346
350
SDL_PushEvent (&event2);
347
351
348
352
event.type = SDL_MOUSEMOTION;
@@ -361,8 +365,8 @@ ScreenManager::process_events()
361
365
SDL_Event event2;
362
366
event2.type = SDL_MOUSEBUTTONUP;
363
367
event2.button .button = SDL_BUTTON_LEFT;
364
- event2.button .x = Sint32 (old_event.tfinger .x * float (m_video_system. get_window_size (). width ) );
365
- event2.button .y = Sint32 (old_event.tfinger .y * float (m_video_system. get_window_size (). height ) );
368
+ event2.button .x = Sint32 (old_event.tfinger .x * window_width );
369
+ event2.button .y = Sint32 (old_event.tfinger .y * window_height );
366
370
SDL_PushEvent (&event2);
367
371
368
372
if (m_mobile_controller.process_finger_up_event (event.tfinger ))
@@ -382,10 +386,10 @@ ScreenManager::process_events()
382
386
break ; // Event was processed by touch controls, do not generate mouse event
383
387
384
388
event.type = SDL_MOUSEMOTION;
385
- event.motion .x = Sint32 (old_event.tfinger .x * float (m_video_system. get_window_size (). width ) );
386
- event.motion .y = Sint32 (old_event.tfinger .y * float (m_video_system. get_window_size (). height ) );
387
- event.motion .xrel = Sint32 (old_event.tfinger .dx * float (m_video_system. get_window_size (). width ) );
388
- event.motion .yrel = Sint32 (old_event.tfinger .dy * float (m_video_system. get_window_size (). height ) );
389
+ event.motion .x = Sint32 (old_event.tfinger .x * window_width );
390
+ event.motion .y = Sint32 (old_event.tfinger .y * window_height );
391
+ event.motion .xrel = Sint32 (old_event.tfinger .dx * window_width );
392
+ event.motion .yrel = Sint32 (old_event.tfinger .dy * window_height );
389
393
MouseCursor::current ()->set_pos (event.motion .x , event.motion .y );
390
394
break ;
391
395
}
0 commit comments