diff --git a/src/logic/scripting/lua/usertypes/lua_type_canvas.cpp b/src/logic/scripting/lua/usertypes/lua_type_canvas.cpp index f89c9d5e..52d4e5e3 100644 --- a/src/logic/scripting/lua/usertypes/lua_type_canvas.cpp +++ b/src/logic/scripting/lua/usertypes/lua_type_canvas.cpp @@ -224,6 +224,13 @@ static int l_set_data(State* L) { return 0; } +static int l_get_data(State* L) { + auto& canvas = require_canvas(L, 1); + auto& image = canvas.getData(); + auto data = image.getData(); + return create_bytearray(L, data, image.getDataSize()); +} + static int l_update(State* L) { if (auto canvas = touserdata(L, 1)) { canvas->update(); @@ -316,6 +323,7 @@ static std::unordered_map methods { {"add", lua::wrap}, {"sub", lua::wrap}, {"encode", lua::wrap}, + {"get_data", lua::wrap}, {"_set_data", lua::wrap}, };