From 76fd4b4e334ae600ad12169867ee381784831a92 Mon Sep 17 00:00:00 2001 From: torque Date: Sat, 28 Feb 2015 17:22:31 -0800 Subject: 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) --- player/lua.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) 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), -- cgit v1.2.3