]> git.sesse.net Git - nageru/blobdiff - nageru/theme.cpp
Add get_frame_width() and get_frame_height() to the signals given to the theme, which...
[nageru] / nageru / theme.cpp
index 35046c18ee17a0b77dc474c51d3cf5fae9c21b39..ec8f43191aefb0f31d3bef4aae0e7c1b588cba81 100644 (file)
@@ -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 },