aboutsummaryrefslogtreecommitdiff
path: root/src/lua
diff options
context:
space:
mode:
Diffstat (limited to 'src/lua')
-rw-r--r--src/lua/modules/graphics/font.cpp4
-rw-r--r--src/lua/modules/graphics/image.cpp13
-rw-r--r--src/lua/modules/graphics/jsl.cpp5
-rw-r--r--src/lua/modules/net/Buffer.cpp14
-rw-r--r--src/lua/modules/net/socket.cpp18
-rw-r--r--src/lua/modules/thread/Thread.cpp24
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;