summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authortorque <torque@1>2015-02-28 17:22:31 -0800
committerDiogo Franco (Kovensky) <diogomfranco@gmail.com>2015-03-03 16:06:46 +0900
commit76fd4b4e334ae600ad12169867ee381784831a92 (patch)
tree2ff0ff213e37ac1242e6840889d7d7b57df272c2
parent623b0a77e1cf723c72104d97ca0a3094aa72c73c (diff)
downloadmpv-76fd4b4e334ae600ad12169867ee381784831a92.tar.bz2
mpv-76fd4b4e334ae600ad12169867ee381784831a92.tar.xz
Lua: add mp.get_screen_margins().
When used with mp.get_screen_size(), mp.get_screen_margins() allows a Lua script to determine what portion of the mpv window actually has the video in it. (cherry picked from commit 1bbf1eb3ce2bdb0ef3ec3b045074bcb2f3af6a7a)
-rw-r--r--player/lua.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/player/lua.c b/player/lua.c
index 47bcc07110..f329c47d11 100644
--- a/player/lua.c
+++ b/player/lua.c
@@ -971,6 +971,17 @@ static int script_get_screen_size(lua_State *L)
return 3;
}
+static int script_get_screen_margins(lua_State *L)
+{
+ struct MPContext *mpctx = get_mpctx(L);
+ struct mp_osd_res vo_res = osd_get_vo_res(mpctx->osd, OSDTYPE_EXTERNAL);
+ lua_pushnumber(L, vo_res.ml);
+ lua_pushnumber(L, vo_res.mt);
+ lua_pushnumber(L, vo_res.mr);
+ lua_pushnumber(L, vo_res.mb);
+ return 4;
+}
+
static int script_get_mouse_pos(lua_State *L)
{
struct MPContext *mpctx = get_mpctx(L);
@@ -1280,6 +1291,7 @@ static const struct fn_entry main_fns[] = {
FN_ENTRY(set_osd_ass),
FN_ENTRY(get_osd_resolution),
FN_ENTRY(get_screen_size),
+ FN_ENTRY(get_screen_margins),
FN_ENTRY(get_mouse_pos),
FN_ENTRY(get_time),
FN_ENTRY(input_define_section),