diff --git a/mpvcore/command.c b/mpvcore/command.c index 70a14630a3..24b4fe8985 100644 --- a/mpvcore/command.c +++ b/mpvcore/command.c @@ -85,19 +85,6 @@ static char *format_delay(double time) return talloc_asprintf(NULL, "%d ms", ROUND(time * 1000)); } -// Get current mouse position in OSD coordinate space. -void mp_get_osd_mouse_pos(struct MPContext *mpctx, float *x, float *y) -{ - int wx, wy; - mp_input_get_mouse_pos(mpctx->input, &wx, &wy); - float p[2] = {wx, wy}; - // Raw window coordinates (VO mouse events) to OSD resolution. - if (mpctx->video_out) - vo_control(mpctx->video_out, VOCTRL_WINDOW_TO_OSD_COORDS, p); - *x = p[0]; - *y = p[1]; -} - // Property-option bridge. static int mp_property_generic_option(struct m_option *prop, int action, void *arg, MPContext *mpctx) diff --git a/mpvcore/command.h b/mpvcore/command.h index 1ac5b6f8f0..dfdc066ac7 100644 --- a/mpvcore/command.h +++ b/mpvcore/command.h @@ -24,8 +24,6 @@ struct mp_cmd; void command_init(struct MPContext *mpctx); -void mp_get_osd_mouse_pos(struct MPContext *mpctx, float *x, float *y); - void run_command(struct MPContext *mpctx, struct mp_cmd *cmd); char *mp_property_expand_string(struct MPContext *mpctx, const char *str); void property_print_help(void); diff --git a/mpvcore/mp_lua.c b/mpvcore/mp_lua.c index e03f3e6aee..4741cb1f33 100644 --- a/mpvcore/mp_lua.c +++ b/mpvcore/mp_lua.c @@ -457,8 +457,8 @@ static int script_get_screen_size(lua_State *L) static int script_get_mouse_pos(lua_State *L) { struct MPContext *mpctx = get_mpctx(L); - float px, py; - mp_get_osd_mouse_pos(mpctx, &px, &py); + int px, py; + mp_input_get_mouse_pos(mpctx->input, &px, &py); double sw, sh; osd_object_get_scale_factor(mpctx->osd, mpctx->osd->objs[OSDTYPE_EXTERNAL], &sw, &sh); diff --git a/video/out/vo.c b/video/out/vo.c index aa027fc349..6f876d1898 100644 --- a/video/out/vo.c +++ b/video/out/vo.c @@ -601,5 +601,7 @@ void vo_mouse_movement(struct vo *vo, int posx, int posy) { if (!vo->opts->enable_mouse_movements) return; - mp_input_set_mouse_pos(vo->input_ctx, posx, posy); + float p[2] = {posx, posy}; + vo_control(vo, VOCTRL_WINDOW_TO_OSD_COORDS, p); + mp_input_set_mouse_pos(vo->input_ctx, p[0], p[1]); }