summaryrefslogtreecommitdiff
path: root/iup/srclua5/imagergba.lua
diff options
context:
space:
mode:
Diffstat (limited to 'iup/srclua5/imagergba.lua')
-rwxr-xr-xiup/srclua5/imagergba.lua31
1 files changed, 31 insertions, 0 deletions
diff --git a/iup/srclua5/imagergba.lua b/iup/srclua5/imagergba.lua
new file mode 100755
index 0000000..87eb967
--- /dev/null
+++ b/iup/srclua5/imagergba.lua
@@ -0,0 +1,31 @@
+------------------------------------------------------------------------------
+-- ImageRGBA class
+------------------------------------------------------------------------------
+local ctrl = {
+ nick = "imagergba",
+ parent = WIDGET,
+ creation = "nns", -- fake definition
+ funcname = "ImageRGBA",
+ callback = {},
+ createfunc = [[
+static int ImageRGBA(lua_State *L)
+{
+ int w = luaL_checkint(L, 1);
+ int h = luaL_checkint(L, 2);
+ unsigned char *pixels = iuplua_checkuchar_array(L, 3, w*h*4);
+ Ihandle *ih = IupImageRGBA(w, h, pixels);
+ iuplua_plugstate(L, ih);
+ iuplua_pushihandle_raw(L, ih);
+ free(pixels);
+ return 1;
+}
+
+]]
+}
+
+function ctrl.createElement(class, arg)
+ return ImageRGBA(arg.width, arg.height, arg.pixels)
+end
+
+iupRegisterWidget(ctrl)
+iupSetClass(ctrl, "iup widget")