diff options
Diffstat (limited to 'src/lua/modules')
-rw-r--r-- | src/lua/modules/graphics/font.cpp | 4 | ||||
-rw-r--r-- | src/lua/modules/graphics/image.cpp | 13 | ||||
-rw-r--r-- | src/lua/modules/graphics/jsl.cpp | 5 | ||||
-rw-r--r-- | src/lua/modules/net/Buffer.cpp | 14 | ||||
-rw-r--r-- | src/lua/modules/net/socket.cpp | 18 | ||||
-rw-r--r-- | src/lua/modules/thread/Thread.cpp | 24 |
6 files changed, 44 insertions, 34 deletions
diff --git a/src/lua/modules/graphics/font.cpp b/src/lua/modules/graphics/font.cpp index 926f2cc..042eb19 100644 --- a/src/lua/modules/graphics/font.cpp +++ b/src/lua/modules/graphics/font.cpp @@ -10,6 +10,8 @@ namespace lua using namespace jin::graphics; + typedef Ref<Font>& FontRef; + static int l_gc(lua_State* L) { Proxy* proxy = (Proxy*)luax_checktype(L, 1, JIN_GRAPHICS_FONT); @@ -20,7 +22,7 @@ namespace lua static int l_box(lua_State* L) { Proxy* proxy = (Proxy*)luax_newinstance(L, JIN_GRAPHICS_FONT, sizeof(Proxy)); - Ref<Font>& ref = proxy->getRef<Font>(); + FontRef ref = proxy->getRef<Font>(); const char* text = luax_checkstring(L, 2); int fheight = luax_checknumber(L, 3); int spacing = luax_checknumber(L, 4); diff --git a/src/lua/modules/graphics/image.cpp b/src/lua/modules/graphics/image.cpp index 5824660..3caff16 100644 --- a/src/lua/modules/graphics/image.cpp +++ b/src/lua/modules/graphics/image.cpp @@ -11,8 +11,9 @@ namespace lua using namespace jin::graphics; typedef Texture Image; + typedef Ref<Image>& ImageRef; - static inline Ref<Image>& checkImage(lua_State* L) + static inline ImageRef checkImage(lua_State* L) { Proxy* proxy = (Proxy*)luax_checktype(L, 1, JIN_GRAPHICS_IMAGE); return proxy->getRef<Image>(); @@ -20,21 +21,21 @@ namespace lua static int l_getWidth(lua_State* L) { - Ref<Image>& ref = checkImage(L); + ImageRef ref = checkImage(L); luax_pushnumber(L, ref->getWidth()); return 1; } static int l_getHeight(lua_State *L) { - Ref<Image>& ref = checkImage(L); + ImageRef ref = checkImage(L); luax_pushnumber(L, ref->getHeight()); return 1; } static int l_getPixel(lua_State* L) { - Ref<Image>& ref = checkImage(L); + ImageRef ref = checkImage(L); int x = luax_checknumber(L, 2); int y = luax_checknumber(L, 3); color c = ref->getPixel(x, y); @@ -47,7 +48,7 @@ namespace lua static int l_setAnchor(lua_State* L) { - Ref<Image>& ref = checkImage(L); + ImageRef ref = checkImage(L); int x = luax_checknumber(L, 2); int y = luax_checknumber(L, 3); ref->setAnchor(x, y); @@ -56,7 +57,7 @@ namespace lua static int l_getSize(lua_State* L) { - Ref<Image>& ref = checkImage(L); + ImageRef ref = checkImage(L); luax_pushnumber(L, ref->getWidth()); luax_pushnumber(L, ref->getHeight()); return 2; diff --git a/src/lua/modules/graphics/jsl.cpp b/src/lua/modules/graphics/jsl.cpp index ccd9ebd..58de46a 100644 --- a/src/lua/modules/graphics/jsl.cpp +++ b/src/lua/modules/graphics/jsl.cpp @@ -11,8 +11,9 @@ namespace lua using namespace jin::graphics; typedef Texture Image; + typedef Ref<JSLProgram>& JSLRef; - static inline Ref<JSLProgram>& checkJSLProgram(lua_State* L) + static inline JSLRef checkJSLProgram(lua_State* L) { Proxy* proxy = (Proxy*)luax_checktype(L, 1, JIN_GRAPHICS_SHADER); return proxy->getRef<JSLProgram>(); @@ -49,7 +50,7 @@ namespace lua */ static int l_send(lua_State* L) { - Ref<JSLProgram>& ref = checkJSLProgram(L); + JSLRef ref = checkJSLProgram(L); // number Image Texel const char* typestr = luax_checkstring(L, 2); // variable name diff --git a/src/lua/modules/net/Buffer.cpp b/src/lua/modules/net/Buffer.cpp index 3354518..cc9f2b4 100644 --- a/src/lua/modules/net/Buffer.cpp +++ b/src/lua/modules/net/Buffer.cpp @@ -11,7 +11,9 @@ namespace lua namespace net { - static inline Ref<Buffer>& checkNetBuffer(lua_State* L) + typedef Ref<Buffer>& BufferRef; + + static inline BufferRef checkNetBuffer(lua_State* L) { Proxy* proxy = (Proxy*)luax_checktype(L, 1, JIN_NETWORK_BUFFER); return proxy->getRef<Buffer>(); @@ -20,7 +22,7 @@ namespace net // net.Buffer:append(value) -> value_length static int l_append(lua_State* L) { - Ref<Buffer>& ref = checkNetBuffer(L); + BufferRef ref = checkNetBuffer(L); const int vp = 2; if (luax_isintegerstrict(L, vp)) { @@ -64,7 +66,7 @@ namespace net // net.Buffer:grabString(offset) -> string, length static int l_grabString(lua_State* L) { - Ref<Buffer>& ref = checkNetBuffer(L); + BufferRef ref = checkNetBuffer(L); int offset = luax_checkinteger(L, 2); int len; const char* str = ref->grabString(&len, offset); @@ -76,7 +78,7 @@ namespace net // net.Buffer:grabInteger(offset) -> integer, length static int l_grabInteger(lua_State* L) { - Ref<Buffer>& ref = checkNetBuffer(L); + BufferRef ref = checkNetBuffer(L); int offset = luax_checkinteger(L, 2); int len; int integer = ref->grabInteger(&len, offset); @@ -87,7 +89,7 @@ namespace net static int l_grabFloat(lua_State* L) { - Ref<Buffer>& ref = checkNetBuffer(L); + BufferRef ref = checkNetBuffer(L); int offset = luax_checkinteger(L, 2); int len; float floatv = ref->grabFloat(&len, offset); @@ -98,7 +100,7 @@ namespace net static int l_grabBoolean(lua_State* L) { - Ref<Buffer>& ref = checkNetBuffer(L); + BufferRef ref = checkNetBuffer(L); int offset = luax_checkinteger(L, 2); int len; bool boolean = ref->grabBoolean(&len, offset); diff --git a/src/lua/modules/net/socket.cpp b/src/lua/modules/net/socket.cpp index 6d3fdfb..ef6d4ac 100644 --- a/src/lua/modules/net/socket.cpp +++ b/src/lua/modules/net/socket.cpp @@ -12,9 +12,11 @@ namespace lua using namespace jin::net; using namespace lua::net; + typedef Ref<Socket>& SocketRef; + const int BUFFER_SIZE = 1024; - static inline Ref<Socket>& checkSocket(lua_State* L, int pos = 1) + static inline SocketRef checkSocket(lua_State* L, int pos = 1) { Proxy* proxy = (Proxy*)luax_checktype(L, pos, JIN_NETWORK_SOCKET); return proxy->getRef<Socket>(); @@ -29,7 +31,7 @@ namespace lua // return net.Socket static int l_accept(lua_State* L) { - Ref<Socket>& socket = checkSocket(L); + SocketRef socket = checkSocket(L); Socket* client = socket->accept(); Proxy* proxy = (Proxy*)luax_newinstance(L, JIN_NETWORK_SOCKET, sizeof(Proxy)); proxy->bind(new Ref<Socket>(client, JIN_NETWORK_SOCKET)); @@ -39,7 +41,7 @@ namespace lua // return net.Buffer static int l_receive(lua_State* L) { - Ref<Socket>& socket = checkSocket(L); + SocketRef socket = checkSocket(L); char buffer[BUFFER_SIZE] = {0}; int size = socket->receive(buffer, BUFFER_SIZE); Proxy* proxy = (Proxy*)luax_newinstance(L, JIN_NETWORK_BUFFER, sizeof(Proxy)); @@ -51,7 +53,7 @@ namespace lua // Socket:receiveFrom(address, port) static int l_receiveFrom(lua_State* L) { - Ref<Socket>& socket = checkSocket(L); + SocketRef socket = checkSocket(L); int address = luax_checkinteger(L, 2); int port = luax_checkinteger(L, 3); char buffer[BUFFER_SIZE]; @@ -65,7 +67,7 @@ namespace lua // Socket:send(net.Buffer) -> data_length static int l_send(lua_State* L) { - Ref<Socket>& socket = checkSocket(L); + SocketRef socket = checkSocket(L); Ref<Buffer>& ref = checkNetBuffer(L, 2); int len = socket->send(ref->buffer, ref->size); luax_pushinteger(L, len); @@ -75,7 +77,7 @@ namespace lua // Socket:sendTo(address, port, net.Buffer) static int l_sendTo(lua_State* L) { - Ref<Socket>& socket = checkSocket(L); + SocketRef socket = checkSocket(L); int address = luax_checkinteger(L, 2); int port = luax_checkinteger(L, 3); Ref<Buffer>& buffer = checkNetBuffer(L, 4); @@ -85,14 +87,14 @@ namespace lua static int l_close(lua_State* L) { - Ref<Socket>& socket = checkSocket(L); + SocketRef socket = checkSocket(L); socket->close(); return 0; } static int l_configBlocking(lua_State* L) { - Ref<Socket>& socket = checkSocket(L); + SocketRef socket = checkSocket(L); bool blocking = luax_checkbool(L, 2); socket->configureBlocking(blocking); return 0; diff --git a/src/lua/modules/thread/Thread.cpp b/src/lua/modules/thread/Thread.cpp index 5c9cb1f..7dfac25 100644 --- a/src/lua/modules/thread/Thread.cpp +++ b/src/lua/modules/thread/Thread.cpp @@ -12,9 +12,11 @@ namespace lua using thread::Thread; + typedef Ref<Thread>& ThreadRef; + int luaopen_thread(lua_State* L); - static inline Ref<Thread>& checkThread(lua_State* L) + static inline ThreadRef checkThread(lua_State* L) { Proxy* proxy = (Proxy*)luax_checktype(L, 1, JIN_THREAD_THREAD); return proxy->getRef<Thread>(); @@ -22,7 +24,7 @@ namespace lua static int threadRunner(void* t) { - Ref<Thread>& ref = *(Ref<Thread>*)t; + ThreadRef ref = *(Ref<Thread>*)t; lua_State* L = lua_open(); luax_openlibs(L); luaopen_jin(L); @@ -45,7 +47,7 @@ namespace lua static int l_start(lua_State* L) { - Ref<Thread>& ref = checkThread(L); + ThreadRef ref = checkThread(L); bool result = ref->start(&ref); luax_pushboolean(L, result); return 1; @@ -53,14 +55,14 @@ namespace lua static int l_wait(lua_State* L) { - Ref<Thread>& ref = checkThread(L); + ThreadRef ref = checkThread(L); ref->wait(); return 0; } static int l_send(lua_State* L) { - Ref<Thread>& ref = checkThread(L); + ThreadRef ref = checkThread(L); int slot = luax_checkinteger(L, 2); const int vp = 3; if (luax_isnumberstrict(L, vp)) @@ -93,7 +95,7 @@ namespace lua static int l_receive(lua_State* L) { - Ref<Thread>& ref = checkThread(L); + ThreadRef ref = checkThread(L); int slot = luax_checkinteger(L, 2); bool result = ref->receive(slot); luax_pushboolean(L, result); @@ -102,7 +104,7 @@ namespace lua static int l_fetch(lua_State* L) { - Ref<Thread>& ref = checkThread(L); + ThreadRef ref = checkThread(L); int slot = luax_checkinteger(L, 2); Thread::Variant v = ref->fetch(slot); switch (v.type) @@ -136,7 +138,7 @@ namespace lua static int l_demand(lua_State* L) { - Ref<Thread>& ref = checkThread(L); + ThreadRef ref = checkThread(L); int slot = luax_checkinteger(L, 2); Thread::Variant v = ref->demand(slot); switch (v.type) @@ -170,7 +172,7 @@ namespace lua static int l_remove(lua_State* L) { - Ref<Thread>& ref = checkThread(L); + ThreadRef ref = checkThread(L); int slot = luax_checkinteger(L, 2); ref->remove(slot); return 0; @@ -178,7 +180,7 @@ namespace lua static int l_getName(lua_State* L) { - Ref<Thread>& ref = checkThread(L); + ThreadRef ref = checkThread(L); const char* name = ref->getName(); luax_pushstring(L, name); return 1; @@ -186,7 +188,7 @@ namespace lua static int l_isRunning(lua_State* L) { - Ref<Thread>& ref = checkThread(L); + ThreadRef ref = checkThread(L); bool running = ref->isRunning(); luax_pushboolean(L, running); return 1; |