X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=nageru%2Ftheme.cpp;h=ec8f43191aefb0f31d3bef4aae0e7c1b588cba81;hb=efeea7571ab45c6a846208f0554153de549d1711;hp=a1195912b5af2a7d665d6923a55670be2b41f79c;hpb=c0763f1f26189bdc2ee487e38ccb7e8fe77fac25;p=nageru diff --git a/nageru/theme.cpp b/nageru/theme.cpp index a119591..ec8f431 100644 --- a/nageru/theme.cpp +++ b/nageru/theme.cpp @@ -636,6 +636,20 @@ int InputStateInfo_get_height(lua_State* L) return 1; } +int InputStateInfo_get_frame_height(lua_State* L) +{ + assert(lua_gettop(L) == 2); + InputStateInfo *input_state_info = get_input_state_info(L, 1); + Theme *theme = get_theme_updata(L); + int signal_num = theme->map_signal(luaL_checknumber(L, 2)); + unsigned height = input_state_info->last_height[signal_num]; + if (input_state_info->last_interlaced[signal_num]) { + height *= 2; + } + lua_pushnumber(L, height); + return 1; +} + int InputStateInfo_get_interlaced(lua_State* L) { assert(lua_gettop(L) == 2); @@ -979,6 +993,8 @@ const luaL_Reg LiftGammaGainEffect_funcs[] = { const luaL_Reg InputStateInfo_funcs[] = { { "get_width", InputStateInfo_get_width }, { "get_height", InputStateInfo_get_height }, + { "get_frame_width", InputStateInfo_get_width }, // Same as get_width(). + { "get_frame_height", InputStateInfo_get_frame_height }, { "get_interlaced", InputStateInfo_get_interlaced }, { "get_has_signal", InputStateInfo_get_has_signal }, { "get_is_connected", InputStateInfo_get_is_connected }, @@ -1768,9 +1784,9 @@ void destroy(T &ref) Theme::MenuEntry::~MenuEntry() { if (is_submenu) { - luaL_unref(entry.L, LUA_REGISTRYINDEX, entry.lua_ref); - } else { destroy(submenu); + } else { + luaL_unref(entry.L, LUA_REGISTRYINDEX, entry.lua_ref); } }