2016-11-03 08:45:42 -07:00
|
|
|
#include "edje_private.h"
|
|
|
|
#include "edje_part_helper.h"
|
2017-05-25 19:33:58 -07:00
|
|
|
#define MY_CLASS EFL_CANVAS_LAYOUT_INTERNAL_CLASS
|
2016-11-03 08:45:42 -07:00
|
|
|
|
|
|
|
PROXY_INIT(box)
|
|
|
|
PROXY_INIT(table)
|
|
|
|
PROXY_INIT(swallow)
|
2017-05-29 04:28:08 -07:00
|
|
|
PROXY_INIT(external)
|
2016-11-03 08:45:42 -07:00
|
|
|
|
|
|
|
void
|
|
|
|
_edje_internal_proxy_shutdown(void)
|
|
|
|
{
|
|
|
|
_box_shutdown();
|
|
|
|
_table_shutdown();
|
|
|
|
_swallow_shutdown();
|
2017-05-29 04:28:08 -07:00
|
|
|
_external_shutdown();
|
2016-11-03 08:45:42 -07:00
|
|
|
}
|
|
|
|
|
2017-05-25 19:33:58 -07:00
|
|
|
void
|
|
|
|
_edje_real_part_set(Eo *obj, void *ed, void *rp, const char *part)
|
|
|
|
{
|
|
|
|
PROXY_DATA_GET(obj, pd);
|
|
|
|
pd->ed = ed;
|
|
|
|
pd->rp = rp;
|
|
|
|
pd->part = part;
|
|
|
|
pd->temp = 1;
|
|
|
|
efl_parent_set(obj, pd->ed->obj);
|
|
|
|
}
|
2017-05-25 18:52:57 -07:00
|
|
|
|
2017-05-25 19:33:58 -07:00
|
|
|
EOLIAN static Efl_Object *
|
|
|
|
_efl_canvas_layout_internal_efl_object_finalize(Eo *obj, Efl_Canvas_Layout_Internal_Data *pd)
|
|
|
|
{
|
|
|
|
EINA_SAFETY_ON_FALSE_RETURN_VAL(pd->rp && pd->ed && pd->part, NULL);
|
|
|
|
return efl_finalize(efl_super(obj, MY_CLASS));
|
|
|
|
}
|
2017-05-25 18:52:57 -07:00
|
|
|
|
2017-05-25 19:33:58 -07:00
|
|
|
EOLIAN void
|
|
|
|
_efl_canvas_layout_internal_efl_gfx_geometry_get(Eo *obj EINA_UNUSED, Efl_Canvas_Layout_Internal_Data *pd, int *x, int *y, int *w, int *h)
|
|
|
|
{
|
|
|
|
Edje_Real_Part *rp = pd->rp;
|
|
|
|
|
|
|
|
_edje_recalc_do(pd->ed);
|
|
|
|
if (!rp)
|
|
|
|
{
|
|
|
|
if (x) *x = 0;
|
|
|
|
if (y) *y = 0;
|
|
|
|
if (w) *w = 0;
|
|
|
|
if (h) *h = 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
if (x) *x = rp->x;
|
|
|
|
if (y) *y = rp->y;
|
|
|
|
if (w) *w = rp->w;
|
|
|
|
if (h) *h = rp->h;
|
|
|
|
RETURN_VOID;
|
|
|
|
}
|
2017-05-25 18:52:57 -07:00
|
|
|
|
2017-05-25 19:53:27 -07:00
|
|
|
EOLIAN static void
|
|
|
|
_efl_canvas_layout_internal_state_get(Eo *obj EINA_UNUSED, Efl_Canvas_Layout_Internal_Data *pd, const char **name, double *val)
|
|
|
|
{
|
|
|
|
const char *str;
|
|
|
|
|
|
|
|
if (!name && !val) return;
|
|
|
|
str = _edje_object_part_state_get(pd->ed, pd->part, val);
|
|
|
|
if (name) *name = str;
|
|
|
|
RETURN_VOID;
|
|
|
|
}
|
|
|
|
|
2016-11-03 08:45:42 -07:00
|
|
|
#include "efl_canvas_layout_internal.eo.c"
|