]> git.sesse.net Git - nageru/blobdiff - theme.cpp
Add support for lift/gamma/gain in the theme.
[nageru] / theme.cpp
index 55088ef8bf3c01100ff9665c3225ed691c645909..ca4de4fdb22029037438bcedde53769ae03276c6 100644 (file)
--- a/theme.cpp
+++ b/theme.cpp
@@ -10,6 +10,7 @@
 #include <movit/effect_chain.h>
 #include <movit/image_format.h>
 #include <movit/input.h>
+#include <movit/lift_gamma_gain_effect.h>
 #include <movit/mix_effect.h>
 #include <movit/multiply_effect.h>
 #include <movit/overlay_effect.h>
@@ -219,6 +220,7 @@ Effect *get_effect(lua_State *L, int idx)
            luaL_testudata(L, idx, "ResizeEffect") ||
            luaL_testudata(L, idx, "MultiplyEffect") ||
            luaL_testudata(L, idx, "MixEffect") ||
+           luaL_testudata(L, idx, "LiftGammaGainEffect") ||
            luaL_testudata(L, idx, "ImageInput")) {
                return *(Effect **)lua_touserdata(L, idx);
        }
@@ -617,6 +619,12 @@ int MixEffect_new(lua_State* L)
        return wrap_lua_object_nonowned<MixEffect>(L, "MixEffect");
 }
 
+int LiftGammaGainEffect_new(lua_State* L)
+{
+       assert(lua_gettop(L) == 0);
+       return wrap_lua_object_nonowned<LiftGammaGainEffect>(L, "LiftGammaGainEffect");
+}
+
 int InputStateInfo_get_width(lua_State* L)
 {
        assert(lua_gettop(L) == 2);
@@ -865,6 +873,15 @@ const luaL_Reg MixEffect_funcs[] = {
        { NULL, NULL }
 };
 
+const luaL_Reg LiftGammaGainEffect_funcs[] = {
+       { "new", LiftGammaGainEffect_new },
+       { "set_float", Effect_set_float },
+       { "set_int", Effect_set_int },
+       { "set_vec3", Effect_set_vec3 },
+       { "set_vec4", Effect_set_vec4 },
+       { NULL, NULL }
+};
+
 const luaL_Reg InputStateInfo_funcs[] = {
        { "get_width", InputStateInfo_get_width },
        { "get_height", InputStateInfo_get_height },
@@ -1199,6 +1216,7 @@ Theme::Theme(const string &filename, const vector<string> &search_dirs, Resource
        register_class("ResizeEffect", ResizeEffect_funcs);
        register_class("MultiplyEffect", MultiplyEffect_funcs);
        register_class("MixEffect", MixEffect_funcs);
+       register_class("LiftGammaGainEffect", LiftGammaGainEffect_funcs);
        register_class("InputStateInfo", InputStateInfo_funcs);
        register_class("ThemeMenu", ThemeMenu_funcs);