]> git.sesse.net Git - nageru/blobdiff - theme.h
Add some primitive emergency card mapping. Useful for testing.
[nageru] / theme.h
diff --git a/theme.h b/theme.h
index 80b01badf3f1a1c0b0a38f37e15f9270f4ee84d8..b17dbbd00de85764d866a02f22db8562636855b3 100644 (file)
--- a/theme.h
+++ b/theme.h
@@ -12,6 +12,8 @@
 #include <movit/effect_chain.h>
 #include <movit/ycbcr_input.h>
 
+#define MAX_CARDS 16
+
 class NonBouncingYCbCrInput : public movit::YCbCrInput {
 public:
        NonBouncingYCbCrInput(const movit::ImageFormat &image_format,
@@ -25,8 +27,7 @@ public:
 
 class Theme {
 public:
-       Theme(const char *filename, movit::ResourcePool *resource_pool);
-       void register_class(const char *class_name, const luaL_Reg *funcs);
+       Theme(const char *filename, movit::ResourcePool *resource_pool, unsigned num_cards);
 
        std::pair<movit::EffectChain *, std::function<void()>>
        get_chain(unsigned num, float t, unsigned width, unsigned height);
@@ -44,13 +45,16 @@ public:
        void channel_clicked(int preview_num);
 
 private:
+       void register_class(const char *class_name, const luaL_Reg *funcs);
+
        std::mutex m;
        lua_State *L;
        movit::ResourcePool *resource_pool;
        struct {
                GLuint tex_y = 0, tex_cbcr = 0;
-       } input_textures[16];  // FIXME
+       } input_textures[MAX_CARDS];
        int num_channels;
+       unsigned num_cards;
 };
 
 class LiveInputWrapper {