parent
854ccebd14
commit
0cdb510001
|
@ -608,6 +608,7 @@ int main(int argc, char **argv)
|
||||||
return EXIT_FAILURE;
|
return EXIT_FAILURE;
|
||||||
if (!edje_init())
|
if (!edje_init())
|
||||||
goto shutdown_ecore_evas;
|
goto shutdown_ecore_evas;
|
||||||
|
edje_frametime_set(1.0/60.0);
|
||||||
|
|
||||||
args = ecore_getopt_parse(&optdesc, values, argc, argv);
|
args = ecore_getopt_parse(&optdesc, values, argc, argv);
|
||||||
if (args < 0)
|
if (args < 0)
|
||||||
|
|
|
@ -2,98 +2,6 @@
|
||||||
* vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2
|
* vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
|
||||||
@page luaref Edje LUA scripting
|
|
||||||
|
|
||||||
|
|
||||||
@section intro Introduction
|
|
||||||
|
|
||||||
Lua scripts are declared in edc files with the @a lua_script keyword. Like this:
|
|
||||||
@code
|
|
||||||
group {
|
|
||||||
name: "mygroup";
|
|
||||||
lua_script {
|
|
||||||
print("LUA: on-load script");
|
|
||||||
}
|
|
||||||
parts {
|
|
||||||
...
|
|
||||||
}
|
|
||||||
programs {
|
|
||||||
program {
|
|
||||||
signal: "a_signal";
|
|
||||||
source: "a_part";
|
|
||||||
lua_script {
|
|
||||||
print("LUA: 'mouse,down,1' on 'button'");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@endcode
|
|
||||||
|
|
||||||
Inside a lua_script code block, there's a reference to your edje @ref Group named
|
|
||||||
@a ed, which you may use for accessing your parts (e.g. a part named "label"
|
|
||||||
is accessed through @a ed.label). This is the main object that is used to
|
|
||||||
access every parts and is also used to create @ref Timer, @ref poller and
|
|
||||||
@ref animator; to emit signal, send messagges, run/stop programs and more.
|
|
||||||
Look at the @ref Group class to see all the methods and properties.
|
|
||||||
|
|
||||||
Some object attributes return a table of values, the @ref Object attribute
|
|
||||||
@a geometry for example return a table of 4 values (x,y,w,h). This tables don't
|
|
||||||
have named index thus you can access the fields only using: geometry[1] for the
|
|
||||||
x value. NOTE that you can NOT use gemetry.x or .geometry["x"]. But
|
|
||||||
you can use the lua unpack function in this way:
|
|
||||||
@code
|
|
||||||
x, y, w, h = unpack(ed.part_name.geometry)
|
|
||||||
print("geometry: ", x, y, w, h)
|
|
||||||
// the same for state names:
|
|
||||||
state, val = unpack(ed.part_name.state)
|
|
||||||
print("state: ", state, val)
|
|
||||||
// and for setting tables attributes:
|
|
||||||
custom.color = { 255, 255, 255, 255 }
|
|
||||||
ed.part_name.state = { 'custom', 0.0 }
|
|
||||||
@endcode
|
|
||||||
|
|
||||||
Classes hierarchy:
|
|
||||||
- @ref Timer
|
|
||||||
- @ref Animator
|
|
||||||
- @ref Poller
|
|
||||||
- @ref Object
|
|
||||||
- @ref Group
|
|
||||||
- @ref Part
|
|
||||||
- @ref Image
|
|
||||||
- @ref Line
|
|
||||||
- @ref Polygon
|
|
||||||
- @ref Table
|
|
||||||
- @ref Description
|
|
||||||
|
|
||||||
References:
|
|
||||||
@li For general LUA documentations look at the official LUA manual
|
|
||||||
(http://www.lua.org/manual/5.1/)
|
|
||||||
@li The lua-users wiki is also full of lua info (http://lua-users.org/wiki/)
|
|
||||||
@li Examples of edc files that use LUA can be found in the doc/examples folder
|
|
||||||
in the edje sources.
|
|
||||||
|
|
||||||
|
|
||||||
Lua snippets:
|
|
||||||
@code
|
|
||||||
// print one or more values in console in a tabbed way or using printf style
|
|
||||||
print("something to say", val1, val2)
|
|
||||||
s = string.format("%d %d", 3, 4)
|
|
||||||
print(s)
|
|
||||||
|
|
||||||
// string concat
|
|
||||||
print("string1" .. "string2" .. val1)
|
|
||||||
|
|
||||||
// var to string
|
|
||||||
tostring(var)
|
|
||||||
|
|
||||||
// Print the type of a variable
|
|
||||||
print(type(var))
|
|
||||||
|
|
||||||
@endcode
|
|
||||||
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifdef HAVE_CONFIG_H
|
#ifdef HAVE_CONFIG_H
|
||||||
# include <config.h>
|
# include <config.h>
|
||||||
#endif
|
#endif
|
||||||
|
@ -802,31 +710,6 @@ const luaL_Reg lClass_fn[] = {
|
||||||
{NULL, NULL} // sentinel
|
{NULL, NULL} // sentinel
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
|
||||||
@page luaref
|
|
||||||
@luaclass{Timer,Timer Class}
|
|
||||||
|
|
||||||
The timer class is a wrapper around ecore_timer. You can create a timer using
|
|
||||||
the @a timer(secs,callback) method of the @ref Group class.
|
|
||||||
The callback function will be called every @a secs seconds until it will
|
|
||||||
return CALLBACK_RENEW. If CALLBACK_CANCEL is returned the timer will stop.
|
|
||||||
|
|
||||||
Example:
|
|
||||||
@code
|
|
||||||
lua_script {
|
|
||||||
function timer_cb()
|
|
||||||
print("timer_cb")
|
|
||||||
return CALLBACK_RENEW
|
|
||||||
end
|
|
||||||
|
|
||||||
timer = ed:timer(0.5, timer_cb)
|
|
||||||
}
|
|
||||||
@endcode
|
|
||||||
|
|
||||||
A more detailed example can be found in doc/examples/lua_timer.edc
|
|
||||||
|
|
||||||
@seealso{Ecore Timer Docs,http://docs.enlightenment.org/auto/ecore/group__Ecore__Timer__Group.html}
|
|
||||||
*/
|
|
||||||
|
|
||||||
const luaL_Reg lTimer_get[];
|
const luaL_Reg lTimer_get[];
|
||||||
|
|
||||||
|
@ -924,13 +807,6 @@ _edje_lua_timer_get_interval(lua_State *L)
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
@page luaref
|
|
||||||
@attributes
|
|
||||||
@li Timer.pending
|
|
||||||
@li Timer.precision
|
|
||||||
@li Timer.interval
|
|
||||||
*/
|
|
||||||
const luaL_Reg lTimer_get[] = {
|
const luaL_Reg lTimer_get[] = {
|
||||||
{"pending", _edje_lua_timer_get_pending},
|
{"pending", _edje_lua_timer_get_pending},
|
||||||
{"precision", _edje_lua_timer_get_precision},
|
{"precision", _edje_lua_timer_get_precision},
|
||||||
|
@ -947,12 +823,6 @@ _edje_lua_timer_set_interval(lua_State *L)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
@page luaref
|
|
||||||
@setters
|
|
||||||
@li Timer.interval
|
|
||||||
*/
|
|
||||||
|
|
||||||
const luaL_Reg lTimer_set[] = {
|
const luaL_Reg lTimer_set[] = {
|
||||||
{"interval", _edje_lua_timer_set_interval},
|
{"interval", _edje_lua_timer_set_interval},
|
||||||
{NULL, NULL} // sentinel
|
{NULL, NULL} // sentinel
|
||||||
|
@ -1003,14 +873,6 @@ _edje_lua_timer_fn_delay(lua_State *L)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
@page luaref
|
|
||||||
@methods
|
|
||||||
@li Timer:del()
|
|
||||||
@li Timer:freeze()
|
|
||||||
@li Timer:thaw()
|
|
||||||
@li Timer:delay(secs)
|
|
||||||
*/
|
|
||||||
const luaL_Reg lTimer_fn[] = {
|
const luaL_Reg lTimer_fn[] = {
|
||||||
{"del", _edje_lua_timer_fn_del},
|
{"del", _edje_lua_timer_fn_del},
|
||||||
{"freeze", _edje_lua_timer_fn_freeze},
|
{"freeze", _edje_lua_timer_fn_freeze},
|
||||||
|
@ -1019,13 +881,6 @@ const luaL_Reg lTimer_fn[] = {
|
||||||
{NULL, NULL} // sentinel
|
{NULL, NULL} // sentinel
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
|
||||||
@page luaref
|
|
||||||
@luaclass{Animator,Animator Class}
|
|
||||||
|
|
||||||
The animator class is a wrapper around ecore_animator. Animator are used the
|
|
||||||
same way as @ref Timer.
|
|
||||||
*/
|
|
||||||
const luaL_Reg lAnimator_get[];
|
const luaL_Reg lAnimator_get[];
|
||||||
|
|
||||||
const luaL_Reg lAnimator_fn[];
|
const luaL_Reg lAnimator_fn[];
|
||||||
|
@ -1090,11 +945,6 @@ _edje_lua_animator_get_frametime(lua_State *L)
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
@page luaref
|
|
||||||
@attributes
|
|
||||||
@li Animator.frametime
|
|
||||||
*/
|
|
||||||
const luaL_Reg lAnimator_get[] = {
|
const luaL_Reg lAnimator_get[] = {
|
||||||
{"frametime", _edje_lua_animator_get_frametime},
|
{"frametime", _edje_lua_animator_get_frametime},
|
||||||
{NULL, NULL}
|
{NULL, NULL}
|
||||||
|
@ -1118,23 +968,11 @@ _edje_lua_animator_fn_del(lua_State *L)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
@page luaref
|
|
||||||
@methods
|
|
||||||
@li Animator:del()
|
|
||||||
*/
|
|
||||||
const luaL_Reg lAnimator_fn[] = {
|
const luaL_Reg lAnimator_fn[] = {
|
||||||
{"del", _edje_lua_animator_fn_del},
|
{"del", _edje_lua_animator_fn_del},
|
||||||
{NULL, NULL} // sentinel
|
{NULL, NULL} // sentinel
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
|
||||||
@page luaref
|
|
||||||
@luaclass{Poller,Poller Class}
|
|
||||||
|
|
||||||
The poller class is a wrapper around ecore_poller.
|
|
||||||
|
|
||||||
*/
|
|
||||||
const luaL_Reg lPoller_get[];
|
const luaL_Reg lPoller_get[];
|
||||||
|
|
||||||
const luaL_Reg lPoller_fn[];
|
const luaL_Reg lPoller_fn[];
|
||||||
|
@ -1199,11 +1037,6 @@ _edje_lua_poller_get_interval(lua_State *L)
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
@page luaref
|
|
||||||
@attributes
|
|
||||||
@li Poller.interval
|
|
||||||
*/
|
|
||||||
const luaL_Reg lPoller_get[] = {
|
const luaL_Reg lPoller_get[] = {
|
||||||
{"interval", _edje_lua_poller_get_interval},
|
{"interval", _edje_lua_poller_get_interval},
|
||||||
{NULL, NULL}
|
{NULL, NULL}
|
||||||
|
@ -1229,11 +1062,6 @@ _edje_lua_poller_fn_del(lua_State *L)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
@page luaref
|
|
||||||
@methods
|
|
||||||
@li Poller:del()
|
|
||||||
*/
|
|
||||||
const luaL_Reg lPoller_fn[] = {
|
const luaL_Reg lPoller_fn[] = {
|
||||||
{"del", _edje_lua_poller_fn_del},
|
{"del", _edje_lua_poller_fn_del},
|
||||||
{NULL, NULL}
|
{NULL, NULL}
|
||||||
|
@ -1415,36 +1243,6 @@ const luaL_Reg lTransition_fn[] = {
|
||||||
{NULL, NULL} // sentinel
|
{NULL, NULL} // sentinel
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
|
||||||
@page luaref
|
|
||||||
@luaclass{Object,General Object Class}
|
|
||||||
|
|
||||||
This is the base class, many other classes are children of this.
|
|
||||||
|
|
||||||
You can attach event callbacks to this class using a classic c approach:
|
|
||||||
@code
|
|
||||||
function mouse_move_cb(self, ...)
|
|
||||||
print("mouse_move", ...)
|
|
||||||
end
|
|
||||||
|
|
||||||
rect = ed:rectangle()
|
|
||||||
rect.mouse_events = true
|
|
||||||
rect.mouse_move = mouse_move_cb
|
|
||||||
@endcode
|
|
||||||
or you can also do the same in a more lua-fashion style
|
|
||||||
@code
|
|
||||||
rect = ed:rectangle {
|
|
||||||
mouse_events = true,
|
|
||||||
mouse_move = function (self, ...)
|
|
||||||
print ('mouse_move', ...)
|
|
||||||
end
|
|
||||||
}
|
|
||||||
@endcode
|
|
||||||
|
|
||||||
|
|
||||||
@seealso{Evas Object Docs,http://docs.enlightenment.org/auto/evas/group__Evas__Object__Group.html}
|
|
||||||
*/
|
|
||||||
|
|
||||||
const luaL_Reg lObject_get[];
|
const luaL_Reg lObject_get[];
|
||||||
|
|
||||||
const luaL_Reg lObject_set[];
|
const luaL_Reg lObject_set[];
|
||||||
|
@ -1565,20 +1363,6 @@ _edje_lua_object_fn_clip_unset(lua_State *L)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
@page luaref
|
|
||||||
@methods
|
|
||||||
@li Object:del()
|
|
||||||
@li Object:show()
|
|
||||||
@li Object:hide()
|
|
||||||
@li Object:move(x, y)
|
|
||||||
@li Object:resize(w, h)
|
|
||||||
@li Object:raise()
|
|
||||||
@li Object:lower()
|
|
||||||
@li Object:stack_above()
|
|
||||||
@li Object:stack_below()
|
|
||||||
@li Object:clip_unset()
|
|
||||||
*/
|
|
||||||
const luaL_Reg lObject_fn[] = {
|
const luaL_Reg lObject_fn[] = {
|
||||||
{"del", _edje_lua_object_fn_del},
|
{"del", _edje_lua_object_fn_del},
|
||||||
{"show", _edje_lua_object_fn_show},
|
{"show", _edje_lua_object_fn_show},
|
||||||
|
@ -1911,39 +1695,6 @@ _edje_lua_object_get_mouse_events(lua_State *L)
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
@page luaref
|
|
||||||
@attributes
|
|
||||||
@li Object.name
|
|
||||||
@li Object.geometry: (x, y, width, height)
|
|
||||||
@li Object.type: object type (RECT=1, TEXT, IMAGE, SWALLOW, TEXTBLOCK, GRADIENT, GROUP, BOX, TABLE, EXTERNAL)
|
|
||||||
@li Object.layer
|
|
||||||
@li Object.above
|
|
||||||
@li Object.below
|
|
||||||
@li Object.size_hint_min: (w,h)
|
|
||||||
@li Object.size_hint_max: (w,h)
|
|
||||||
@li Object.size_hint_request: (w,h)
|
|
||||||
@li Object.size_hint_aspect: (aspect, w, h)
|
|
||||||
@li Object.size_hint_align: (w,h)
|
|
||||||
@li Object.size_hint_weight: (w,h)
|
|
||||||
@li Object.size_hint_padding: (l,r,t,b)
|
|
||||||
@li Object.visible
|
|
||||||
@li Object.render_op
|
|
||||||
@li Object.anti_alias
|
|
||||||
@li Object.scale
|
|
||||||
@li Object.color: (r, g, b, alpha)
|
|
||||||
@li Object.color_interpolation
|
|
||||||
@li Object.clip
|
|
||||||
@li Object.clipees
|
|
||||||
@li Object.evas (not implemeted, always return nil)
|
|
||||||
@li Object.pass_events
|
|
||||||
@li Object.repeat_events
|
|
||||||
@li Object.propagate_events
|
|
||||||
@li Object.focus
|
|
||||||
@li Object.pointer_mode
|
|
||||||
@li Object.precise_is_inside
|
|
||||||
@li Object.mouse_events
|
|
||||||
*/
|
|
||||||
const luaL_Reg lObject_get[] = {
|
const luaL_Reg lObject_get[] = {
|
||||||
{"name", _edje_lua_object_get_name},
|
{"name", _edje_lua_object_get_name},
|
||||||
{"geometry", _edje_lua_object_get_geometry},
|
{"geometry", _edje_lua_object_get_geometry},
|
||||||
|
@ -2341,32 +2092,6 @@ _edje_lua_object_set_mouse_events(lua_State *L)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
@page luaref
|
|
||||||
@setters
|
|
||||||
@li Object.name
|
|
||||||
@li Object.layer
|
|
||||||
@li Object.size_hint_min: (w,h)
|
|
||||||
@li Object.size_hint_max: (w,h)
|
|
||||||
@li Object.size_hint_request: (w,h)
|
|
||||||
@li Object.size_hint_aspect: (w,h)
|
|
||||||
@li Object.size_hint_align: (w,h)
|
|
||||||
@li Object.size_hint_weight: (w,h)
|
|
||||||
@li Object.size_hint_padding: (l,r,t,b)
|
|
||||||
@li Object.render_op
|
|
||||||
@li Object.anti_alias
|
|
||||||
@li Object.scale
|
|
||||||
@li Object.color: (r, g, b, alpha)
|
|
||||||
@li Object.color_interpolation
|
|
||||||
@li Object.clip
|
|
||||||
@li Object.pass_events
|
|
||||||
@li Object.repeat_events
|
|
||||||
@li Object.propagate_events
|
|
||||||
@li Object.focus
|
|
||||||
@li Object.pointer_mode
|
|
||||||
@li Object.precise_is_inside
|
|
||||||
@li Object.mouse_events
|
|
||||||
*/
|
|
||||||
const luaL_Reg lObject_set[] = {
|
const luaL_Reg lObject_set[] = {
|
||||||
{"name", _edje_lua_object_set_name},
|
{"name", _edje_lua_object_set_name},
|
||||||
{"layer", _edje_lua_object_set_layer},
|
{"layer", _edje_lua_object_set_layer},
|
||||||
|
@ -2392,16 +2117,6 @@ const luaL_Reg lObject_set[] = {
|
||||||
{"mouse_events", _edje_lua_object_set_mouse_events},
|
{"mouse_events", _edje_lua_object_set_mouse_events},
|
||||||
{NULL, NULL} // sentinel
|
{NULL, NULL} // sentinel
|
||||||
};
|
};
|
||||||
/**
|
|
||||||
@page luaref
|
|
||||||
@events
|
|
||||||
@li Object.mouse_in: func(self,output_x,output_y,canvas_x,canvas_y)
|
|
||||||
@li Object.mouse_out: func(self,output_x,output_y,canvas_x,canvas_y)
|
|
||||||
@li Object.mouse_down: func(self,button,output_x,output_y,canvas_x,canvas_y)
|
|
||||||
@li Object.mouse_up: func(self,button,output_x,output_y,canvas_x,canvas_y)
|
|
||||||
@li Object.mouse_move: func(self,buttons,output_x,output_y,canvas_x,canvas_y)
|
|
||||||
@li Object.mouse_wheel: func(self,z,output_x,output_y,canvas_x,canvas_y)
|
|
||||||
*/
|
|
||||||
|
|
||||||
const Edje_Lua_Reg *cRectangle[] = {
|
const Edje_Lua_Reg *cRectangle[] = {
|
||||||
&mClass,
|
&mClass,
|
||||||
|
@ -2409,11 +2124,6 @@ const Edje_Lua_Reg *cRectangle[] = {
|
||||||
NULL // sentinel
|
NULL // sentinel
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
|
||||||
@page luaref
|
|
||||||
@luaclass{Image,Image Class}
|
|
||||||
@seealso{Evas Object Image Docs,http://docs.enlightenment.org/auto/evas/group__Evas__Object__Image.html}
|
|
||||||
*/
|
|
||||||
const luaL_Reg lImage_get[];
|
const luaL_Reg lImage_get[];
|
||||||
|
|
||||||
const luaL_Reg lImage_set[];
|
const luaL_Reg lImage_set[];
|
||||||
|
@ -2446,11 +2156,6 @@ _edje_lua_image_get_size(lua_State *L)
|
||||||
return 1;
|
return 1;
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
|
||||||
@page luaref
|
|
||||||
@attributes
|
|
||||||
@li Image.size: (w,h)
|
|
||||||
*/
|
|
||||||
const luaL_Reg lImage_get[] = {
|
const luaL_Reg lImage_get[] = {
|
||||||
{"size", _edje_lua_image_get_size},
|
{"size", _edje_lua_image_get_size},
|
||||||
{NULL, NULL} // sentinel
|
{NULL, NULL} // sentinel
|
||||||
|
@ -2500,14 +2205,6 @@ _edje_lua_image_set_alpha(lua_State *L)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
@page luaref
|
|
||||||
@setters
|
|
||||||
@li Image.file
|
|
||||||
@li Image.fill: (x,y,w,h)
|
|
||||||
@li Image.fill_transform
|
|
||||||
@li Image.alpha
|
|
||||||
*/
|
|
||||||
const luaL_Reg lImage_set[] = {
|
const luaL_Reg lImage_set[] = {
|
||||||
{"file", _edje_lua_image_set_file},
|
{"file", _edje_lua_image_set_file},
|
||||||
{"fill", _edje_lua_image_set_fill},
|
{"fill", _edje_lua_image_set_fill},
|
||||||
|
@ -2516,11 +2213,6 @@ const luaL_Reg lImage_set[] = {
|
||||||
{NULL, NULL} // sentinel
|
{NULL, NULL} // sentinel
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
|
||||||
@page luaref
|
|
||||||
@luaclass{Line,Line Class}
|
|
||||||
@seealso{Evas Object Line Docs,http://docs.enlightenment.org/auto/evas/group__Evas__Line__Group.html}
|
|
||||||
*/
|
|
||||||
const luaL_Reg lLine_get[];
|
const luaL_Reg lLine_get[];
|
||||||
const luaL_Reg lLine_set[];
|
const luaL_Reg lLine_set[];
|
||||||
|
|
||||||
|
@ -2552,11 +2244,6 @@ _edje_lua_line_get_xy(lua_State *L)
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
@page luaref
|
|
||||||
@attributes
|
|
||||||
@li Line.xy: (x1,y1,x2,y2)
|
|
||||||
*/
|
|
||||||
const luaL_Reg lLine_get[] = {
|
const luaL_Reg lLine_get[] = {
|
||||||
{"xy", _edje_lua_line_get_xy},
|
{"xy", _edje_lua_line_get_xy},
|
||||||
{NULL, NULL} // sentinel
|
{NULL, NULL} // sentinel
|
||||||
|
@ -2579,21 +2266,11 @@ _edje_lua_line_set_xy(lua_State *L)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
@page luaref
|
|
||||||
@setters
|
|
||||||
@li Line.xy: (x1,y1,x2,y2)
|
|
||||||
*/
|
|
||||||
const luaL_Reg lLine_set[] = {
|
const luaL_Reg lLine_set[] = {
|
||||||
{"xy", _edje_lua_line_set_xy},
|
{"xy", _edje_lua_line_set_xy},
|
||||||
{NULL, NULL} // sentinel
|
{NULL, NULL} // sentinel
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
|
||||||
@page luaref
|
|
||||||
@luaclass{Polygon,Polygon Class}
|
|
||||||
@seealso{Evas Object Polygon Docs,http://docs.enlightenment.org/auto/evas/group__Evas__Object__Polygon.html}
|
|
||||||
*/
|
|
||||||
const luaL_Reg lPolygon_fn[];
|
const luaL_Reg lPolygon_fn[];
|
||||||
|
|
||||||
const Edje_Lua_Reg mPolygon = {
|
const Edje_Lua_Reg mPolygon = {
|
||||||
|
@ -2628,23 +2305,12 @@ _edje_lua_polygon_fn_points_clear(lua_State *L)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
@page luaref
|
|
||||||
@methods
|
|
||||||
@li Polygon:point_add(x,y)
|
|
||||||
@li Polygon:points_clear()
|
|
||||||
*/
|
|
||||||
const luaL_Reg lPolygon_fn[] = {
|
const luaL_Reg lPolygon_fn[] = {
|
||||||
{"point_add", _edje_lua_polygon_fn_point_add},
|
{"point_add", _edje_lua_polygon_fn_point_add},
|
||||||
{"points_clear", _edje_lua_polygon_fn_points_clear},
|
{"points_clear", _edje_lua_polygon_fn_points_clear},
|
||||||
{NULL, NULL} // sentinel
|
{NULL, NULL} // sentinel
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
|
||||||
@page luaref
|
|
||||||
@luaclass{Table,Table Class}
|
|
||||||
@seealso{Evas Object Table Docs,http://docs.enlightenment.org/auto/evas/group__Evas__Object__Table.html}
|
|
||||||
*/
|
|
||||||
const luaL_Reg lTable_get[];
|
const luaL_Reg lTable_get[];
|
||||||
|
|
||||||
const luaL_Reg lTable_set[];
|
const luaL_Reg lTable_set[];
|
||||||
|
@ -2733,15 +2399,6 @@ _edje_lua_table_get_children(lua_State *L)
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
@page luaref
|
|
||||||
@attributes
|
|
||||||
@li Table.homogeneous
|
|
||||||
@li Table.padding: (horiz,vert)
|
|
||||||
@li Table.align: (horiz,vert)
|
|
||||||
@li Table.col_row_size: (cols,rows)
|
|
||||||
@li Table.children
|
|
||||||
*/
|
|
||||||
const luaL_Reg lTable_get[] = {
|
const luaL_Reg lTable_get[] = {
|
||||||
{"homogeneous", _edje_lua_table_get_homogeneous},
|
{"homogeneous", _edje_lua_table_get_homogeneous},
|
||||||
{"padding", _edje_lua_table_get_padding},
|
{"padding", _edje_lua_table_get_padding},
|
||||||
|
@ -2786,13 +2443,6 @@ _edje_lua_table_set_align(lua_State *L)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
@page luaref
|
|
||||||
@setters
|
|
||||||
@li Table.homogeneous
|
|
||||||
@li Table.padding: (horiz,vert)
|
|
||||||
@li Table.align: (horiz,vert)
|
|
||||||
*/
|
|
||||||
const luaL_Reg lTable_set[] = {
|
const luaL_Reg lTable_set[] = {
|
||||||
{"homogeneous", _edje_lua_table_set_homogeneous},
|
{"homogeneous", _edje_lua_table_set_homogeneous},
|
||||||
{"padding", _edje_lua_table_set_padding},
|
{"padding", _edje_lua_table_set_padding},
|
||||||
|
@ -2832,13 +2482,6 @@ _edje_lua_table_fn_clear(lua_State *L)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
@page luaref
|
|
||||||
@methods
|
|
||||||
@li Table.pack(child,col,row,colspan,rowspan)
|
|
||||||
@li Table.unpack(child)
|
|
||||||
@li Table.clear(clear)
|
|
||||||
*/
|
|
||||||
const luaL_Reg lTable_fn[] = {
|
const luaL_Reg lTable_fn[] = {
|
||||||
{"pack", _edje_lua_table_fn_pack},
|
{"pack", _edje_lua_table_fn_pack},
|
||||||
{"unpack", _edje_lua_table_fn_unpack},
|
{"unpack", _edje_lua_table_fn_unpack},
|
||||||
|
@ -2846,11 +2489,6 @@ const luaL_Reg lTable_fn[] = {
|
||||||
{NULL, NULL} // sentinel
|
{NULL, NULL} // sentinel
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
|
||||||
@page luaref
|
|
||||||
@luaclass{Description,Description Class}
|
|
||||||
*/
|
|
||||||
|
|
||||||
const luaL_Reg lDescription_get[];
|
const luaL_Reg lDescription_get[];
|
||||||
|
|
||||||
const luaL_Reg lDescription_set[];
|
const luaL_Reg lDescription_set[];
|
||||||
|
@ -3320,41 +2958,6 @@ _edje_lua_description_get_visible(lua_State *L)
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
@page luaref
|
|
||||||
@attributes
|
|
||||||
@li Description.alignment: (x,y)
|
|
||||||
@li Description.min: (w,h)
|
|
||||||
@li Description.max: (w,h)
|
|
||||||
@li Description.step: (w,h)
|
|
||||||
@li Description.aspect: (x,y)
|
|
||||||
@li Description.aspect_pref
|
|
||||||
@li Description.color: (r,g,b,a)
|
|
||||||
@li Description.color2: (r,g,b,a)
|
|
||||||
@li Description.color3: (r,g,b,a)
|
|
||||||
@li Description.color_class
|
|
||||||
@li Description.rel1: (x,y)
|
|
||||||
@li Description.rel1_to: (to_x,to_y)
|
|
||||||
@li Description.rel1_offset: (x,y)
|
|
||||||
@li Description.rel2: (x,y)
|
|
||||||
@li Description.rel2_to: (to_x,to_y)
|
|
||||||
@li Description.rel2_offset: (x,y)
|
|
||||||
@li Description.image (not yet implemented)
|
|
||||||
@li Description.border: (l,r,t,b)
|
|
||||||
@li Description.fill_smooth
|
|
||||||
@li Description.fill_pos: (rel_x,rel_y,offset_x,offset_y)
|
|
||||||
@li Description.fill_size: (rel_x,rel_y,offset_x,offset_y)
|
|
||||||
@li Description.text
|
|
||||||
@li Description.text_class
|
|
||||||
@li Description.text_font
|
|
||||||
@li Description.text_style
|
|
||||||
@li Description.text_size
|
|
||||||
@li Description.text_fit: (x,y)
|
|
||||||
@li Description.text_min: (x,y)
|
|
||||||
@li Description.text_max: (x,y)
|
|
||||||
@li Description.text_align: (x,y)
|
|
||||||
@li Description.visible
|
|
||||||
*/
|
|
||||||
const luaL_Reg lDescription_get[] = {
|
const luaL_Reg lDescription_get[] = {
|
||||||
{"alignment", _edje_lua_description_get_alignment},
|
{"alignment", _edje_lua_description_get_alignment},
|
||||||
{"min", _edje_lua_description_get_min},
|
{"min", _edje_lua_description_get_min},
|
||||||
|
@ -3846,41 +3449,6 @@ _edje_lua_description_set_visible(lua_State *L)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
@page luaref
|
|
||||||
@setters
|
|
||||||
@li Description.alignment: (x,y)
|
|
||||||
@li Description.min: (w,h)
|
|
||||||
@li Description.max: (w,h)
|
|
||||||
@li Description.step: (w,h)
|
|
||||||
@li Description.aspect: (x,y)
|
|
||||||
@li Description.aspect_pref
|
|
||||||
@li Description.color: (r,g,b,a)
|
|
||||||
@li Description.color2: (r,g,b,a)
|
|
||||||
@li Description.color3: (r,g,b,a)
|
|
||||||
@li Description.color_class
|
|
||||||
@li Description.rel1: (x,y)
|
|
||||||
@li Description.rel1_to: (to_x,to_y)
|
|
||||||
@li Description.rel1_offset: (x,y)
|
|
||||||
@li Description.rel2: (x,y)
|
|
||||||
@li Description.rel2_to: (to_x,to_y)
|
|
||||||
@li Description.rel2_offset: (x,y)
|
|
||||||
@li Description.image
|
|
||||||
@li Description.border: (l,r,t,b)
|
|
||||||
@li Description.fill_smooth
|
|
||||||
@li Description.fill_pos: (rel_x,rel_y,offset_x,offset_y)
|
|
||||||
@li Description.fill_size: (rel_x,rel_y,offset_x,offset_y)
|
|
||||||
@li Description.text
|
|
||||||
@li Description.text_class
|
|
||||||
@li Description.text_font
|
|
||||||
@li Description.text_style
|
|
||||||
@li Description.text_size
|
|
||||||
@li Description.text_fit: (x,y)
|
|
||||||
@li Description.text_min: (x,y)
|
|
||||||
@li Description.text_max: (x,y)
|
|
||||||
@li Description.text_align: (x,y)
|
|
||||||
@li Description.visible
|
|
||||||
*/
|
|
||||||
const luaL_Reg lDescription_set[] = {
|
const luaL_Reg lDescription_set[] = {
|
||||||
{"alignment", _edje_lua_description_set_alignment},
|
{"alignment", _edje_lua_description_set_alignment},
|
||||||
{"min", _edje_lua_description_set_min},
|
{"min", _edje_lua_description_set_min},
|
||||||
|
@ -3916,14 +3484,6 @@ const luaL_Reg lDescription_set[] = {
|
||||||
{NULL, NULL} // sentinel
|
{NULL, NULL} // sentinel
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
|
||||||
@page luaref
|
|
||||||
@luaclass{Part,Part Class}
|
|
||||||
|
|
||||||
Parts are objects, that is, they inherit the methods from the @ref Object class.
|
|
||||||
They also contain the following methods and attributes:
|
|
||||||
|
|
||||||
*/
|
|
||||||
const luaL_Reg lPart_get[];
|
const luaL_Reg lPart_get[];
|
||||||
|
|
||||||
const luaL_Reg lPart_set[];
|
const luaL_Reg lPart_set[];
|
||||||
|
@ -4163,26 +3723,6 @@ _edje_lua_part_get_table_col_row_size(lua_State *L)
|
||||||
|
|
||||||
static int _edje_lua_part_fn_custom_state(lua_State *L);
|
static int _edje_lua_part_fn_custom_state(lua_State *L);
|
||||||
|
|
||||||
/**
|
|
||||||
@page luaref
|
|
||||||
@attributes
|
|
||||||
@li @ref Object Part.swallow
|
|
||||||
@li Part.drag_dir
|
|
||||||
@li Part.drag_value: (dx,dy)
|
|
||||||
@li Part.drag_size: (dx,dy)
|
|
||||||
@li Part.drag_step: (dx,dy)
|
|
||||||
@li Part.drag_page: (dx,dy)
|
|
||||||
@li Part.type
|
|
||||||
@li Part.effect
|
|
||||||
@li Part.mouse_events
|
|
||||||
@li Part.states_list
|
|
||||||
@li Part.state: (state,value)
|
|
||||||
@li Part.text
|
|
||||||
@li Part.text_selection
|
|
||||||
@li Part.text_cursor_geometry: (x,y,w,h)
|
|
||||||
@li Part.geometry: (x,y,w,h)
|
|
||||||
@li Part.part_col_row_size: (cols,rows)
|
|
||||||
*/
|
|
||||||
const luaL_Reg lPart_get[] = {
|
const luaL_Reg lPart_get[] = {
|
||||||
{"custom_state", _edje_lua_part_fn_custom_state},
|
{"custom_state", _edje_lua_part_fn_custom_state},
|
||||||
{"Swallow", _edje_lua_part_get_swallow}, //TODO it the capital S correct?
|
{"Swallow", _edje_lua_part_get_swallow}, //TODO it the capital S correct?
|
||||||
|
@ -4324,20 +3864,6 @@ _edje_lua_part_set_drag_page(lua_State *L)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
@page luaref
|
|
||||||
@setters
|
|
||||||
@li Part.drag_value: (dx,dy)
|
|
||||||
@li Part.drag_size: (dx,dy)
|
|
||||||
@li Part.drag_step: (dx,dy)
|
|
||||||
@li Part.drag_page: (dx,dy)
|
|
||||||
@li Part.effect
|
|
||||||
@li Part.mouse_events
|
|
||||||
@li Part.repeat_events
|
|
||||||
@li Part.state: (state,value)
|
|
||||||
@li Part.tween_state
|
|
||||||
@li Part.text
|
|
||||||
*/
|
|
||||||
const luaL_Reg lPart_set[] = {
|
const luaL_Reg lPart_set[] = {
|
||||||
{"drag_value", _edje_lua_part_set_drag_value},
|
{"drag_value", _edje_lua_part_set_drag_value},
|
||||||
{"drag_size", _edje_lua_part_set_drag_size},
|
{"drag_size", _edje_lua_part_set_drag_size},
|
||||||
|
@ -4568,26 +4094,6 @@ _edje_lua_part_fn_box_remove_all(lua_State *L)
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
@page luaref
|
|
||||||
@methods
|
|
||||||
@li Part:swallow(obj)
|
|
||||||
@li Part:unswallow()
|
|
||||||
@li @ref PartDescription Part:custom_state(state_name, state_val)
|
|
||||||
@li Part:text_select_none
|
|
||||||
@li Part:text_select_all
|
|
||||||
@li Part:text_insert(text)
|
|
||||||
@li Part:table_pack(child, row, colspan, rowspan)
|
|
||||||
@li Part:table_unpack(child)
|
|
||||||
@li Part:table_clear(clear)
|
|
||||||
@li Part:box_append(item)
|
|
||||||
@li Part:box_prepend(item)
|
|
||||||
@li Part:box_insert_before(item, before)
|
|
||||||
@li Part:box_insert_at(item, index)
|
|
||||||
@li Part:box_remove(item)
|
|
||||||
@li Part:box_remove_at(item, index)
|
|
||||||
@li Part:box_remove_all(clear)
|
|
||||||
*/
|
|
||||||
const luaL_Reg lPart_fn[] = {
|
const luaL_Reg lPart_fn[] = {
|
||||||
{"swallow", _edje_lua_part_fn_swallow},
|
{"swallow", _edje_lua_part_fn_swallow},
|
||||||
{"unswallow", _edje_lua_part_fn_unswallow},
|
{"unswallow", _edje_lua_part_fn_unswallow},
|
||||||
|
@ -4612,14 +4118,6 @@ const luaL_Reg lPart_fn[] = {
|
||||||
{NULL, NULL} // sentinel
|
{NULL, NULL} // sentinel
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
|
||||||
@page luaref
|
|
||||||
@luaclass{Group,Group Class}
|
|
||||||
|
|
||||||
Groups are objects, that is, they inherit the methods from the general
|
|
||||||
@ref Object Class.
|
|
||||||
They also contain the following methods and attributes:
|
|
||||||
*/
|
|
||||||
const luaL_Reg lGroup_mt[];
|
const luaL_Reg lGroup_mt[];
|
||||||
|
|
||||||
const luaL_Reg lGroup_get[];
|
const luaL_Reg lGroup_get[];
|
||||||
|
@ -4807,21 +4305,6 @@ _edje_lua_group_get_frametime(lua_State *L)
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
@page luaref
|
|
||||||
@attributes
|
|
||||||
@li Group.group
|
|
||||||
@li Group.mouse: (x,y)
|
|
||||||
@li Group.mouse_buttons
|
|
||||||
@li Group.size_min: (w,h)
|
|
||||||
@li Group.size_max: (w,h)
|
|
||||||
@li Group.scale
|
|
||||||
@li Group.load_error
|
|
||||||
@li Group.load_error_str
|
|
||||||
@li Group.play
|
|
||||||
@li Group.animation
|
|
||||||
@li Group.frametime
|
|
||||||
*/
|
|
||||||
const luaL_Reg lGroup_get[] = {
|
const luaL_Reg lGroup_get[] = {
|
||||||
{"group", _edje_lua_group_get_group},
|
{"group", _edje_lua_group_get_group},
|
||||||
{"mouse", _edje_lua_group_get_mouse},
|
{"mouse", _edje_lua_group_get_mouse},
|
||||||
|
@ -4927,18 +4410,6 @@ _edje_lua_group_set_frametime(lua_State *L)
|
||||||
edje_frametime_set(luaL_checknumber(L, 2));
|
edje_frametime_set(luaL_checknumber(L, 2));
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
/**
|
|
||||||
@page luaref
|
|
||||||
@setters
|
|
||||||
@li Group.group
|
|
||||||
@li Group.size_min: (w,h)
|
|
||||||
@li Group.size_max: (w,h)
|
|
||||||
@li Group.scale
|
|
||||||
@li Group.play
|
|
||||||
@li Group.animation
|
|
||||||
@li Group.text_change_cb
|
|
||||||
@li Group.frametime
|
|
||||||
*/
|
|
||||||
const luaL_Reg lGroup_set[] = {
|
const luaL_Reg lGroup_set[] = {
|
||||||
{"group", _edje_lua_group_set_group},
|
{"group", _edje_lua_group_set_group},
|
||||||
{"size_min", _edje_lua_group_set_size_min},
|
{"size_min", _edje_lua_group_set_size_min},
|
||||||
|
@ -5322,22 +4793,6 @@ _edje_lua_group_fn_thaw(lua_State *L)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
@page luaref
|
|
||||||
@methods
|
|
||||||
@li @ref Timer Group:timer(secs, callback)
|
|
||||||
@li @ref Animator Group:animator(func)
|
|
||||||
@li @ref Poller Group:poller(interval, callback)
|
|
||||||
@li @ref Transform Group:transform()
|
|
||||||
@li Group:signal_emit(emission, source)
|
|
||||||
@li Group:message_send(message_type, id, msg)
|
|
||||||
@li Group:program_run(name)
|
|
||||||
@li Group:program_stop(name)
|
|
||||||
@li Group:signal_callback_add(emission, source, callback)
|
|
||||||
@li Group:signal_callback_del(emission, source)
|
|
||||||
@li Group:freeze()
|
|
||||||
@li Group:thaw()
|
|
||||||
*/
|
|
||||||
const luaL_Reg lGroup_fn[] = {
|
const luaL_Reg lGroup_fn[] = {
|
||||||
{"timer", _edje_lua_group_fn_timer},
|
{"timer", _edje_lua_group_fn_timer},
|
||||||
{"animator", _edje_lua_group_fn_animator},
|
{"animator", _edje_lua_group_fn_animator},
|
||||||
|
|
|
@ -1,3 +1,167 @@
|
||||||
|
/*
|
||||||
|
* vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @page luaref Edje LUA scripting
|
||||||
|
*
|
||||||
|
* @section intro Introduction
|
||||||
|
*
|
||||||
|
* LUA is intended for script-only objects at this point (with embryo left
|
||||||
|
* for augmenting standard programs). Since script-only objects effectively
|
||||||
|
* define objects entirely via LUA script (resize handling, event handling
|
||||||
|
* etc. etc.) this places many more demands on them, and thus a more powerful
|
||||||
|
* language is in order. LUA is that language.
|
||||||
|
*
|
||||||
|
* To get you started, here's an example:
|
||||||
|
* @code
|
||||||
|
* collections {
|
||||||
|
* group { name: "example";
|
||||||
|
* lua_script_only: 1;
|
||||||
|
* lua_script {
|
||||||
|
* --// stick object private/local vars here
|
||||||
|
* local D;
|
||||||
|
* local count = 0;
|
||||||
|
* local fndata = 99;
|
||||||
|
*
|
||||||
|
* local function mycb3 (v)
|
||||||
|
* print("lua::callback transition " .. D.val .. " v: " .. v);
|
||||||
|
* d = {};
|
||||||
|
* edje.size(d);
|
||||||
|
* print("lua::objsize= " .. d.w .. " , " .. d.h);
|
||||||
|
* sz = {w=v * 80, h=v * 40};
|
||||||
|
* D.rect:geom(((d.w / 2) * math.sin(v * 2 * math.pi)) + ((d.w - sz.w) / 2),
|
||||||
|
* ((d.h / 2) * math.cos(v * 2 * math.pi)) + ((d.h - sz.h) / 2),
|
||||||
|
* sz.w, sz.h);
|
||||||
|
* D.rect:color(255, 128, v * 255, 255);
|
||||||
|
* D.rect:move(d);
|
||||||
|
* print("lua::pos= " .. d.x .. " , " .. d.y);
|
||||||
|
*
|
||||||
|
* r = D.rect:above();
|
||||||
|
* if (r ~= nil) then
|
||||||
|
* print("lua::rcol");
|
||||||
|
* r:color(20, v * 255, 60, 255);
|
||||||
|
* else
|
||||||
|
* print("lua::r none!!!!!!!!!!!!!!1");
|
||||||
|
* end
|
||||||
|
* d = edje.size();
|
||||||
|
* D.clip:geom(10, 10, d.w - 20, d.h - 20);
|
||||||
|
* c = D.clip:clipees();
|
||||||
|
* for i=1,table.getn(c),1 do
|
||||||
|
* d = c[i]:geom();
|
||||||
|
* print("lua::" .. i .. " geom = " .. d.x .. "," .. d.y .. " " .. d.w .. "x" .. d.h);
|
||||||
|
* end
|
||||||
|
* return true;
|
||||||
|
* end
|
||||||
|
*
|
||||||
|
* local function mycb2 ()
|
||||||
|
* print("lua::callback animator " .. count);
|
||||||
|
* print("lua:: seconds: " .. edje.seconds());
|
||||||
|
* print("lua:: looptime: " .. edje.looptime());
|
||||||
|
* local date = edje.date();
|
||||||
|
* print("lua:: date: " ..
|
||||||
|
* date.year .. "|" ..
|
||||||
|
* date.month .. "|" ..
|
||||||
|
* date.day .. "|" ..
|
||||||
|
* date.yearday .. "|" ..
|
||||||
|
* date.weekday .. "|" ..
|
||||||
|
* date.hour .. "|" ..
|
||||||
|
* date.min .. "|" ..
|
||||||
|
* date.sec
|
||||||
|
* );
|
||||||
|
* return true;
|
||||||
|
* end
|
||||||
|
*
|
||||||
|
* local function mycb ()
|
||||||
|
* print("lua::callback " .. count .. " fndata = " .. fndata);
|
||||||
|
* count = count + 1; --// keep count of calls - object data
|
||||||
|
* fndata = fndata + 3; --// play with object vars to see if they persist
|
||||||
|
* D.tim = edje.timer(0.25, mycb); --// inside cb add new timer
|
||||||
|
* D.ani = edje.animator(mycb2);
|
||||||
|
* return false; --// cease repeating the timer
|
||||||
|
* end
|
||||||
|
*
|
||||||
|
* --// init object here
|
||||||
|
* D = {}; --// data is empty table to start
|
||||||
|
* D.val = math.random(); --// start with soem random value so
|
||||||
|
* fndata = fndata + D.val; --// func data start point
|
||||||
|
* print("lua::init ... " .. D.val);
|
||||||
|
* edje.echo("lua::echo('hello world')");
|
||||||
|
* --// actually add the timer to call mycb in 1.23 sec
|
||||||
|
* D.tim = edje.timer(1.23, mycb);
|
||||||
|
* D.tra = edje.transition(5.0, mycb3);
|
||||||
|
*
|
||||||
|
* if (edje.spanky) then edje.spanky(); end
|
||||||
|
*
|
||||||
|
* 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.rect = edje.rect();
|
||||||
|
* D.rect:geom (5, 10, 50, 30);
|
||||||
|
* D.rect:color (255, 128, 60, 255);
|
||||||
|
* D.rect:show ();
|
||||||
|
*
|
||||||
|
* D.rect2 = edje.rect();
|
||||||
|
* D.rect2:geom (50, 50, 50, 50);
|
||||||
|
* D.rect2:color (20, 30, 60, 120);
|
||||||
|
* D.rect2:show ();
|
||||||
|
*
|
||||||
|
* D.clip = edje.rect();
|
||||||
|
* D.clip:geom (10, 10, 150, 150);
|
||||||
|
* D.clip:color (200, 200, 50, 200);
|
||||||
|
* D.clip:show ();
|
||||||
|
*
|
||||||
|
* D.rect2:clip(D.clip);
|
||||||
|
* D.rect:clip(D.clip);
|
||||||
|
*
|
||||||
|
* --// example of deleting something
|
||||||
|
* --// D.tim:del();
|
||||||
|
*
|
||||||
|
* --// shutdown func - generally empty or not there. everything gcd for you
|
||||||
|
* function shutdown ()
|
||||||
|
* print("lua::shutdown ... " .. D.val);
|
||||||
|
* end
|
||||||
|
* function show ()
|
||||||
|
* print("lua::show ... " .. D.val);
|
||||||
|
* end
|
||||||
|
* function hide ()
|
||||||
|
* print("lua::hide ... " .. D.val);
|
||||||
|
* end
|
||||||
|
* function move (x, y)
|
||||||
|
* print("lua::move ... " .. D.val);
|
||||||
|
* print(" x=" .. x .. " x=" .. y);
|
||||||
|
* end
|
||||||
|
* function resize (w, h)
|
||||||
|
* print("lua::resize ... " .. D.val);
|
||||||
|
* print(" w=" .. w .. " h=" .. h);
|
||||||
|
* end
|
||||||
|
* function message (id, type, v1, v2)
|
||||||
|
* print("lua::message ... " .. D.val);
|
||||||
|
* print(" id=" .. id .. " type=" .. type);
|
||||||
|
* --// handle youre message type here. chekc id + type then use v1
|
||||||
|
* --// and/or v2 (or neither) appropriately. they are the same as
|
||||||
|
* --// the 2nd and 3rd param passed to edje.messagesend() (if any
|
||||||
|
* --// are passed at all)
|
||||||
|
* end
|
||||||
|
* function signal (sig, src)
|
||||||
|
* print("lua::signal ... " .. D.val);
|
||||||
|
* print(" sig=" .. sig .. " src=" .. src);
|
||||||
|
* end
|
||||||
|
* }
|
||||||
|
* }
|
||||||
|
* }
|
||||||
|
* @endcode
|
||||||
|
*
|
||||||
|
*/
|
||||||
#ifdef HAVE_CONFIG_H
|
#ifdef HAVE_CONFIG_H
|
||||||
# include <config.h>
|
# include <config.h>
|
||||||
#endif
|
#endif
|
||||||
|
@ -123,6 +287,7 @@ static int _elua_clipees(lua_State *L);
|
||||||
static int _elua_type(lua_State *L);
|
static int _elua_type(lua_State *L);
|
||||||
static int _elua_pass(lua_State *L);
|
static int _elua_pass(lua_State *L);
|
||||||
static int _elua_repeat(lua_State *L);
|
static int _elua_repeat(lua_State *L);
|
||||||
|
static int _elua_precise(lua_State *L);
|
||||||
|
|
||||||
static int _elua_rect(lua_State *L);
|
static int _elua_rect(lua_State *L);
|
||||||
|
|
||||||
|
@ -138,12 +303,31 @@ static jmp_buf panic_jmp;
|
||||||
// // key up
|
// // key up
|
||||||
// // get dragable pos
|
// // get dragable pos
|
||||||
// // set dragable pos
|
// // set dragable pos
|
||||||
|
// // set drag size, step, page
|
||||||
|
// // get drag size, step, page
|
||||||
|
// // dragable step
|
||||||
|
// // dragable page
|
||||||
// // get part text
|
// // get part text
|
||||||
// // set part text
|
// // set part text
|
||||||
// // get swallow part
|
// // get swallow part
|
||||||
// // set swallow part
|
// // set swallow part
|
||||||
|
// // unswallow part
|
||||||
// // textclass change
|
// // textclass change
|
||||||
// // colorclass change
|
// // colorclass change
|
||||||
|
// // min size get <- ?? maybe set fn
|
||||||
|
// // max size get <- ?? maybe set fn
|
||||||
|
// // min size caclc (min/max restriction)
|
||||||
|
// // preload
|
||||||
|
// // preload cancel
|
||||||
|
// // play set
|
||||||
|
// // animation set
|
||||||
|
// // parts extends calc
|
||||||
|
// // part object get
|
||||||
|
// // part geometry get
|
||||||
|
//
|
||||||
|
// // LATER: all the entry calls
|
||||||
|
// // LATER: box and table calls
|
||||||
|
// // LATER: perspective stuff change
|
||||||
//
|
//
|
||||||
static const struct luaL_reg _elua_edje_api [] =
|
static const struct luaL_reg _elua_edje_api [] =
|
||||||
{
|
{
|
||||||
|
@ -154,6 +338,7 @@ static const struct luaL_reg _elua_edje_api [] =
|
||||||
{"timer", _elua_timer}, // add timer
|
{"timer", _elua_timer}, // add timer
|
||||||
{"animator", _elua_animator}, // add animator
|
{"animator", _elua_animator}, // add animator
|
||||||
{"transition", _elua_transition}, // add transition
|
{"transition", _elua_transition}, // add transition
|
||||||
|
// FIXME: need poller
|
||||||
|
|
||||||
// system information (time, date blah blah)
|
// system information (time, date blah blah)
|
||||||
{"seconds", _elua_seconds}, // get seconds
|
{"seconds", _elua_seconds}, // get seconds
|
||||||
|
@ -206,10 +391,14 @@ static const struct luaL_reg _elua_edje_evas_obj [] =
|
||||||
{"type", _elua_type}, // get object type
|
{"type", _elua_type}, // get object type
|
||||||
{"pass", _elua_pass}, // set pass events, get pass events
|
{"pass", _elua_pass}, // set pass events, get pass events
|
||||||
{"repeat", _elua_repeat}, // set repeat events, get repeat events
|
{"repeat", _elua_repeat}, // set repeat events, get repeat events
|
||||||
|
{"precise", _elua_precise}, // set precise inside flag, get precise
|
||||||
|
// FIXME: set callbacks (mouse down, up, blah blah blah)
|
||||||
|
//
|
||||||
// FIXME: set scale (explicit value)
|
// FIXME: set scale (explicit value)
|
||||||
// FIXME: need to set auto-scale (same as scale: 1)
|
// FIXME: need to set auto-scale (same as scale: 1)
|
||||||
// FIXME: set precise inside
|
|
||||||
// FIXME: set callbacks (mouse down, up, blah blah blah)
|
// FIXME: later - set render op, anti-alias, pointer mode (autograb, nograb)
|
||||||
|
// FIXME: later -
|
||||||
|
|
||||||
// FIXME: map api here
|
// FIXME: map api here
|
||||||
|
|
||||||
|
@ -511,8 +700,10 @@ _edje_lua2_script_func_hide(Edje *ed)
|
||||||
void
|
void
|
||||||
_edje_lua2_script_func_move(Edje *ed)
|
_edje_lua2_script_func_move(Edje *ed)
|
||||||
{
|
{
|
||||||
|
Eina_List *l;
|
||||||
int err;
|
int err;
|
||||||
|
|
||||||
|
// FIXME: move all objects created by script
|
||||||
lua_getglobal(ed->L, "move");
|
lua_getglobal(ed->L, "move");
|
||||||
if (!lua_isnil(ed->L, -1))
|
if (!lua_isnil(ed->L, -1))
|
||||||
{
|
{
|
||||||
|
@ -1694,6 +1885,23 @@ _elua_repeat(lua_State *L)
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int
|
||||||
|
_elua_precise(lua_State *L)
|
||||||
|
{
|
||||||
|
Edje_Lua_Obj *obj = (Edje_Lua_Obj *)lua_touserdata(L, 1);
|
||||||
|
Edje_Lua_Evas_Object *elo = (Edje_Lua_Evas_Object *)obj;
|
||||||
|
int n;
|
||||||
|
if (!obj) return 0;
|
||||||
|
if (!obj->is_evas_obj) return 0;
|
||||||
|
n = lua_gettop(L);
|
||||||
|
if (n == 2)
|
||||||
|
{
|
||||||
|
evas_object_precise_is_inside_set(elo->evas_obj, lua_toboolean(L, 2));
|
||||||
|
}
|
||||||
|
lua_pushboolean(L, evas_object_precise_is_inside_get(elo->evas_obj));
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
//-------------
|
//-------------
|
||||||
static void
|
static void
|
||||||
_elua_evas_obj_free(void *obj)
|
_elua_evas_obj_free(void *obj)
|
||||||
|
|
Loading…
Reference in New Issue