lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


Michael Bauroth wrote:
Sorry that I ask: what do you mean with a table? Have you eventually a short sample for me? Unfortunately I have to learn Lua, C++ in depth and the bridge stuff at the same time.

Best Regards

Ignacio Burgueño schrieb:
Michael Bauroth wrote:

I have implemented your solution, but had to change two lines because of a compiler error (VS2008). What do you mean?

Just another question. What can I change to use the same solution as well for methods with more than one parameter, e.g. instead of btn:SetPosition( 1, 1 ) I want to use btn.Position = 1, 1?

I don't think this is possible since the __newindex and __index metamethods don't take multiple values. There was some discussion of the list some time ago about this.

What you might do instead is something like:
btn.Position = {1,1}

And deal with a table in your C++ implementation.


Maybe, something like that..

-- Lua
btn.Position = {1,1}

// C
LCB_IMPL_SET(Button, Position)
    luaL_checktype(L, 1, LUA_TTABLE);
    lua_rawgeti(L, 1, 1);
    int x = lua_tonumber(L, -1);
    lua_pop(L, 1);
    lua_rawgeti(L, 1, 2);
    int y = lua_tonumber(L, -1);
    lua_pop(L, 1);

    return 0;

Hakki Dogusan