From 55fc5daab7f43c4d7dd4395f8133c4c1a10b0bda Mon Sep 17 00:00:00 2001 From: "Steinar H. Gunderson" Date: Thu, 8 Oct 2015 01:02:34 +0200 Subject: [PATCH] Hook up PaddingEffect. --- theme.cpp | 18 +++++++++++++++++- theme.h | 10 ---------- theme.lua | 7 ++++++- 3 files changed, 23 insertions(+), 12 deletions(-) diff --git a/theme.cpp b/theme.cpp index 006149d..cdbe9c8 100644 --- a/theme.cpp +++ b/theme.cpp @@ -9,6 +9,7 @@ #include #include #include +#include #include "theme.h" @@ -45,7 +46,8 @@ Theme *get_theme_updata(lua_State* L) Effect *get_effect(lua_State *L, int idx) { if (luaL_testudata(L, idx, "WhiteBalanceEffect") || - luaL_testudata(L, idx, "ResampleEffect")) { + luaL_testudata(L, idx, "ResampleEffect") || + luaL_testudata(L, idx, "PaddingEffect")) { return (Effect *)lua_touserdata(L, idx); } fprintf(stderr, "Error: Index #%d was not an Effect type\n", idx); @@ -142,6 +144,12 @@ int ResampleEffect_new(lua_State* L) return wrap_lua_object(L, "ResampleEffect"); } +int PaddingEffect_new(lua_State* L) +{ + assert(lua_gettop(L) == 0); + return wrap_lua_object(L, "PaddingEffect"); +} + int Effect_set_float(lua_State *L) { assert(lua_gettop(L) == 3); @@ -193,6 +201,13 @@ const luaL_Reg ResampleEffect_funcs[] = { { NULL, NULL } }; +const luaL_Reg PaddingEffect_funcs[] = { + { "new", PaddingEffect_new }, + { "set_float", Effect_set_float }, + { "set_int", Effect_set_int }, + { NULL, NULL } +}; + } // namespace LiveInputWrapper::LiveInputWrapper(Theme *theme, EffectChain *chain) @@ -233,6 +248,7 @@ Theme::Theme(const char *filename, ResourcePool *resource_pool) register_class("LiveInputWrapper", LiveInputWrapper_funcs); register_class("WhiteBalanceEffect", WhiteBalanceEffect_funcs); register_class("ResampleEffect", ResampleEffect_funcs); + register_class("PaddingEffect", PaddingEffect_funcs); // Run script. lua_settop(L, 0); diff --git a/theme.h b/theme.h index 473985a..6701ece 100644 --- a/theme.h +++ b/theme.h @@ -44,16 +44,6 @@ public: LiveInputWrapper(Theme *theme, movit::EffectChain *chain); void connect_signal(int signal_num); -#if 0 - { - connected_signal_num = signal_num; - } - - int get_connected_signal_num() const { - return connected_signal_num; - } -#endif - movit::YCbCrInput *get_input() const { return input; diff --git a/theme.lua b/theme.lua index d7c624a..2238557 100644 --- a/theme.lua +++ b/theme.lua @@ -18,7 +18,12 @@ input0:connect_signal(0); local resample_effect = main_chain:add_effect(ResampleEffect.new(), input0); resample_effect:set_int("width", 320); resample_effect:set_int("height", 180); -local wb_effect = main_chain:add_effect(WhiteBalanceEffect.new(), resample_effect); +local padding_effect = main_chain:add_effect(PaddingEffect.new(), resample_effect); +padding_effect:set_int("width", 1280); +padding_effect:set_int("height", 720); +padding_effect:set_float("left", 30.0); +padding_effect:set_float("top", 60.0); +local wb_effect = main_chain:add_effect(WhiteBalanceEffect.new(), padding_effect); main_chain:finalize(true); -- local input1 = main_chain.add_input(Inputs.create(1)); -- local resample_effect = main_chain.add_effect(ResampleEffect.new(), input0); -- 2.39.2