@@ -507,26 +507,17 @@ static int16_t rwebinput_input_state(
507507 case RARCH_DEVICE_POINTER_SCREEN :
508508 if (idx == 0 )
509509 {
510- struct video_viewport vp ;
510+ struct video_viewport vp = { 0 } ;
511511 rwebinput_mouse_state_t
512512 * mouse = & rwebinput -> mouse ;
513- const int edge_detect = 32700 ;
514513 bool screen = device ==
515514 RARCH_DEVICE_POINTER_SCREEN ;
516- bool inside = false;
517515 int16_t res_x = 0 ;
518516 int16_t res_y = 0 ;
519517 int16_t res_screen_x = 0 ;
520518 int16_t res_screen_y = 0 ;
521519
522- vp .x = 0 ;
523- vp .y = 0 ;
524- vp .width = 0 ;
525- vp .height = 0 ;
526- vp .full_width = 0 ;
527- vp .full_height = 0 ;
528-
529- if (!(video_driver_translate_coord_viewport_wrap (
520+ if (!(video_driver_translate_coord_viewport_confined_wrap (
530521 & vp , mouse -> x , mouse -> y ,
531522 & res_x , & res_y , & res_screen_x , & res_screen_y )))
532523 return 0 ;
@@ -537,25 +528,16 @@ static int16_t rwebinput_input_state(
537528 res_y = res_screen_y ;
538529 }
539530
540- inside = (res_x >= - edge_detect )
541- && (res_y >= - edge_detect )
542- && (res_x <= edge_detect )
543- && (res_y <= edge_detect );
544-
545531 switch (id )
546532 {
547533 case RETRO_DEVICE_ID_POINTER_X :
548- if (inside )
549- return res_x ;
550- break ;
534+ return res_x ;
551535 case RETRO_DEVICE_ID_POINTER_Y :
552- if (inside )
553- return res_y ;
554- break ;
536+ return res_y ;
555537 case RETRO_DEVICE_ID_POINTER_PRESSED :
556538 return !!(mouse -> buttons & (1 << RWEBINPUT_MOUSE_BTNL ));
557- case RETRO_DEVICE_ID_LIGHTGUN_IS_OFFSCREEN :
558- return ! inside ;
539+ case RETRO_DEVICE_ID_POINTER_IS_OFFSCREEN :
540+ return input_driver_pointer_is_offscreen ( res_x , res_y ) ;
559541 default :
560542 break ;
561543 }
0 commit comments