Enlightenment EFL Adds "Elua", A Lua JIT App Runtime

Responsible for a heck of a lot of new code added to EFL yesterday was this LuaJIT-based runtime. "Elua is a LuaJIT based runtime for the EFL meant to provide facilities for rapid application development. The name is temporary. The EFL bindings will be generated with Eolian."
Very simple Enlightenment apps can now be written, here's an example test application written for this Enlightenment LuaJIT environment:
local win = elm.Window("test", "Hello World")
win:smart_callback_add("delete,request", function()
elm.exit()
end)
local bg = elm.Background(win)
bg:size_hint_weight_set(1.0, 1.0)
win:resize_object_add(bg)
bg:show()
local bx = elm.Box(win)
bx:size_hint_weight_set(1.0, 1.0)
win:resize_object_add(bx)
bx:show()
local lbl = elm.Label(win)
lbl:text_set("Lua runtime test")
bx:pack_end(lbl)
lbl:show()
local counter = nil
local step = 5
local btn = elm.Button(win)
btn:text_set("Reset counter")
bx:pack_end(btn)
btn:smart_callback_add("clicked", function()
if not counter then
btn:text_set("Add " .. step)
end
counter = counter and (counter + step) or 0
lbl:text_set(tostring(counter))
end)
btn:show()
win:resize(360, 360)
win:show()
In other Enlightenment EFL work, the latest code now also has a full ETC2 encoder. ETC2 is the latest version of the Ericsson Texture Compression technique that's mandated by OpenGL ES 3.0 and OpenGL 4.3.
In other news, in case you missed it, Enlightenment 0.19 is in alpha with its Wayland improvements, new compositor code, etc.
7 Comments