summaryrefslogtreecommitdiff
path: root/src/lua/include/property.hpp
diff options
context:
space:
mode:
authorjacqueline <me@jacqueline.id.au>2023-11-20 13:02:29 +1100
committerjacqueline <me@jacqueline.id.au>2023-11-20 13:02:29 +1100
commitb7f37f6426c78132d338b032962209bd93771039 (patch)
treefd9e097ed55167616e630c257a28724b0f1ddc63 /src/lua/include/property.hpp
parentb3b512f10e0570f7dc8a04e1613f1234e5532728 (diff)
downloadtangara-fw-b7f37f6426c78132d338b032962209bd93771039.tar.gz
Add a generic lua function binding, alongside properties
Diffstat (limited to 'src/lua/include/property.hpp')
-rw-r--r--src/lua/include/property.hpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/lua/include/property.hpp b/src/lua/include/property.hpp
index b6b4718f..60f9906a 100644
--- a/src/lua/include/property.hpp
+++ b/src/lua/include/property.hpp
@@ -16,6 +16,7 @@
namespace lua {
using LuaValue = std::variant<std::monostate, int, float, bool, std::string>;
+using LuaFunction = std::function<int(lua_State*)>;
class Property {
public:
@@ -42,6 +43,12 @@ class PropertyBindings {
PropertyBindings(lua_State&);
auto Register(lua_State*, Property*) -> void;
+ auto Register(lua_State*, LuaFunction) -> void;
+
+ auto GetFunction(size_t i) -> const LuaFunction&;
+
+ private:
+ std::vector<LuaFunction> functions_;
};
} // namespace lua