diff options
author | Pixel <pixel@nobis-crew.org> | 2009-11-04 11:56:41 -0800 |
---|---|---|
committer | Pixel <pixel@nobis-crew.org> | 2009-11-04 11:59:33 -0800 |
commit | d577d991b97ae2b5ee1af23641bcffc3f83af5b2 (patch) | |
tree | 590639d50205d1bcfaff2a7d2dc6ebf3f373c7ed /iup/srclua3/il_spin.c |
Initial import. Contains the im, cd and iup librairies, and a "working" Makefile for them under linux.
Diffstat (limited to 'iup/srclua3/il_spin.c')
-rwxr-xr-x | iup/srclua3/il_spin.c | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/iup/srclua3/il_spin.c b/iup/srclua3/il_spin.c new file mode 100755 index 0000000..6319c51 --- /dev/null +++ b/iup/srclua3/il_spin.c @@ -0,0 +1,66 @@ +/** \file + * \brief Bindig of iupspin to Lua 3. + * + * See Copyright Notice in "iup.h" + */ + +#include <stdlib.h> + +#include "iup.h" + +#include <lua.h> + +#include "iuplua.h" +#include "il.h" +#include "il_controls.h" + + +static int SPIN_spin_cb (Ihandle *handle, int v) +{ + iuplua_call_start(handle, "spincb"); + lua_pushnumber(v); + return iuplua_call(); +} + +static void CreateSpin(void) +{ + int tag = (int)lua_getnumber(lua_getglobal("iuplua_tag")); + lua_pushusertag(IupSpin(), tag); +} + +static void CreateSpinbox(void) +{ + int tag = (int)lua_getnumber(lua_getglobal("iuplua_tag")); + lua_pushusertag(IupSpinbox(iuplua_checkihandle(1)), tag); +} + +int spinlua_open(void) +{ + lua_register("iupCreateSpin", CreateSpin); + lua_register("iupCreateSpinbox", CreateSpinbox); + lua_register("iup_spin_cb", (lua_CFunction)SPIN_spin_cb); + +#ifdef IUPLUA_USELOH +#ifdef TEC_BIGENDIAN +#ifdef TEC_64 +#include "loh/spin_be64.loh" +#else +#include "loh/spin_be32.loh" +#endif +#else +#ifdef TEC_64 +#ifdef WIN64 +#include "loh/spin_le64w.loh" +#else +#include "loh/spin_le64.loh" +#endif +#else +#include "loh/spin.loh" +#endif +#endif +#else + iuplua_dofile("luaspin.lua"); +#endif + + return 1; +} |