From 0d5055fe93e35770235902e11ff39b3231e6e1b8 Mon Sep 17 00:00:00 2001 From: "Avi Halachmi (:avih)" Date: Mon, 16 Nov 2020 18:15:18 +0200 Subject: lua/js: mp.get_mouse_pos: use the mouse-pos property mp.get_mouse_pos() is undocumented and is no longer required - the property can be used officially by any client now, however, osc.lua uses it, and also some user scripts learnt to rely on it, so we keep it - as a trivial wrapper around the new mouse-pos property. --- player/javascript.c | 11 ----------- player/javascript/defaults.js | 1 + player/lua.c | 11 ----------- player/lua/defaults.lua | 5 +++++ 4 files changed, 6 insertions(+), 22 deletions(-) diff --git a/player/javascript.c b/player/javascript.c index 7cffcbe119..8cb263e123 100644 --- a/player/javascript.c +++ b/player/javascript.c @@ -781,16 +781,6 @@ static void push_nums_obj(js_State *J, const char * const names[], } } -// args: none, return: object with properties x, y -static void script_get_mouse_pos(js_State *J) -{ - int x, y; - mp_input_get_mouse_pos(jctx(J)->mpctx->input, &x, &y); - const char * const names[] = {"x", "y", NULL}; - const double vals[] = {x, y}; - push_nums_obj(J, names, vals); -} - // args: input-section-name, x0, y0, x1, y1 static void script_input_set_section_mouse_area(js_State *J) { @@ -1181,7 +1171,6 @@ static const struct fn_entry main_fns[] = { FN_ENTRY(get_wakeup_pipe, 0), FN_ENTRY(_hook_add, 3), FN_ENTRY(_hook_continue, 1), - FN_ENTRY(get_mouse_pos, 0), FN_ENTRY(input_set_section_mouse_area, 5), FN_ENTRY(last_error, 0), FN_ENTRY(_set_last_error, 1), diff --git a/player/javascript/defaults.js b/player/javascript/defaults.js index 2435390b87..0904524ce4 100644 --- a/player/javascript/defaults.js +++ b/player/javascript/defaults.js @@ -663,6 +663,7 @@ mp.get_script_file = function() { return mp.script_file }; mp.get_script_directory = function() { return mp.script_path }; mp.get_time = function() { return mp.get_time_ms() / 1000 }; mp.utils.getcwd = function() { return mp.get_property("working-directory") }; +mp.get_mouse_pos = function() { return mp.get_property_native("mouse-pos") }; mp.dispatch_event = dispatch_event; mp.process_timers = process_timers; mp.notify_idle_observers = notify_idle_observers; diff --git a/player/lua.c b/player/lua.c index 363e1a52fd..2eb163ef16 100644 --- a/player/lua.c +++ b/player/lua.c @@ -991,16 +991,6 @@ static int script_raw_abort_async_command(lua_State *L) return 0; } -static int script_get_mouse_pos(lua_State *L) -{ - struct MPContext *mpctx = get_mpctx(L); - int px, py; - mp_input_get_mouse_pos(mpctx->input, &px, &py); - lua_pushnumber(L, px); - lua_pushnumber(L, py); - return 2; -} - static int script_get_time(lua_State *L) { struct script_ctx *ctx = get_ctx(L); @@ -1242,7 +1232,6 @@ static const struct fn_entry main_fns[] = { AF_ENTRY(set_property_native), FN_ENTRY(raw_observe_property), FN_ENTRY(raw_unobserve_property), - FN_ENTRY(get_mouse_pos), FN_ENTRY(get_time), FN_ENTRY(input_set_section_mouse_area), FN_ENTRY(format_time), diff --git a/player/lua/defaults.lua b/player/lua/defaults.lua index 95f8952f5d..920ee425aa 100644 --- a/player/lua/defaults.lua +++ b/player/lua/defaults.lua @@ -42,6 +42,11 @@ function mp.input_disable_section(section) mp.commandv("disable-section", section) end +function mp.get_mouse_pos() + local m = mp.get_property_native("mouse-pos") + return m.x, m.y +end + -- For dispatching script-binding. This is sent as: -- script-message-to $script_name $binding_name $keystate -- The array is indexed by $binding_name, and has functions like this as value: -- cgit v1.2.3