summaryrefslogtreecommitdiff
path: root/iup/srclua3/il_colorbrowser.c
diff options
context:
space:
mode:
authorPixel <pixel@nobis-crew.org>2009-11-04 11:56:41 -0800
committerPixel <pixel@nobis-crew.org>2009-11-04 11:59:33 -0800
commitd577d991b97ae2b5ee1af23641bcffc3f83af5b2 (patch)
tree590639d50205d1bcfaff2a7d2dc6ebf3f373c7ed /iup/srclua3/il_colorbrowser.c
Initial import. Contains the im, cd and iup librairies, and a "working" Makefile for them under linux.
Diffstat (limited to 'iup/srclua3/il_colorbrowser.c')
-rwxr-xr-xiup/srclua3/il_colorbrowser.c72
1 files changed, 72 insertions, 0 deletions
diff --git a/iup/srclua3/il_colorbrowser.c b/iup/srclua3/il_colorbrowser.c
new file mode 100755
index 0000000..9415244
--- /dev/null
+++ b/iup/srclua3/il_colorbrowser.c
@@ -0,0 +1,72 @@
+/** \file
+ * \brief Bindig of iupcb to Lua 3.
+ *
+ * See Copyright Notice in "iup.h"
+ */
+
+#include <stdlib.h>
+
+#include <lua.h>
+
+#include "iup.h"
+#include "iupcontrols.h"
+
+#include "iuplua.h"
+#include "il.h"
+#include "il_controls.h"
+
+
+static int CB_drag(Ihandle *handle, unsigned char r, unsigned char g, unsigned char b)
+{
+ iuplua_call_start(handle, "drag");
+ lua_pushnumber(r);
+ lua_pushnumber(g);
+ lua_pushnumber(b);
+ return iuplua_call();
+}
+
+static int CB_change(Ihandle *handle, unsigned char r, unsigned char g, unsigned char b)
+{
+ iuplua_call_start(handle, "change");
+ lua_pushnumber(r);
+ lua_pushnumber(g);
+ lua_pushnumber(b);
+ return iuplua_call();
+}
+
+static void CreateColorBrowser(void)
+{
+ int tag = (int)lua_getnumber(lua_getglobal("iuplua_tag"));
+ lua_pushusertag(IupColorBrowser(), tag);
+}
+
+int cblua_open(void)
+{
+ lua_register("iupCreateColorBrowser", CreateColorBrowser);
+ lua_register("iup_colorbrowser_drag_cb", (lua_CFunction)CB_drag);
+ lua_register("iup_colorbrowser_change_cb", (lua_CFunction)CB_change);
+
+#ifdef IUPLUA_USELOH
+#ifdef TEC_BIGENDIAN
+#ifdef TEC_64
+#include "loh/colorbrowser_be64.loh"
+#else
+#include "loh/colorbrowser_be32.loh"
+#endif
+#else
+#ifdef TEC_64
+#ifdef WIN64
+#include "loh/colorbrowser_le64w.loh"
+#else
+#include "loh/colorbrowser_le64.loh"
+#endif
+#else
+#include "loh/colorbrowser.loh"
+#endif
+#endif
+#else
+ iuplua_dofile("luacb.lua");
+#endif
+
+ return 1;
+}