} text;
struct { int a, r, g, b; } color;
int w, h;
+ double scale;
};
struct _Evas_Filter_Program
*/
#define JOINC(k) ARGB_JOIN(pgm->state.k.a, pgm->state.k.r, pgm->state.k.g, pgm->state.k.b)
-#define SETFIELD(name, val) do { lua_pushinteger(L, val); lua_setfield(L, -2, name); } while(0)
+#define SETFIELD(name, val) do { lua_pushnumber(L, val); lua_setfield(L, -2, name); } while(0)
// TODO: Mark program as dependent on some values so we can improve
// the changed flag (ie. re-run the filter only when required)
lua_newtable(L); // "state"
{
SETFIELD("color", JOINC(color));
+ SETFIELD("scale", pgm->state.scale);
lua_newtable(L); // "text"
{
SETFIELD("outline", JOINC(text.outline));
pgm->state.color.g = 255;
pgm->state.color.b = 255;
pgm->state.color.a = 255;
+ pgm->state.scale = 1.0;
return pgm;
}
pgm->state.w = obj->cur->geometry.w;
pgm->state.h = obj->cur->geometry.h;
+ pgm->state.scale = obj->cur->scale;
eo_do(eo_obj,
efl_gfx_color_get(&pgm->state.color.r,