summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAvi Halachmi (:avih) <avihpit@yahoo.com>2020-11-16 18:15:18 +0200
committeravih <avih@users.noreply.github.com>2020-11-16 20:29:58 +0200
commit0d5055fe93e35770235902e11ff39b3231e6e1b8 (patch)
tree72f0cc55a1cb20b60d4e00d97b714245c975b7d9
parenta7686679564de584eaa720a6f682c8bd8ad062e6 (diff)
downloadmpv-0d5055fe93e35770235902e11ff39b3231e6e1b8.tar.bz2
mpv-0d5055fe93e35770235902e11ff39b3231e6e1b8.tar.xz
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.
-rw-r--r--player/javascript.c11
-rw-r--r--player/javascript/defaults.js1
-rw-r--r--player/lua.c11
-rw-r--r--player/lua/defaults.lua5
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: