@@ -507,26 +507,17 @@ static int16_t rwebinput_input_state(
507
507
case RARCH_DEVICE_POINTER_SCREEN :
508
508
if (idx == 0 )
509
509
{
510
- struct video_viewport vp ;
510
+ struct video_viewport vp = { 0 } ;
511
511
rwebinput_mouse_state_t
512
512
* mouse = & rwebinput -> mouse ;
513
- const int edge_detect = 32700 ;
514
513
bool screen = device ==
515
514
RARCH_DEVICE_POINTER_SCREEN ;
516
- bool inside = false;
517
515
int16_t res_x = 0 ;
518
516
int16_t res_y = 0 ;
519
517
int16_t res_screen_x = 0 ;
520
518
int16_t res_screen_y = 0 ;
521
519
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 (
530
521
& vp , mouse -> x , mouse -> y ,
531
522
& res_x , & res_y , & res_screen_x , & res_screen_y )))
532
523
return 0 ;
@@ -537,25 +528,16 @@ static int16_t rwebinput_input_state(
537
528
res_y = res_screen_y ;
538
529
}
539
530
540
- inside = (res_x >= - edge_detect )
541
- && (res_y >= - edge_detect )
542
- && (res_x <= edge_detect )
543
- && (res_y <= edge_detect );
544
-
545
531
switch (id )
546
532
{
547
533
case RETRO_DEVICE_ID_POINTER_X :
548
- if (inside )
549
- return res_x ;
550
- break ;
534
+ return res_x ;
551
535
case RETRO_DEVICE_ID_POINTER_Y :
552
- if (inside )
553
- return res_y ;
554
- break ;
536
+ return res_y ;
555
537
case RETRO_DEVICE_ID_POINTER_PRESSED :
556
538
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 ) ;
559
541
default :
560
542
break ;
561
543
}
0 commit comments