static int16_t cocoa_mouse_state_screen(cocoa_input_data_t *apple, unsigned id) { int16_t val; #ifndef IOS float backing_scale_factor = get_backing_scale_factor(); #endif switch (id) { case RETRO_DEVICE_ID_MOUSE_X: val = apple->window_pos_x; break; case RETRO_DEVICE_ID_MOUSE_Y: val = apple->window_pos_y; break; default: return cocoa_mouse_state(apple, id); } #ifndef IOS val *= backing_scale_factor; #endif return val; }
static void cocoa_input_poll(void *data) { uint32_t i; cocoa_input_data_t *apple = (cocoa_input_data_t*)data; #ifndef IOS float backing_scale_factor = get_backing_scale_factor(); #endif for (i = 0; i < apple->touch_count; i++) { #ifndef IOS apple->touches[i].screen_x *= backing_scale_factor; apple->touches[i].screen_y *= backing_scale_factor; #endif input_translate_coord_viewport( apple->touches[i].screen_x, apple->touches[i].screen_y, &apple->touches[i].fixed_x, &apple->touches[i].fixed_y, &apple->touches[i].full_x, &apple->touches[i].full_y); } if (apple->joypad) apple->joypad->poll(); if (apple->sec_joypad) apple->sec_joypad->poll(); apple->mouse_x_last = apple->mouse_rel_x; apple->mouse_y_last = apple->mouse_rel_y; }
static void cocoa_input_poll(void *data) { uint32_t i; cocoa_input_data_t *apple = (cocoa_input_data_t*)data; #ifndef IOS float backing_scale_factor = get_backing_scale_factor(); #endif if (!apple) return; for (i = 0; i < apple->touch_count; i++) { struct video_viewport vp; vp.x = 0; vp.y = 0; vp.width = 0; vp.height = 0; vp.full_width = 0; vp.full_height = 0; #ifndef IOS apple->touches[i].screen_x *= backing_scale_factor; apple->touches[i].screen_y *= backing_scale_factor; #endif video_driver_translate_coord_viewport_wrap( &vp, apple->touches[i].screen_x, apple->touches[i].screen_y, &apple->touches[i].fixed_x, &apple->touches[i].fixed_y, &apple->touches[i].full_x, &apple->touches[i].full_y); } if (apple->joypad) apple->joypad->poll(); if (apple->sec_joypad) apple->sec_joypad->poll(); apple->mouse_x_last = apple->mouse_rel_x; apple->mouse_y_last = apple->mouse_rel_y; }