X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=theme.cpp;h=50adca52c770c856792c2fcb0fdb78aad2b4255c;hb=f815bbab16b716011ce5efa8d577e1e9786a48c0;hp=8d55b32d26fcf51b977029fdb7d118c74132299d;hpb=1e019c88da9b9d2f5f45fec429f49fa6f01ef08a;p=nageru diff --git a/theme.cpp b/theme.cpp index 8d55b32..50adca5 100644 --- a/theme.cpp +++ b/theme.cpp @@ -12,6 +12,7 @@ #include #include #include +#include #include "theme.h" @@ -52,7 +53,8 @@ Effect *get_effect(lua_State *L, int idx) luaL_testudata(L, idx, "PaddingEffect") || luaL_testudata(L, idx, "IntegralPaddingEffect") || luaL_testudata(L, idx, "OverlayEffect") || - luaL_testudata(L, idx, "ResizeEffect")) { + luaL_testudata(L, idx, "ResizeEffect") || + luaL_testudata(L, idx, "MixEffect")) { return (Effect *)lua_touserdata(L, idx); } fprintf(stderr, "Error: Index #%d was not an Effect type\n", idx); @@ -185,6 +187,12 @@ int ResizeEffect_new(lua_State* L) return wrap_lua_object(L, "ResizeEffect"); } +int MixEffect_new(lua_State* L) +{ + assert(lua_gettop(L) == 0); + return wrap_lua_object(L, "MixEffect"); +} + int Effect_set_float(lua_State *L) { assert(lua_gettop(L) == 3); @@ -286,6 +294,14 @@ const luaL_Reg ResizeEffect_funcs[] = { { NULL, NULL } }; +const luaL_Reg MixEffect_funcs[] = { + { "new", MixEffect_new }, + { "set_float", Effect_set_float }, + { "set_int", Effect_set_int }, + { "set_vec4", Effect_set_vec4 }, + { NULL, NULL } +}; + } // namespace LiveInputWrapper::LiveInputWrapper(Theme *theme, EffectChain *chain) @@ -330,6 +346,7 @@ Theme::Theme(const char *filename, ResourcePool *resource_pool) register_class("IntegralPaddingEffect", IntegralPaddingEffect_funcs); register_class("OverlayEffect", OverlayEffect_funcs); register_class("ResizeEffect", ResizeEffect_funcs); + register_class("MixEffect", MixEffect_funcs); // Run script. lua_settop(L, 0);