From dd009ccdfd62f9153dbc72f5f5de5d5f72979690 Mon Sep 17 00:00:00 2001 From: David Walter Seikel Date: Tue, 22 Apr 2014 15:13:38 +1000 Subject: Move all source into the new src directory, and shuffle a few other things around. --- src/LuaSL/LuaSL.edc | 205 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 205 insertions(+) create mode 100644 src/LuaSL/LuaSL.edc (limited to 'src/LuaSL/LuaSL.edc') diff --git a/src/LuaSL/LuaSL.edc b/src/LuaSL/LuaSL.edc new file mode 100644 index 0000000..844fc8e --- /dev/null +++ b/src/LuaSL/LuaSL.edc @@ -0,0 +1,205 @@ +color_classes { + color_class { name: "test_colour"; color: 255 255 255 255; } +} + +//fonts { +// font: "Vera.ttf" "default"; +//} + +images { + image: "bubble.png" COMP; + image: "test.png" COMP; +} + +collections { + group { + name: "main"; + lua_script_only: 1; + lua_script { + --// stick object private/local vars here + local D; + local text_geom; + + --// init object here + D = {}; --// data is empty table to start + + --// send some random edje message + edje.messagesend(7, "none" ); + edje.messagesend(7, "sig", "signal", "source"); + edje.messagesend(7, "str", "hello world"); + edje.messagesend(7, "int", 987); + edje.messagesend(7, "float", 987.321); + edje.messagesend(7, "strset", {"hello", "there", "world"}); + edje.messagesend(7, "intset", {1, 2, 3}); + edje.messagesend(7, "floatset", {1.1, 2.2, 3.3}); + edje.messagesend(7, "strint", "hello world", 7); + edje.messagesend(7, "strfloat", "hello world", 7.654); + edje.messagesend(7, "strintset","hello world", {1, 2, 3}); + + D.edje = edje.edje(); + D.edje:file("plain/edje/group"); + D.edje:show(); + + D.text = edje.text(); + D.text:geom (50, 5, 150, 50); + D.text:color (255, 0, 0, 255); + D.text:font("Sans:style=Bold", 32); + D.text:text("Lua rocks!"); + text_geom = D.text:geom(); +--// print(D.text:text()); + D.text:show(); + + + --// shutdown func - generally empty or not there. everything garbage collected for you + function shutdown () +--// print("lua::shutdown"); + end + + function show () +--// print("lua::show"); + end + + function hide () +--// print("lua::hide"); + end + + function move (x, y) +--// print("lua::move x=" .. x .. " x=" .. y); + D.edje:move(0, 0); + end + + function resize (w, h) +--// print("lua::resize w=" .. w .. " h=" .. h); + D.text:move((w - text_geom.w) / 2, (h - text_geom.h) / 8); + D.edje:resize(w, h); + end + + function message (id, type, ...) + print("lua::message id=" .. id .. " type=" .. type); + --// handle your message type here. check id + type then use the + --// vararg appropriately. they are the same as the params passed + --// to edje:messagesend() (if any are passed at all). Any array + --// arguments are passed as a single table. + + if ("none" == type) then + print("lua::message no args"); + elseif ("strset" == type) then + strs = ... ; + print_table_start(strs, "", "lua::message strings"); + elseif ("intset" == type) then + ints = ... ; + print_table_start(ints, "", "lua::message ints"); + elseif ("floatset" == type) then + floats = ... ; + print_table_start(floats, "", "lua::message floats"); + elseif ("strintset" == type) then + str, ints = ... ; + print("lua::message " .. str); + print_table_start(ints, "", "lua::message ints"); + elseif ("strfloatset" == type) then + str, floats = ... ; + print("lua::message " .. str); + print_table_start(floats, "", "lua::message floats"); + else + print("lua::message " .. ... ); + end + end + + function signal (sig, src) + print("lua::signal sig= " .. sig .. " src= " .. src); + end + } + } + + // The group name NEEDS a / in it, + // or the part below that tries to swallow it won't work. + // Leaving just the lua part visible. + group { + name: "bubbles/lua"; + lua_script_only: 1; + lua_script { + local bubbles = { }; + local bubbleCols = 8; + local bubbleRows = 6; + + for i = 1, bubbleRows do + row = { }; + for j = 1, bubbleCols do + image = edje.image(); + image:image("bubble.png"); + image:show(); + table.insert(row, image); + end + table.insert(bubbles, row); + end + + function resize (w, h) + for i = 1, bubbleRows do + for j = 1, bubbleCols do + w1 = w / bubbleCols; + h1 = h / bubbleRows; + bubbles[i][j]:geom((j - 1) * w1, (i - 1) * h1, w1, h1); + if ((1 == i) or (1 == j) or (bubbleRows == i) or (bubbleCols == j)) then + bubbles[i][j]:color(0, 255, 0, 200); + else + bubbles[i][j]:color(math.random(200) + 55, 0, math.random(255) + 55, 200); + end + end + end + end + } + } + + group { + name: "plain/edje/group"; + parts { + part { + name: "background"; + type: RECT; + mouse_events: 0; + description { + state: "default" 0.0; + color: 0 0 0 255; + } + } + + // A lua group embedded in an edje group. + part { + name: "bubbles_lua"; + type: GROUP; + source: "bubbles/lua"; + mouse_events: 0; + description { state: "default" 0.0; } + } + + part { + name: "background_image"; + type: IMAGE; + mouse_events: 0; + description { + state: "default" 0.0; + aspect_preference: HORIZONTAL; + color_class: "test_colour"; + image { normal: "test.png"; } + } + } + + part { + name: "some_text"; + type: TEXT; + mouse_events: 0; + description { + state: "default" 0; + text + { + text: "This is test text."; + text_class: "test_text_class"; + } + } + } + + } + } + +} + -- cgit v1.1