1
0
Fork 0
mirror of https://github.com/bjornbytes/lovr.git synced 2024-07-11 16:33:35 +00:00
lovr/src/api/l_data_blob.c
2021-03-15 18:54:27 -06:00

38 lines
876 B
C

#include "api.h"
#include "data/blob.h"
#include "core/util.h"
#include <lua.h>
#include <lauxlib.h>
static int l_lovrBlobGetName(lua_State* L) {
Blob* blob = luax_checktype(L, 1, Blob);
lua_pushstring(L, blob->name);
return 1;
}
static int l_lovrBlobGetPointer(lua_State* L) {
Blob* blob = luax_checktype(L, 1, Blob);
lua_pushlightuserdata(L, blob->data);
return 1;
}
static int l_lovrBlobGetSize(lua_State* L) {
Blob* blob = luax_checktype(L, 1, Blob);
lua_pushinteger(L, blob->size);
return 1;
}
static int l_lovrBlobGetString(lua_State* L) {
Blob* blob = luax_checktype(L, 1, Blob);
lua_pushlstring(L, blob->data, blob->size);
return 1;
}
const luaL_Reg lovrBlob[] = {
{ "getName", l_lovrBlobGetName },
{ "getPointer", l_lovrBlobGetPointer },
{ "getSize", l_lovrBlobGetSize },
{ "getString", l_lovrBlobGetString },
{ NULL, NULL }
};