* edje: start to split structure content.
SVN revision: 50279
This commit is contained in:
parent
6f110efad1
commit
30d35eb1ba
|
@ -3244,27 +3244,27 @@ ob_collections_group_parts_part_description(void)
|
|||
ep->default_desc = ed;
|
||||
else
|
||||
ep->other_desc = eina_list_append(ep->other_desc, ed);
|
||||
ed->visible = 1;
|
||||
ed->align.x = FROM_DOUBLE(0.5);
|
||||
ed->align.y = FROM_DOUBLE(0.5);
|
||||
ed->min.w = 0;
|
||||
ed->min.h = 0;
|
||||
ed->fixed.w = 0;
|
||||
ed->fixed.h = 0;
|
||||
ed->max.w = -1;
|
||||
ed->max.h = -1;
|
||||
ed->rel1.relative_x = FROM_DOUBLE(0.0);
|
||||
ed->rel1.relative_y = FROM_DOUBLE(0.0);
|
||||
ed->rel1.offset_x = 0;
|
||||
ed->rel1.offset_y = 0;
|
||||
ed->rel1.id_x = -1;
|
||||
ed->rel1.id_y = -1;
|
||||
ed->rel2.relative_x = FROM_DOUBLE(1.0);
|
||||
ed->rel2.relative_y = FROM_DOUBLE(1.0);
|
||||
ed->rel2.offset_x = -1;
|
||||
ed->rel2.offset_y = -1;
|
||||
ed->rel2.id_x = -1;
|
||||
ed->rel2.id_y = -1;
|
||||
ed->common.visible = 1;
|
||||
ed->common.align.x = FROM_DOUBLE(0.5);
|
||||
ed->common.align.y = FROM_DOUBLE(0.5);
|
||||
ed->common.min.w = 0;
|
||||
ed->common.min.h = 0;
|
||||
ed->common.fixed.w = 0;
|
||||
ed->common.fixed.h = 0;
|
||||
ed->common.max.w = -1;
|
||||
ed->common.max.h = -1;
|
||||
ed->common.rel1.relative_x = FROM_DOUBLE(0.0);
|
||||
ed->common.rel1.relative_y = FROM_DOUBLE(0.0);
|
||||
ed->common.rel1.offset_x = 0;
|
||||
ed->common.rel1.offset_y = 0;
|
||||
ed->common.rel1.id_x = -1;
|
||||
ed->common.rel1.id_y = -1;
|
||||
ed->common.rel2.relative_x = FROM_DOUBLE(1.0);
|
||||
ed->common.rel2.relative_y = FROM_DOUBLE(1.0);
|
||||
ed->common.rel2.offset_x = -1;
|
||||
ed->common.rel2.offset_y = -1;
|
||||
ed->common.rel2.id_x = -1;
|
||||
ed->common.rel2.id_y = -1;
|
||||
ed->image.id = -1;
|
||||
ed->fill.smooth = 1;
|
||||
ed->fill.pos_rel_x = FROM_DOUBLE(0.0);
|
||||
|
@ -3306,19 +3306,19 @@ ob_collections_group_parts_part_description(void)
|
|||
ed->table.align.y = FROM_DOUBLE(0.5);
|
||||
ed->table.padding.x = 0;
|
||||
ed->table.padding.y = 0;
|
||||
ed->map.id_persp = -1;
|
||||
ed->map.id_light = -1;
|
||||
ed->map.rot.id_center = -1;
|
||||
ed->map.rot.x = FROM_DOUBLE(0.0);
|
||||
ed->map.rot.y = FROM_DOUBLE(0.0);
|
||||
ed->map.rot.z = FROM_DOUBLE(0.0);
|
||||
ed->map.on = 0;
|
||||
ed->map.smooth = 1;
|
||||
ed->map.alpha = 1;
|
||||
ed->map.backcull = 0;
|
||||
ed->map.persp_on = 0;
|
||||
ed->persp.zplane = 0;
|
||||
ed->persp.focal = 1000;
|
||||
ed->common.map.id_persp = -1;
|
||||
ed->common.map.id_light = -1;
|
||||
ed->common.map.rot.id_center = -1;
|
||||
ed->common.map.rot.x = FROM_DOUBLE(0.0);
|
||||
ed->common.map.rot.y = FROM_DOUBLE(0.0);
|
||||
ed->common.map.rot.z = FROM_DOUBLE(0.0);
|
||||
ed->common.map.on = 0;
|
||||
ed->common.map.smooth = 1;
|
||||
ed->common.map.alpha = 1;
|
||||
ed->common.map.backcull = 0;
|
||||
ed->common.map.persp_on = 0;
|
||||
ed->common.persp.zplane = 0;
|
||||
ed->common.persp.focal = 1000;
|
||||
ed->external_params = NULL;
|
||||
}
|
||||
|
||||
|
@ -3363,7 +3363,7 @@ st_collections_group_parts_part_description_inherit(void)
|
|||
|
||||
ed = eina_list_data_get(eina_list_last(ep->other_desc));
|
||||
|
||||
if (!ed->state.name)
|
||||
if (!ed->common.state.name)
|
||||
{
|
||||
ERR("%s: Error. parse error %s:%i. "
|
||||
"inherit may only be used after state",
|
||||
|
@ -3385,16 +3385,16 @@ st_collections_group_parts_part_description_inherit(void)
|
|||
if (!strcmp(parent_name, "default"))
|
||||
{
|
||||
parent = ep->default_desc;
|
||||
min_dst = ABS(ep->default_desc->state.value - parent_val);
|
||||
min_dst = ABS(ep->default_desc->common.state.value - parent_val);
|
||||
}
|
||||
|
||||
EINA_LIST_FOREACH(ep->other_desc, l, d)
|
||||
{
|
||||
if (!strcmp (d->state.name, parent_name))
|
||||
if (!strcmp (d->common.state.name, parent_name))
|
||||
{
|
||||
double dst;
|
||||
|
||||
dst = ABS(d->state.value - parent_val);
|
||||
dst = ABS(d->common.state.value - parent_val);
|
||||
if (dst < min_dst)
|
||||
{
|
||||
parent = d;
|
||||
|
@ -3415,18 +3415,18 @@ st_collections_group_parts_part_description_inherit(void)
|
|||
free (parent_name);
|
||||
|
||||
/* now do a full copy, only state info will be kept */
|
||||
state_name = ed->state.name;
|
||||
state_val = ed->state.value;
|
||||
state_name = ed->common.state.name;
|
||||
state_val = ed->common.state.value;
|
||||
|
||||
*ed = *parent;
|
||||
|
||||
ed->state.name = state_name;
|
||||
ed->state.value = state_val;
|
||||
ed->common.state.name = state_name;
|
||||
ed->common.state.value = state_val;
|
||||
|
||||
data_queue_part_slave_lookup(&parent->rel1.id_x, &ed->rel1.id_x);
|
||||
data_queue_part_slave_lookup(&parent->rel1.id_y, &ed->rel1.id_y);
|
||||
data_queue_part_slave_lookup(&parent->rel2.id_x, &ed->rel2.id_x);
|
||||
data_queue_part_slave_lookup(&parent->rel2.id_y, &ed->rel2.id_y);
|
||||
data_queue_part_slave_lookup(&parent->common.rel1.id_x, &ed->common.rel1.id_x);
|
||||
data_queue_part_slave_lookup(&parent->common.rel1.id_y, &ed->common.rel1.id_y);
|
||||
data_queue_part_slave_lookup(&parent->common.rel2.id_x, &ed->common.rel2.id_x);
|
||||
data_queue_part_slave_lookup(&parent->common.rel2.id_y, &ed->common.rel2.id_y);
|
||||
data_queue_image_slave_lookup(&parent->image.id, &ed->image.id);
|
||||
|
||||
/* make sure all the allocated memory is getting copied, not just
|
||||
|
@ -3507,8 +3507,8 @@ st_collections_group_parts_part_description_state(void)
|
|||
exit(-1);
|
||||
}
|
||||
|
||||
ed->state.name = s;
|
||||
ed->state.value = parse_float_range(1, 0.0, 1.0);
|
||||
ed->common.state.name = s;
|
||||
ed->common.state.value = parse_float_range(1, 0.0, 1.0);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -3535,7 +3535,7 @@ st_collections_group_parts_part_description_visible(void)
|
|||
ep = eina_list_data_get(eina_list_last(pc->parts));
|
||||
ed = ep->default_desc;
|
||||
if (ep->other_desc) ed = eina_list_data_get(eina_list_last(ep->other_desc));
|
||||
ed->visible = parse_bool(0);
|
||||
ed->common.visible = parse_bool(0);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -3563,8 +3563,8 @@ st_collections_group_parts_part_description_align(void)
|
|||
ep = eina_list_data_get(eina_list_last(pc->parts));
|
||||
ed = ep->default_desc;
|
||||
if (ep->other_desc) ed = eina_list_data_get(eina_list_last(ep->other_desc));
|
||||
ed->align.x = FROM_DOUBLE(parse_float_range(0, 0.0, 1.0));
|
||||
ed->align.y = FROM_DOUBLE(parse_float_range(1, 0.0, 1.0));
|
||||
ed->common.align.x = FROM_DOUBLE(parse_float_range(0, 0.0, 1.0));
|
||||
ed->common.align.y = FROM_DOUBLE(parse_float_range(1, 0.0, 1.0));
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -3594,8 +3594,8 @@ st_collections_group_parts_part_description_fixed(void)
|
|||
ep = eina_list_data_get(eina_list_last(pc->parts));
|
||||
ed = ep->default_desc;
|
||||
if (ep->other_desc) ed = eina_list_data_get(eina_list_last(ep->other_desc));
|
||||
ed->fixed.w = parse_float_range(0, 0, 1);
|
||||
ed->fixed.h = parse_float_range(1, 0, 1);
|
||||
ed->common.fixed.w = parse_float_range(0, 0, 1);
|
||||
ed->common.fixed.h = parse_float_range(1, 0, 1);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -3621,8 +3621,8 @@ st_collections_group_parts_part_description_min(void)
|
|||
ep = eina_list_data_get(eina_list_last(pc->parts));
|
||||
ed = ep->default_desc;
|
||||
if (ep->other_desc) ed = eina_list_data_get(eina_list_last(ep->other_desc));
|
||||
ed->min.w = parse_float_range(0, 0, 0x7fffffff);
|
||||
ed->min.h = parse_float_range(1, 0, 0x7fffffff);
|
||||
ed->common.min.w = parse_float_range(0, 0, 0x7fffffff);
|
||||
ed->common.min.h = parse_float_range(1, 0, 0x7fffffff);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -3648,8 +3648,8 @@ st_collections_group_parts_part_description_max(void)
|
|||
ep = eina_list_data_get(eina_list_last(pc->parts));
|
||||
ed = ep->default_desc;
|
||||
if (ep->other_desc) ed = eina_list_data_get(eina_list_last(ep->other_desc));
|
||||
ed->max.w = parse_float_range(0, 0, 0x7fffffff);
|
||||
ed->max.h = parse_float_range(1, 0, 0x7fffffff);
|
||||
ed->common.max.w = parse_float_range(0, 0, 0x7fffffff);
|
||||
ed->common.max.h = parse_float_range(1, 0, 0x7fffffff);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -3677,8 +3677,8 @@ st_collections_group_parts_part_description_step(void)
|
|||
ep = eina_list_data_get(eina_list_last(pc->parts));
|
||||
ed = ep->default_desc;
|
||||
if (ep->other_desc) ed = eina_list_data_get(eina_list_last(ep->other_desc));
|
||||
ed->step.x = parse_float_range(0, 0, 0x7fffffff);
|
||||
ed->step.y = parse_float_range(1, 0, 0x7fffffff);
|
||||
ed->common.step.x = parse_float_range(0, 0, 0x7fffffff);
|
||||
ed->common.step.y = parse_float_range(1, 0, 0x7fffffff);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -3708,8 +3708,8 @@ st_collections_group_parts_part_description_aspect(void)
|
|||
ep = eina_list_data_get(eina_list_last(pc->parts));
|
||||
ed = ep->default_desc;
|
||||
if (ep->other_desc) ed = eina_list_data_get(eina_list_last(ep->other_desc));
|
||||
ed->aspect.min = FROM_DOUBLE(parse_float_range(0, 0.0, 999999999.0));
|
||||
ed->aspect.max = FROM_DOUBLE(parse_float_range(1, 0.0, 999999999.0));
|
||||
ed->common.aspect.min = FROM_DOUBLE(parse_float_range(0, 0.0, 999999999.0));
|
||||
ed->common.aspect.max = FROM_DOUBLE(parse_float_range(1, 0.0, 999999999.0));
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -3736,12 +3736,12 @@ st_collections_group_parts_part_description_aspect_preference(void)
|
|||
ep = eina_list_data_get(eina_list_last(pc->parts));
|
||||
ed = ep->default_desc;
|
||||
if (ep->other_desc) ed = eina_list_data_get(eina_list_last(ep->other_desc));
|
||||
ed->aspect.prefer = parse_enum(0,
|
||||
"NONE", EDJE_ASPECT_PREFER_NONE,
|
||||
"VERTICAL", EDJE_ASPECT_PREFER_VERTICAL,
|
||||
"HORIZONTAL", EDJE_ASPECT_PREFER_HORIZONTAL,
|
||||
"BOTH", EDJE_ASPECT_PREFER_BOTH,
|
||||
NULL);
|
||||
ed->common.aspect.prefer = parse_enum(0,
|
||||
"NONE", EDJE_ASPECT_PREFER_NONE,
|
||||
"VERTICAL", EDJE_ASPECT_PREFER_VERTICAL,
|
||||
"HORIZONTAL", EDJE_ASPECT_PREFER_HORIZONTAL,
|
||||
"BOTH", EDJE_ASPECT_PREFER_BOTH,
|
||||
NULL);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -3906,8 +3906,8 @@ st_collections_group_parts_part_description_rel1_relative(void)
|
|||
ep = eina_list_data_get(eina_list_last(pc->parts));
|
||||
ed = ep->default_desc;
|
||||
if (ep->other_desc) ed = eina_list_data_get(eina_list_last(ep->other_desc));
|
||||
ed->rel1.relative_x = FROM_DOUBLE(parse_float(0));
|
||||
ed->rel1.relative_y = FROM_DOUBLE(parse_float(1));
|
||||
ed->common.rel1.relative_x = FROM_DOUBLE(parse_float(0));
|
||||
ed->common.rel1.relative_y = FROM_DOUBLE(parse_float(1));
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -3933,8 +3933,8 @@ st_collections_group_parts_part_description_rel1_offset(void)
|
|||
ep = eina_list_data_get(eina_list_last(pc->parts));
|
||||
ed = ep->default_desc;
|
||||
if (ep->other_desc) ed = eina_list_data_get(eina_list_last(ep->other_desc));
|
||||
ed->rel1.offset_x = parse_int(0);
|
||||
ed->rel1.offset_y = parse_int(1);
|
||||
ed->common.rel1.offset_x = parse_int(0);
|
||||
ed->common.rel1.offset_y = parse_int(1);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -3965,8 +3965,8 @@ st_collections_group_parts_part_description_rel1_to(void)
|
|||
char *name;
|
||||
|
||||
name = parse_str(0);
|
||||
data_queue_part_lookup(pc, name, &(ed->rel1.id_x));
|
||||
data_queue_part_lookup(pc, name, &(ed->rel1.id_y));
|
||||
data_queue_part_lookup(pc, name, &(ed->common.rel1.id_x));
|
||||
data_queue_part_lookup(pc, name, &(ed->common.rel1.id_y));
|
||||
free(name);
|
||||
}
|
||||
}
|
||||
|
@ -3999,7 +3999,7 @@ st_collections_group_parts_part_description_rel1_to_x(void)
|
|||
char *name;
|
||||
|
||||
name = parse_str(0);
|
||||
data_queue_part_lookup(pc, name, &(ed->rel1.id_x));
|
||||
data_queue_part_lookup(pc, name, &(ed->common.rel1.id_x));
|
||||
free(name);
|
||||
}
|
||||
}
|
||||
|
@ -4033,7 +4033,7 @@ st_collections_group_parts_part_description_rel1_to_y(void)
|
|||
char *name;
|
||||
|
||||
name = parse_str(0);
|
||||
data_queue_part_lookup(pc, name, &(ed->rel1.id_y));
|
||||
data_queue_part_lookup(pc, name, &(ed->common.rel1.id_y));
|
||||
free(name);
|
||||
}
|
||||
}
|
||||
|
@ -4051,8 +4051,8 @@ st_collections_group_parts_part_description_rel2_relative(void)
|
|||
ep = eina_list_data_get(eina_list_last(pc->parts));
|
||||
ed = ep->default_desc;
|
||||
if (ep->other_desc) ed = eina_list_data_get(eina_list_last(ep->other_desc));
|
||||
ed->rel2.relative_x = FROM_DOUBLE(parse_float(0));
|
||||
ed->rel2.relative_y = FROM_DOUBLE(parse_float(1));
|
||||
ed->common.rel2.relative_x = FROM_DOUBLE(parse_float(0));
|
||||
ed->common.rel2.relative_y = FROM_DOUBLE(parse_float(1));
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -4068,8 +4068,8 @@ st_collections_group_parts_part_description_rel2_offset(void)
|
|||
ep = eina_list_data_get(eina_list_last(pc->parts));
|
||||
ed = ep->default_desc;
|
||||
if (ep->other_desc) ed = eina_list_data_get(eina_list_last(ep->other_desc));
|
||||
ed->rel2.offset_x = parse_int(0);
|
||||
ed->rel2.offset_y = parse_int(1);
|
||||
ed->common.rel2.offset_x = parse_int(0);
|
||||
ed->common.rel2.offset_y = parse_int(1);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -4089,8 +4089,8 @@ st_collections_group_parts_part_description_rel2_to(void)
|
|||
char *name;
|
||||
|
||||
name = parse_str(0);
|
||||
data_queue_part_lookup(pc, name, &(ed->rel2.id_x));
|
||||
data_queue_part_lookup(pc, name, &(ed->rel2.id_y));
|
||||
data_queue_part_lookup(pc, name, &(ed->common.rel2.id_x));
|
||||
data_queue_part_lookup(pc, name, &(ed->common.rel2.id_y));
|
||||
free(name);
|
||||
}
|
||||
}
|
||||
|
@ -4112,7 +4112,7 @@ st_collections_group_parts_part_description_rel2_to_x(void)
|
|||
char *name;
|
||||
|
||||
name = parse_str(0);
|
||||
data_queue_part_lookup(pc, name, &(ed->rel2.id_x));
|
||||
data_queue_part_lookup(pc, name, &(ed->common.rel2.id_x));
|
||||
free(name);
|
||||
}
|
||||
}
|
||||
|
@ -4134,7 +4134,7 @@ st_collections_group_parts_part_description_rel2_to_y(void)
|
|||
char *name;
|
||||
|
||||
name = parse_str(0);
|
||||
data_queue_part_lookup(pc, name, &(ed->rel2.id_y));
|
||||
data_queue_part_lookup(pc, name, &(ed->common.rel2.id_y));
|
||||
free(name);
|
||||
}
|
||||
}
|
||||
|
@ -5664,10 +5664,10 @@ st_collections_group_parts_part_description_map_perspective(void)
|
|||
char *name;
|
||||
|
||||
name = parse_str(0);
|
||||
data_queue_part_lookup(pc, name, &(ed->map.id_persp));
|
||||
data_queue_part_lookup(pc, name, &(ed->common.map.id_persp));
|
||||
free(name);
|
||||
}
|
||||
ed->map.persp_on = 1;
|
||||
ed->common.map.persp_on = 1;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -5706,7 +5706,7 @@ st_collections_group_parts_part_description_map_light(void)
|
|||
char *name;
|
||||
|
||||
name = parse_str(0);
|
||||
data_queue_part_lookup(pc, name, &(ed->map.id_light));
|
||||
data_queue_part_lookup(pc, name, &(ed->common.map.id_light));
|
||||
free(name);
|
||||
}
|
||||
}
|
||||
|
@ -5735,7 +5735,7 @@ st_collections_group_parts_part_description_map_on(void)
|
|||
|
||||
ed = ep->default_desc;
|
||||
if (ep->other_desc) ed = eina_list_data_get(eina_list_last(ep->other_desc));
|
||||
ed->map.on = parse_bool(0);
|
||||
ed->common.map.on = parse_bool(0);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -5765,7 +5765,7 @@ st_collections_group_parts_part_description_map_smooth(void)
|
|||
|
||||
ed = ep->default_desc;
|
||||
if (ep->other_desc) ed = eina_list_data_get(eina_list_last(ep->other_desc));
|
||||
ed->map.smooth = parse_bool(0);
|
||||
ed->common.map.smooth = parse_bool(0);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -5792,7 +5792,7 @@ st_collections_group_parts_part_description_map_alpha(void)
|
|||
|
||||
ed = ep->default_desc;
|
||||
if (ep->other_desc) ed = eina_list_data_get(eina_list_last(ep->other_desc));
|
||||
ed->map.alpha = parse_bool(0);
|
||||
ed->common.map.alpha = parse_bool(0);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -5821,7 +5821,7 @@ st_collections_group_parts_part_description_map_backface_cull(void)
|
|||
|
||||
ed = ep->default_desc;
|
||||
if (ep->other_desc) ed = eina_list_data_get(eina_list_last(ep->other_desc));
|
||||
ed->map.backcull = parse_bool(0);
|
||||
ed->common.map.backcull = parse_bool(0);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -5851,7 +5851,7 @@ st_collections_group_parts_part_description_map_perspective_on(void)
|
|||
|
||||
ed = ep->default_desc;
|
||||
if (ep->other_desc) ed = eina_list_data_get(eina_list_last(ep->other_desc));
|
||||
ed->map.persp_on = parse_bool(0);
|
||||
ed->common.map.persp_on = parse_bool(0);
|
||||
}
|
||||
/**
|
||||
@page edcref
|
||||
|
@ -5902,7 +5902,7 @@ st_collections_group_parts_part_description_map_rotation_center(void)
|
|||
char *name;
|
||||
|
||||
name = parse_str(0);
|
||||
data_queue_part_lookup(pc, name, &(ed->map.rot.id_center));
|
||||
data_queue_part_lookup(pc, name, &(ed->common.map.rot.id_center));
|
||||
free(name);
|
||||
}
|
||||
}
|
||||
|
@ -5932,7 +5932,7 @@ st_collections_group_parts_part_description_map_rotation_x(void)
|
|||
|
||||
ed = ep->default_desc;
|
||||
if (ep->other_desc) ed = eina_list_data_get(eina_list_last(ep->other_desc));
|
||||
ed->map.rot.x = FROM_DOUBLE(parse_float(0));
|
||||
ed->common.map.rot.x = FROM_DOUBLE(parse_float(0));
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -5960,7 +5960,7 @@ st_collections_group_parts_part_description_map_rotation_y(void)
|
|||
|
||||
ed = ep->default_desc;
|
||||
if (ep->other_desc) ed = eina_list_data_get(eina_list_last(ep->other_desc));
|
||||
ed->map.rot.y = FROM_DOUBLE(parse_float(0));
|
||||
ed->common.map.rot.y = FROM_DOUBLE(parse_float(0));
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -5988,7 +5988,7 @@ st_collections_group_parts_part_description_map_rotation_z(void)
|
|||
|
||||
ed = ep->default_desc;
|
||||
if (ep->other_desc) ed = eina_list_data_get(eina_list_last(ep->other_desc));
|
||||
ed->map.rot.z = FROM_DOUBLE(parse_float(0));
|
||||
ed->common.map.rot.z = FROM_DOUBLE(parse_float(0));
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -6032,7 +6032,7 @@ st_collections_group_parts_part_description_perspective_zplane(void)
|
|||
|
||||
ed = ep->default_desc;
|
||||
if (ep->other_desc) ed = eina_list_data_get(eina_list_last(ep->other_desc));
|
||||
ed->persp.zplane = parse_int(0);
|
||||
ed->common.persp.zplane = parse_int(0);
|
||||
}
|
||||
|
||||
|
||||
|
@ -6061,7 +6061,7 @@ st_collections_group_parts_part_description_perspective_focal(void)
|
|||
|
||||
ed = ep->default_desc;
|
||||
if (ep->other_desc) ed = eina_list_data_get(eina_list_last(ep->other_desc));
|
||||
ed->persp.focal = parse_int_range(0, 1, 0x7fffffff);
|
||||
ed->common.persp.focal = parse_int_range(0, 1, 0x7fffffff);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -170,14 +170,14 @@ check_image_part_desc (Edje_Part_Collection *pc, Edje_Part *ep,
|
|||
if (epd->image.id == -1)
|
||||
error_and_abort(ef, "Collection %i: image attributes missing for "
|
||||
"part \"%s\", description \"%s\" %f\n",
|
||||
pc->id, ep->name, epd->state.name, epd->state.value);
|
||||
pc->id, ep->name, epd->common.state.name, epd->common.state.value);
|
||||
|
||||
EINA_LIST_FOREACH(epd->image.tween_list, l, iid)
|
||||
{
|
||||
if (iid->id == -1)
|
||||
error_and_abort(ef, "Collection %i: tween image id missing for "
|
||||
"part \"%s\", description \"%s\" %f\n",
|
||||
pc->id, ep->name, epd->state.name, epd->state.value);
|
||||
pc->id, ep->name, epd->common.state.name, epd->common.state.value);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -82,15 +82,15 @@ _edje_part_description_find(Edje *ed __UNUSED__, Edje_Real_Part *rp, const char
|
|||
if (!strcmp(name, "default"))
|
||||
{
|
||||
ret = ep->default_desc;
|
||||
min_dst = ABS(ep->default_desc->state.value - val);
|
||||
min_dst = ABS(ep->default_desc->common.state.value - val);
|
||||
}
|
||||
EINA_LIST_FOREACH(ep->other_desc, l, d)
|
||||
{
|
||||
if (!strcmp(d->state.name, name))
|
||||
if (!strcmp(d->common.state.name, name))
|
||||
{
|
||||
double dst;
|
||||
|
||||
dst = ABS(d->state.value - val);
|
||||
dst = ABS(d->common.state.value - val);
|
||||
if (dst < min_dst)
|
||||
{
|
||||
ret = d;
|
||||
|
@ -148,14 +148,14 @@ _edje_part_description_apply(Edje *ed, Edje_Real_Part *ep, const char *d1, doubl
|
|||
ep->param1.rel1_to_x = ep->param1.rel1_to_y = NULL;
|
||||
ep->param1.rel2_to_x = ep->param1.rel2_to_y = NULL;
|
||||
|
||||
if (ep->param1.description->rel1.id_x >= 0)
|
||||
ep->param1.rel1_to_x = ed->table_parts[ep->param1.description->rel1.id_x % ed->table_parts_size];
|
||||
if (ep->param1.description->rel1.id_y >= 0)
|
||||
ep->param1.rel1_to_y = ed->table_parts[ep->param1.description->rel1.id_y % ed->table_parts_size];
|
||||
if (ep->param1.description->rel2.id_x >= 0)
|
||||
ep->param1.rel2_to_x = ed->table_parts[ep->param1.description->rel2.id_x % ed->table_parts_size];
|
||||
if (ep->param1.description->rel2.id_y >= 0)
|
||||
ep->param1.rel2_to_y = ed->table_parts[ep->param1.description->rel2.id_y % ed->table_parts_size];
|
||||
if (ep->param1.description->common.rel1.id_x >= 0)
|
||||
ep->param1.rel1_to_x = ed->table_parts[ep->param1.description->common.rel1.id_x % ed->table_parts_size];
|
||||
if (ep->param1.description->common.rel1.id_y >= 0)
|
||||
ep->param1.rel1_to_y = ed->table_parts[ep->param1.description->common.rel1.id_y % ed->table_parts_size];
|
||||
if (ep->param1.description->common.rel2.id_x >= 0)
|
||||
ep->param1.rel2_to_x = ed->table_parts[ep->param1.description->common.rel2.id_x % ed->table_parts_size];
|
||||
if (ep->param1.description->common.rel2.id_y >= 0)
|
||||
ep->param1.rel2_to_y = ed->table_parts[ep->param1.description->common.rel2.id_y % ed->table_parts_size];
|
||||
|
||||
if (ep->part->type == EDJE_PART_TYPE_EXTERNAL)
|
||||
{
|
||||
|
@ -173,14 +173,14 @@ _edje_part_description_apply(Edje *ed, Edje_Real_Part *ep, const char *d1, doubl
|
|||
|
||||
if (ep->param2->description)
|
||||
{
|
||||
if (ep->param2->description->rel1.id_x >= 0)
|
||||
ep->param2->rel1_to_x = ed->table_parts[ep->param2->description->rel1.id_x % ed->table_parts_size];
|
||||
if (ep->param2->description->rel1.id_y >= 0)
|
||||
ep->param2->rel1_to_y = ed->table_parts[ep->param2->description->rel1.id_y % ed->table_parts_size];
|
||||
if (ep->param2->description->rel2.id_x >= 0)
|
||||
ep->param2->rel2_to_x = ed->table_parts[ep->param2->description->rel2.id_x % ed->table_parts_size];
|
||||
if (ep->param2->description->rel2.id_y >= 0)
|
||||
ep->param2->rel2_to_y = ed->table_parts[ep->param2->description->rel2.id_y % ed->table_parts_size];
|
||||
if (ep->param2->description->common.rel1.id_x >= 0)
|
||||
ep->param2->rel1_to_x = ed->table_parts[ep->param2->description->common.rel1.id_x % ed->table_parts_size];
|
||||
if (ep->param2->description->common.rel1.id_y >= 0)
|
||||
ep->param2->rel1_to_y = ed->table_parts[ep->param2->description->common.rel1.id_y % ed->table_parts_size];
|
||||
if (ep->param2->description->common.rel2.id_x >= 0)
|
||||
ep->param2->rel2_to_x = ed->table_parts[ep->param2->description->common.rel2.id_x % ed->table_parts_size];
|
||||
if (ep->param2->description->common.rel2.id_y >= 0)
|
||||
ep->param2->rel2_to_y = ed->table_parts[ep->param2->description->common.rel2.id_y % ed->table_parts_size];
|
||||
|
||||
if (ep->part->type == EDJE_PART_TYPE_EXTERNAL)
|
||||
ep->param2->external_params = _edje_external_params_parse(ep->swallowed_object, ep->param2->description->external_params);
|
||||
|
@ -344,7 +344,7 @@ _edje_dragable_pos_set(Edje *ed, Edje_Real_Part *ep, FLOAT_T x, FLOAT_T y)
|
|||
static void
|
||||
_edje_part_recalc_single_rel(Edje *ed,
|
||||
Edje_Real_Part *ep __UNUSED__,
|
||||
Edje_Part_Description *desc,
|
||||
Edje_Part_Description_Common *desc,
|
||||
Edje_Real_Part *rel1_to_x,
|
||||
Edje_Real_Part *rel1_to_y,
|
||||
Edje_Real_Part *rel2_to_x,
|
||||
|
@ -404,7 +404,7 @@ _edje_part_recalc_single_rel(Edje *ed,
|
|||
|
||||
static void
|
||||
_edje_part_recalc_single_aspect(Edje_Real_Part *ep,
|
||||
Edje_Part_Description *desc,
|
||||
Edje_Part_Description_Common *desc,
|
||||
Edje_Calc_Params *params,
|
||||
int *minw, int *minh,
|
||||
int *maxw, int *maxh)
|
||||
|
@ -602,7 +602,7 @@ _edje_part_recalc_single_aspect(Edje_Real_Part *ep,
|
|||
}
|
||||
|
||||
static void
|
||||
_edje_part_recalc_single_step(Edje_Part_Description *desc,
|
||||
_edje_part_recalc_single_step(Edje_Part_Description_Common *desc,
|
||||
Edje_Calc_Params *params,
|
||||
int flags)
|
||||
{
|
||||
|
@ -930,7 +930,7 @@ _edje_part_recalc_single_text(FLOAT_T sc,
|
|||
}
|
||||
|
||||
static void
|
||||
_edje_part_recalc_single_min(Edje_Part_Description *desc,
|
||||
_edje_part_recalc_single_min(Edje_Part_Description_Common *desc,
|
||||
Edje_Calc_Params *params,
|
||||
int minw, int minh,
|
||||
int flags)
|
||||
|
@ -960,7 +960,7 @@ _edje_part_recalc_single_min(Edje_Part_Description *desc,
|
|||
}
|
||||
|
||||
static void
|
||||
_edje_part_recalc_single_max(Edje_Part_Description *desc,
|
||||
_edje_part_recalc_single_max(Edje_Part_Description_Common *desc,
|
||||
Edje_Calc_Params *params,
|
||||
int maxw, int maxh,
|
||||
int flags)
|
||||
|
@ -1139,7 +1139,7 @@ _edje_part_recalc_single_fill(Edje_Real_Part *ep,
|
|||
static void
|
||||
_edje_part_recalc_single_min_max(FLOAT_T sc,
|
||||
Edje_Real_Part *ep,
|
||||
Edje_Part_Description *desc,
|
||||
Edje_Part_Description_Common *desc,
|
||||
int *minw, int *minh,
|
||||
int *maxw, int *maxh,
|
||||
int flags __UNUSED__)
|
||||
|
@ -1245,17 +1245,17 @@ _edje_part_recalc_single(Edje *ed,
|
|||
|
||||
sc = ed->scale;
|
||||
if (sc == 0.0) sc = _edje_scale;
|
||||
_edje_part_recalc_single_min_max(sc, ep, desc, &minw, &minh, &maxw, &maxh, flags);
|
||||
_edje_part_recalc_single_min_max(sc, ep, &desc->common, &minw, &minh, &maxw, &maxh, flags);
|
||||
|
||||
/* relative coords of top left & bottom right */
|
||||
_edje_part_recalc_single_rel(ed, ep, desc, rel1_to_x, rel1_to_y, rel2_to_x, rel2_to_y, params, flags);
|
||||
_edje_part_recalc_single_rel(ed, ep, &desc->common, rel1_to_x, rel1_to_y, rel2_to_x, rel2_to_y, params, flags);
|
||||
|
||||
/* aspect */
|
||||
if (((flags | ep->calculated) & FLAG_XY) == FLAG_XY)
|
||||
_edje_part_recalc_single_aspect(ep, desc, params, &minw, &minh, &maxw, &maxh);
|
||||
_edje_part_recalc_single_aspect(ep, &desc->common, params, &minw, &minh, &maxw, &maxh);
|
||||
|
||||
/* size step */
|
||||
_edje_part_recalc_single_step(desc, params, flags);
|
||||
_edje_part_recalc_single_step(&desc->common, params, flags);
|
||||
|
||||
/* if we have text that wants to make the min size the text size... */
|
||||
if (ep->part->type == EDJE_PART_TYPE_TEXTBLOCK)
|
||||
|
@ -1270,10 +1270,10 @@ _edje_part_recalc_single(Edje *ed,
|
|||
params->req.h = params->h;
|
||||
|
||||
/* adjust for min size */
|
||||
_edje_part_recalc_single_min(desc, params, minw, minh, flags);
|
||||
_edje_part_recalc_single_min(&desc->common, params, minw, minh, flags);
|
||||
|
||||
/* adjust for max size */
|
||||
_edje_part_recalc_single_max(desc, params, maxw, maxh, flags);
|
||||
_edje_part_recalc_single_max(&desc->common, params, maxw, maxh, flags);
|
||||
|
||||
/* take care of dragable part */
|
||||
if (ep->drag)
|
||||
|
@ -1303,7 +1303,7 @@ _edje_part_recalc_single(Edje *ed,
|
|||
}
|
||||
|
||||
/* visible */
|
||||
params->visible = desc->visible;
|
||||
params->visible = desc->common.visible;
|
||||
|
||||
switch (ep->part->type)
|
||||
{
|
||||
|
@ -1562,8 +1562,8 @@ _edje_image_recalc_apply(Edje *ed, Edje_Real_Part *ep, Edje_Calc_Params *p3, Edj
|
|||
ERR("¨Part \"%s\" has description, "
|
||||
"\"%s\" %3.3f with a missing image id!!!",
|
||||
ep->part->name,
|
||||
ep->param1.description->state.name,
|
||||
ep->param1.description->state.value);
|
||||
ep->param1.description->common.state.name,
|
||||
ep->param1.description->common.state.value);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -2017,7 +2017,7 @@ _edje_part_recalc(Edje *ed, Edje_Real_Part *ep, int flags)
|
|||
mo = ep->swallowed_object;
|
||||
}
|
||||
else mo = ep->object;
|
||||
if (chosen_desc->map.on)
|
||||
if (chosen_desc->common.map.on)
|
||||
{
|
||||
Evas_Map *map;
|
||||
Evas_Coord cx, cy, cz;
|
||||
|
@ -2051,12 +2051,12 @@ _edje_part_recalc(Edje *ed, Edje_Real_Part *ep, int flags)
|
|||
|
||||
// if another center is specified - find it and caculate it
|
||||
if ((desc1) &&
|
||||
(desc1->map.rot.id_center >= 0) &&
|
||||
(desc1->map.rot.id_center != ep->part->id))
|
||||
(desc1->common.map.rot.id_center >= 0) &&
|
||||
(desc1->common.map.rot.id_center != ep->part->id))
|
||||
{
|
||||
Evas_Coord cx1, cy1, cz1, cx2, cy2, cz2;
|
||||
Edje_Real_Part *ep2 =
|
||||
ed->table_parts[desc1->map.rot.id_center %
|
||||
ed->table_parts[desc1->common.map.rot.id_center %
|
||||
ed->table_parts_size];
|
||||
// get center for desc1
|
||||
if (ep2)
|
||||
|
@ -2068,10 +2068,10 @@ _edje_part_recalc(Edje *ed, Edje_Real_Part *ep, int flags)
|
|||
}
|
||||
// if we have a desc2 and are on a partiual position to it
|
||||
if ((pos != ZERO) && (desc2) &&
|
||||
(desc2->map.rot.id_center >= 0) &&
|
||||
(desc2->map.rot.id_center != ep->part->id))
|
||||
(desc2->common.map.rot.id_center >= 0) &&
|
||||
(desc2->common.map.rot.id_center != ep->part->id))
|
||||
{
|
||||
ep2 = ed->table_parts[desc2->map.rot.id_center %
|
||||
ep2 = ed->table_parts[desc2->common.map.rot.id_center %
|
||||
ed->table_parts_size];
|
||||
// get 2nd center & merge with pos with center 1
|
||||
if (ep2)
|
||||
|
@ -2093,32 +2093,32 @@ _edje_part_recalc(Edje *ed, Edje_Real_Part *ep, int flags)
|
|||
// rotation - interpolate wit pos, if appropriate
|
||||
if ((pos != ZERO) && (desc2))
|
||||
{
|
||||
rx = TO_DOUBLE(ADD(desc1->map.rot.x,
|
||||
MUL(pos, SUB(desc2->map.rot.x,
|
||||
desc1->map.rot.x))));
|
||||
ry = TO_DOUBLE(ADD(desc1->map.rot.y,
|
||||
MUL(pos, SUB(desc2->map.rot.y,
|
||||
desc1->map.rot.y))));
|
||||
rz = TO_DOUBLE(ADD(desc1->map.rot.z,
|
||||
MUL(pos, SUB(desc2->map.rot.z,
|
||||
desc1->map.rot.z))));
|
||||
rx = TO_DOUBLE(ADD(desc1->common.map.rot.x,
|
||||
MUL(pos, SUB(desc2->common.map.rot.x,
|
||||
desc1->common.map.rot.x))));
|
||||
ry = TO_DOUBLE(ADD(desc1->common.map.rot.y,
|
||||
MUL(pos, SUB(desc2->common.map.rot.y,
|
||||
desc1->common.map.rot.y))));
|
||||
rz = TO_DOUBLE(ADD(desc1->common.map.rot.z,
|
||||
MUL(pos, SUB(desc2->common.map.rot.z,
|
||||
desc1->common.map.rot.z))));
|
||||
}
|
||||
else
|
||||
{
|
||||
// no 2 descriptions - just use rot
|
||||
rx = TO_DOUBLE(desc1->map.rot.x);
|
||||
ry = TO_DOUBLE(desc1->map.rot.y);
|
||||
rz = TO_DOUBLE(desc1->map.rot.z);
|
||||
rx = TO_DOUBLE(desc1->common.map.rot.x);
|
||||
ry = TO_DOUBLE(desc1->common.map.rot.y);
|
||||
rz = TO_DOUBLE(desc1->common.map.rot.z);
|
||||
}
|
||||
evas_map_util_3d_rotate(map, rx, ry, rz, cx, cy, cz);
|
||||
|
||||
// calculate light color & position etc. if there is one
|
||||
if (((desc1) &&
|
||||
(desc1->map.id_light >= 0) &&
|
||||
(desc1->map.id_light != ep->part->id)) ||
|
||||
(desc1->common.map.id_light >= 0) &&
|
||||
(desc1->common.map.id_light != ep->part->id)) ||
|
||||
((desc2) &&
|
||||
(desc2->map.id_light >= 0) &&
|
||||
(desc2->map.id_light != ep->part->id)))
|
||||
(desc2->common.map.id_light >= 0) &&
|
||||
(desc2->common.map.id_light != ep->part->id)))
|
||||
{
|
||||
Evas_Coord lx, ly, lz;
|
||||
int lr, lg, lb, lar, lag, lab;
|
||||
|
@ -2130,11 +2130,11 @@ _edje_part_recalc(Edje *ed, Edje_Real_Part *ep, int flags)
|
|||
do1 = do2 = 0;
|
||||
|
||||
if ((desc1) &&
|
||||
(desc1->map.id_light >= 0) &&
|
||||
(desc1->map.id_light != ep->part->id))
|
||||
(desc1->common.map.id_light >= 0) &&
|
||||
(desc1->common.map.id_light != ep->part->id))
|
||||
{
|
||||
Edje_Real_Part *ep2 =
|
||||
ed->table_parts[desc1->map.id_light %
|
||||
ed->table_parts[desc1->common.map.id_light %
|
||||
ed->table_parts_size];
|
||||
// get light part
|
||||
if (ep2)
|
||||
|
@ -2156,9 +2156,9 @@ _edje_part_recalc(Edje *ed, Edje_Real_Part *ep, int flags)
|
|||
// if light is transitioning - interpolate it
|
||||
if ((ep2pos != ZERO) && (ep2desc2))
|
||||
{
|
||||
lz1 = ep2desc1->persp.zplane +
|
||||
TO_INT(SCALE(ep2pos, ep2desc2->persp.zplane -
|
||||
ep2desc1->persp.zplane));
|
||||
lz1 = ep2desc1->common.persp.zplane +
|
||||
TO_INT(SCALE(ep2pos, ep2desc2->common.persp.zplane -
|
||||
ep2desc1->common.persp.zplane));
|
||||
lr1 = ep2desc1->color.r +
|
||||
TO_INT(SCALE(ep2pos, ep2desc2->color.r -
|
||||
ep2desc1->color.r));
|
||||
|
@ -2180,7 +2180,7 @@ _edje_part_recalc(Edje *ed, Edje_Real_Part *ep, int flags)
|
|||
}
|
||||
else
|
||||
{
|
||||
lz1 = ep2desc1->persp.zplane;
|
||||
lz1 = ep2desc1->common.persp.zplane;
|
||||
lr1 = ep2desc1->color.r;
|
||||
lg1 = ep2desc1->color.g;
|
||||
lb1 = ep2desc1->color.b;
|
||||
|
@ -2191,11 +2191,11 @@ _edje_part_recalc(Edje *ed, Edje_Real_Part *ep, int flags)
|
|||
}
|
||||
}
|
||||
if ((desc2) &&
|
||||
(desc2->map.id_light >= 0) &&
|
||||
(desc2->map.id_light != ep->part->id))
|
||||
(desc2->common.map.id_light >= 0) &&
|
||||
(desc2->common.map.id_light != ep->part->id))
|
||||
{
|
||||
Edje_Real_Part *ep2 =
|
||||
ed->table_parts[desc2->map.id_light %
|
||||
ed->table_parts[desc2->common.map.id_light %
|
||||
ed->table_parts_size];
|
||||
// get light part
|
||||
if (ep2)
|
||||
|
@ -2217,9 +2217,9 @@ _edje_part_recalc(Edje *ed, Edje_Real_Part *ep, int flags)
|
|||
// if light is transitioning - interpolate it
|
||||
if ((ep2pos != ZERO) && (ep2desc2))
|
||||
{
|
||||
lz2 = ep2desc1->persp.zplane +
|
||||
TO_INT(SCALE(ep2pos, ep2desc2->persp.zplane -
|
||||
ep2desc1->persp.zplane));
|
||||
lz2 = ep2desc1->common.persp.zplane +
|
||||
TO_INT(SCALE(ep2pos, ep2desc2->common.persp.zplane -
|
||||
ep2desc1->common.persp.zplane));
|
||||
lr2 = ep2desc1->color.r +
|
||||
TO_INT(SCALE(ep2pos, ep2desc2->color.r -
|
||||
ep2desc1->color.r));
|
||||
|
@ -2241,7 +2241,7 @@ _edje_part_recalc(Edje *ed, Edje_Real_Part *ep, int flags)
|
|||
}
|
||||
else
|
||||
{
|
||||
lz2 = ep2desc1->persp.zplane;
|
||||
lz2 = ep2desc1->common.persp.zplane;
|
||||
lr2 = ep2desc1->color.r;
|
||||
lg2 = ep2desc1->color.g;
|
||||
lb2 = ep2desc1->color.b;
|
||||
|
@ -2282,7 +2282,7 @@ _edje_part_recalc(Edje *ed, Edje_Real_Part *ep, int flags)
|
|||
}
|
||||
|
||||
// calculate perspective point
|
||||
if (chosen_desc->map.persp_on)
|
||||
if (chosen_desc->common.map.persp_on)
|
||||
{
|
||||
Evas_Coord px, py, zplane, foc;
|
||||
Evas_Coord px1, py1, zplane1, foc1;
|
||||
|
@ -2298,10 +2298,10 @@ _edje_part_recalc(Edje *ed, Edje_Real_Part *ep, int flags)
|
|||
foc = 1000;
|
||||
|
||||
if ((desc1) &&
|
||||
(desc1->map.id_persp >= 0) &&
|
||||
(desc1->map.id_persp != ep->part->id))
|
||||
(desc1->common.map.id_persp >= 0) &&
|
||||
(desc1->common.map.id_persp != ep->part->id))
|
||||
{
|
||||
Edje_Real_Part *ep2 = ed->table_parts[desc1->map.id_persp %
|
||||
Edje_Real_Part *ep2 = ed->table_parts[desc1->common.map.id_persp %
|
||||
ed->table_parts_size];
|
||||
if (ep2)
|
||||
{
|
||||
|
@ -2320,26 +2320,26 @@ _edje_part_recalc(Edje *ed, Edje_Real_Part *ep, int flags)
|
|||
py1 = ed->y + ep2->y + (ep2->h / 2);
|
||||
if ((ep2pos != ZERO) && (ep2desc2))
|
||||
{
|
||||
zplane1 = ep2desc1->persp.zplane +
|
||||
TO_INT(SCALE(ep2pos, ep2desc2->persp.zplane -
|
||||
ep2desc1->persp.zplane));
|
||||
foc1 = ep2desc1->persp.focal +
|
||||
TO_INT(SCALE(ep2pos, ep2desc2->persp.focal -
|
||||
ep2desc1->persp.focal));
|
||||
zplane1 = ep2desc1->common.persp.zplane +
|
||||
TO_INT(SCALE(ep2pos, ep2desc2->common.persp.zplane -
|
||||
ep2desc1->common.persp.zplane));
|
||||
foc1 = ep2desc1->common.persp.focal +
|
||||
TO_INT(SCALE(ep2pos, ep2desc2->common.persp.focal -
|
||||
ep2desc1->common.persp.focal));
|
||||
}
|
||||
else
|
||||
{
|
||||
zplane1 = ep2desc1->persp.zplane;
|
||||
foc1 = ep2desc1->persp.focal;
|
||||
zplane1 = ep2desc1->common.persp.zplane;
|
||||
foc1 = ep2desc1->common.persp.focal;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ((desc2) &&
|
||||
(desc2->map.id_persp >= 0) &&
|
||||
(desc2->map.id_persp != ep->part->id))
|
||||
(desc2->common.map.id_persp >= 0) &&
|
||||
(desc2->common.map.id_persp != ep->part->id))
|
||||
{
|
||||
Edje_Real_Part *ep2 = ed->table_parts[desc2->map.id_persp %
|
||||
Edje_Real_Part *ep2 = ed->table_parts[desc2->common.map.id_persp %
|
||||
ed->table_parts_size];
|
||||
if (ep2)
|
||||
{
|
||||
|
@ -2358,17 +2358,17 @@ _edje_part_recalc(Edje *ed, Edje_Real_Part *ep, int flags)
|
|||
py2 = ed->y + ep2->y + (ep2->h / 2);
|
||||
if ((ep2pos != ZERO) && (ep2desc2))
|
||||
{
|
||||
zplane2 = ep2desc1->persp.zplane +
|
||||
TO_INT(SCALE(ep2pos, ep2desc2->persp.zplane -
|
||||
ep2desc1->persp.zplane));
|
||||
foc2 = ep2desc1->persp.focal +
|
||||
TO_INT(SCALE(ep2pos, ep2desc2->persp.focal -
|
||||
ep2desc1->persp.focal));
|
||||
zplane2 = ep2desc1->common.persp.zplane +
|
||||
TO_INT(SCALE(ep2pos, ep2desc2->common.persp.zplane -
|
||||
ep2desc1->common.persp.zplane));
|
||||
foc2 = ep2desc1->common.persp.focal +
|
||||
TO_INT(SCALE(ep2pos, ep2desc2->common.persp.focal -
|
||||
ep2desc1->common.persp.focal));
|
||||
}
|
||||
else
|
||||
{
|
||||
zplane2 = ep2desc1->persp.zplane;
|
||||
foc2 = ep2desc1->persp.focal;
|
||||
zplane2 = ep2desc1->common.persp.zplane;
|
||||
foc2 = ep2desc1->common.persp.focal;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -2412,7 +2412,7 @@ _edje_part_recalc(Edje *ed, Edje_Real_Part *ep, int flags)
|
|||
}
|
||||
|
||||
// handle backface culling (object is facing away from view
|
||||
if (chosen_desc->map.backcull)
|
||||
if (chosen_desc->common.map.backcull)
|
||||
{
|
||||
if (pf->visible)
|
||||
{
|
||||
|
@ -2423,10 +2423,10 @@ _edje_part_recalc(Edje *ed, Edje_Real_Part *ep, int flags)
|
|||
}
|
||||
|
||||
// handle smooth
|
||||
if (chosen_desc->map.smooth) evas_map_smooth_set(map, 1);
|
||||
if (chosen_desc->common.map.smooth) evas_map_smooth_set(map, 1);
|
||||
else evas_map_smooth_set(map, 0);
|
||||
// handle alpha
|
||||
if (chosen_desc->map.alpha) evas_map_alpha_set(map, 1);
|
||||
if (chosen_desc->common.map.alpha) evas_map_alpha_set(map, 1);
|
||||
else evas_map_alpha_set(map, 0);
|
||||
|
||||
evas_object_map_set(mo, map);
|
||||
|
|
|
@ -247,34 +247,34 @@ _edje_edd_init(void)
|
|||
EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_Part_Description);
|
||||
_edje_edd_edje_part_description =
|
||||
eet_data_descriptor_file_new(&eddc);
|
||||
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description, Edje_Part_Description, "state.name", state.name, EET_T_STRING);
|
||||
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description, Edje_Part_Description, "state.value", state.value, EET_T_DOUBLE);
|
||||
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description, Edje_Part_Description, "visible", visible, EET_T_CHAR);
|
||||
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description, Edje_Part_Description, "align.x", align.x, EDJE_T_FLOAT);
|
||||
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description, Edje_Part_Description, "align.y", align.y, EDJE_T_FLOAT);
|
||||
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description, Edje_Part_Description, "fixed.w", fixed.w, EET_T_UCHAR);
|
||||
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description, Edje_Part_Description, "fixed.h", fixed.h, EET_T_UCHAR);
|
||||
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description, Edje_Part_Description, "min.w", min.w, EET_T_INT);
|
||||
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description, Edje_Part_Description, "min.h", min.h, EET_T_INT);
|
||||
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description, Edje_Part_Description, "max.w", max.w, EET_T_INT);
|
||||
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description, Edje_Part_Description, "max.h", max.h, EET_T_INT);
|
||||
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description, Edje_Part_Description, "step.x", step.x, EET_T_INT);
|
||||
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description, Edje_Part_Description, "step.y", step.y, EET_T_INT);
|
||||
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description, Edje_Part_Description, "aspect.min", aspect.min, EDJE_T_FLOAT);
|
||||
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description, Edje_Part_Description, "aspect.max", aspect.max, EDJE_T_FLOAT);
|
||||
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description, Edje_Part_Description, "aspect.prefer", aspect.prefer, EET_T_CHAR);
|
||||
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description, Edje_Part_Description, "rel1.relative_x", rel1.relative_x, EDJE_T_FLOAT);
|
||||
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description, Edje_Part_Description, "rel1.relative_y", rel1.relative_y, EDJE_T_FLOAT);
|
||||
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description, Edje_Part_Description, "rel1.offset_x", rel1.offset_x, EET_T_INT);
|
||||
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description, Edje_Part_Description, "rel1.offset_y", rel1.offset_y, EET_T_INT);
|
||||
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description, Edje_Part_Description, "rel1.id_x", rel1.id_x, EET_T_INT);
|
||||
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description, Edje_Part_Description, "rel1.id_y", rel1.id_y, EET_T_INT);
|
||||
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description, Edje_Part_Description, "rel2.relative_x", rel2.relative_x, EDJE_T_FLOAT);
|
||||
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description, Edje_Part_Description, "rel2.relative_y", rel2.relative_y, EDJE_T_FLOAT);
|
||||
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description, Edje_Part_Description, "rel2.offset_x", rel2.offset_x, EET_T_INT);
|
||||
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description, Edje_Part_Description, "rel2.offset_y", rel2.offset_y, EET_T_INT);
|
||||
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description, Edje_Part_Description, "rel2.id_x", rel2.id_x, EET_T_INT);
|
||||
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description, Edje_Part_Description, "rel2.id_y", rel2.id_y, EET_T_INT);
|
||||
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description, Edje_Part_Description, "state.name", common.state.name, EET_T_STRING);
|
||||
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description, Edje_Part_Description, "state.value", common.state.value, EET_T_DOUBLE);
|
||||
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description, Edje_Part_Description, "visible", common.visible, EET_T_CHAR);
|
||||
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description, Edje_Part_Description, "align.x", common.align.x, EDJE_T_FLOAT);
|
||||
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description, Edje_Part_Description, "align.y", common.align.y, EDJE_T_FLOAT);
|
||||
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description, Edje_Part_Description, "fixed.w", common.fixed.w, EET_T_UCHAR);
|
||||
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description, Edje_Part_Description, "fixed.h", common.fixed.h, EET_T_UCHAR);
|
||||
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description, Edje_Part_Description, "min.w", common.min.w, EET_T_INT);
|
||||
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description, Edje_Part_Description, "min.h", common.min.h, EET_T_INT);
|
||||
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description, Edje_Part_Description, "max.w", common.max.w, EET_T_INT);
|
||||
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description, Edje_Part_Description, "max.h", common.max.h, EET_T_INT);
|
||||
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description, Edje_Part_Description, "step.x", common.step.x, EET_T_INT);
|
||||
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description, Edje_Part_Description, "step.y", common.step.y, EET_T_INT);
|
||||
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description, Edje_Part_Description, "aspect.min", common.aspect.min, EDJE_T_FLOAT);
|
||||
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description, Edje_Part_Description, "aspect.max", common.aspect.max, EDJE_T_FLOAT);
|
||||
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description, Edje_Part_Description, "aspect.prefer", common.aspect.prefer, EET_T_CHAR);
|
||||
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description, Edje_Part_Description, "rel1.relative_x", common.rel1.relative_x, EDJE_T_FLOAT);
|
||||
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description, Edje_Part_Description, "rel1.relative_y", common.rel1.relative_y, EDJE_T_FLOAT);
|
||||
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description, Edje_Part_Description, "rel1.offset_x", common.rel1.offset_x, EET_T_INT);
|
||||
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description, Edje_Part_Description, "rel1.offset_y", common.rel1.offset_y, EET_T_INT);
|
||||
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description, Edje_Part_Description, "rel1.id_x", common.rel1.id_x, EET_T_INT);
|
||||
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description, Edje_Part_Description, "rel1.id_y", common.rel1.id_y, EET_T_INT);
|
||||
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description, Edje_Part_Description, "rel2.relative_x", common.rel2.relative_x, EDJE_T_FLOAT);
|
||||
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description, Edje_Part_Description, "rel2.relative_y", common.rel2.relative_y, EDJE_T_FLOAT);
|
||||
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description, Edje_Part_Description, "rel2.offset_x", common.rel2.offset_x, EET_T_INT);
|
||||
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description, Edje_Part_Description, "rel2.offset_y", common.rel2.offset_y, EET_T_INT);
|
||||
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description, Edje_Part_Description, "rel2.id_x", common.rel2.id_x, EET_T_INT);
|
||||
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description, Edje_Part_Description, "rel2.id_y", common.rel2.id_y, EET_T_INT);
|
||||
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description, Edje_Part_Description, "image.id", image.id, EET_T_INT);
|
||||
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description, Edje_Part_Description, "image.set", image.set, EET_T_UCHAR);
|
||||
EET_DATA_DESCRIPTOR_ADD_LIST(_edje_edd_edje_part_description, Edje_Part_Description, "image.tween_list", image.tween_list, _edje_edd_edje_part_image_id);
|
||||
|
@ -340,19 +340,19 @@ _edje_edd_init(void)
|
|||
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description, Edje_Part_Description, "table.align.y", table.align.y, EDJE_T_FLOAT);
|
||||
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description, Edje_Part_Description, "table.padding.x", table.padding.x, EET_T_INT);
|
||||
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description, Edje_Part_Description, "table.padding.y", table.padding.y, EET_T_INT);
|
||||
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description, Edje_Part_Description, "map.id_persp", map.id_persp, EET_T_INT);
|
||||
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description, Edje_Part_Description, "map.id_light", map.id_light, EET_T_INT);
|
||||
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description, Edje_Part_Description, "map.rot.id_center", map.rot.id_center, EET_T_INT);
|
||||
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description, Edje_Part_Description, "map.rot.x", map.rot.x, EDJE_T_FLOAT);
|
||||
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description, Edje_Part_Description, "map.rot.y", map.rot.y, EDJE_T_FLOAT);
|
||||
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description, Edje_Part_Description, "map.rot.z", map.rot.z, EDJE_T_FLOAT);
|
||||
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description, Edje_Part_Description, "map.on", map.on, EET_T_UCHAR);
|
||||
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description, Edje_Part_Description, "map.smooth", map.smooth, EET_T_UCHAR);
|
||||
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description, Edje_Part_Description, "map.alpha", map.alpha, EET_T_UCHAR);
|
||||
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description, Edje_Part_Description, "map.persp_on", map.persp_on, EET_T_UCHAR);
|
||||
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description, Edje_Part_Description, "map.backcull", map.backcull, EET_T_UCHAR);
|
||||
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description, Edje_Part_Description, "persp.zplane", persp.zplane, EET_T_INT);
|
||||
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description, Edje_Part_Description, "persp.focal", persp.focal, EET_T_INT);
|
||||
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description, Edje_Part_Description, "map.id_persp", common.map.id_persp, EET_T_INT);
|
||||
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description, Edje_Part_Description, "map.id_light", common.map.id_light, EET_T_INT);
|
||||
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description, Edje_Part_Description, "map.rot.id_center", common.map.rot.id_center, EET_T_INT);
|
||||
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description, Edje_Part_Description, "map.rot.x", common.map.rot.x, EDJE_T_FLOAT);
|
||||
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description, Edje_Part_Description, "map.rot.y", common.map.rot.y, EDJE_T_FLOAT);
|
||||
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description, Edje_Part_Description, "map.rot.z", common.map.rot.z, EDJE_T_FLOAT);
|
||||
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description, Edje_Part_Description, "map.on", common.map.on, EET_T_UCHAR);
|
||||
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description, Edje_Part_Description, "map.smooth", common.map.smooth, EET_T_UCHAR);
|
||||
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description, Edje_Part_Description, "map.alpha", common.map.alpha, EET_T_UCHAR);
|
||||
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description, Edje_Part_Description, "map.persp_on", common.map.persp_on, EET_T_UCHAR);
|
||||
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description, Edje_Part_Description, "map.backcull", common.map.backcull, EET_T_UCHAR);
|
||||
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description, Edje_Part_Description, "persp.zplane", common.persp.zplane, EET_T_INT);
|
||||
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description, Edje_Part_Description, "persp.focal", common.persp.focal, EET_T_INT);
|
||||
EET_DATA_DESCRIPTOR_ADD_LIST(_edje_edd_edje_part_description, Edje_Part_Description, "external_params", external_params, _edje_edd_edje_external_param);
|
||||
|
||||
EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_Pack_Element);
|
||||
|
|
|
@ -483,6 +483,7 @@ _edje_part_id_set(Edje *ed, Edje_Real_Part *rp, int new_id)
|
|||
EINA_LIST_FOREACH(ed->collection->parts, l, p)
|
||||
{
|
||||
Edje_Part_Description *d;
|
||||
Edje_Part_Description_Common *c;
|
||||
|
||||
//printf(" search id: %d in %s\n", old_id, p->name);
|
||||
if (p->clip_to_id == old_id) p->clip_to_id = new_id;
|
||||
|
@ -490,21 +491,24 @@ _edje_part_id_set(Edje *ed, Edje_Real_Part *rp, int new_id)
|
|||
|
||||
/* ...in default description */
|
||||
d = p->default_desc;
|
||||
c = &d->common;
|
||||
//printf(" search in %s (%s)\n", p->name, d->state.name);
|
||||
if (d->rel1.id_x == old_id) d->rel1.id_x = new_id;
|
||||
if (d->rel1.id_y == old_id) d->rel1.id_y = new_id;
|
||||
if (d->rel2.id_x == old_id) d->rel2.id_x = new_id;
|
||||
if (d->rel2.id_y == old_id) d->rel2.id_y = new_id;
|
||||
if (c->rel1.id_x == old_id) c->rel1.id_x = new_id;
|
||||
if (c->rel1.id_y == old_id) c->rel1.id_y = new_id;
|
||||
if (c->rel2.id_x == old_id) c->rel2.id_x = new_id;
|
||||
if (c->rel2.id_y == old_id) c->rel2.id_y = new_id;
|
||||
if (d->text.id_source == old_id) d->text.id_source = new_id;
|
||||
if (d->text.id_text_source == old_id) d->text.id_text_source = new_id;
|
||||
/* ...and in all other descriptions */
|
||||
EINA_LIST_FOREACH(p->other_desc, ll, d)
|
||||
{
|
||||
c = &d->common;
|
||||
|
||||
//printf(" search in %s (%s)\n", p->name, d->state.name);
|
||||
if (d->rel1.id_x == old_id) d->rel1.id_x = new_id;
|
||||
if (d->rel1.id_y == old_id) d->rel1.id_y = new_id;
|
||||
if (d->rel2.id_x == old_id) d->rel2.id_x = new_id;
|
||||
if (d->rel2.id_y == old_id) d->rel2.id_y = new_id;
|
||||
if (c->rel1.id_x == old_id) c->rel1.id_x = new_id;
|
||||
if (c->rel1.id_y == old_id) c->rel1.id_y = new_id;
|
||||
if (c->rel2.id_x == old_id) c->rel2.id_x = new_id;
|
||||
if (c->rel2.id_y == old_id) c->rel2.id_y = new_id;
|
||||
if (d->text.id_source == old_id) d->text.id_source = new_id;
|
||||
if (d->text.id_text_source == old_id) d->text.id_text_source = new_id;
|
||||
}
|
||||
|
@ -570,6 +574,7 @@ _edje_parts_id_switch(Edje *ed, Edje_Real_Part *rp1, Edje_Real_Part *rp2)
|
|||
{
|
||||
Eina_List *ll;
|
||||
Edje_Part_Description *d;
|
||||
Edje_Part_Description_Common *c;
|
||||
|
||||
//printf(" search id: %d in %s\n", old_id, p->name);
|
||||
if (p->clip_to_id == id1) p->clip_to_id = id2;
|
||||
|
@ -579,15 +584,16 @@ _edje_parts_id_switch(Edje *ed, Edje_Real_Part *rp1, Edje_Real_Part *rp2)
|
|||
|
||||
// ...in default description
|
||||
d = p->default_desc;
|
||||
c = &d->common;
|
||||
// printf(" search in %s (%s)\n", p->name, d->state.name);
|
||||
if (d->rel1.id_x == id1) d->rel1.id_x = id2;
|
||||
else if (d->rel1.id_x == id2) d->rel1.id_x = id1;
|
||||
if (d->rel1.id_y == id1) d->rel1.id_y = id2;
|
||||
else if (d->rel1.id_y == id2) d->rel1.id_y = id1;
|
||||
if (d->rel2.id_x == id1) d->rel2.id_x = id2;
|
||||
else if (d->rel2.id_x == id2) d->rel2.id_x = id1;
|
||||
if (d->rel2.id_y == id1) d->rel2.id_y = id2;
|
||||
else if (d->rel2.id_y == id2) d->rel2.id_y = id1;
|
||||
if (c->rel1.id_x == id1) c->rel1.id_x = id2;
|
||||
else if (c->rel1.id_x == id2) c->rel1.id_x = id1;
|
||||
if (c->rel1.id_y == id1) c->rel1.id_y = id2;
|
||||
else if (c->rel1.id_y == id2) c->rel1.id_y = id1;
|
||||
if (c->rel2.id_x == id1) c->rel2.id_x = id2;
|
||||
else if (c->rel2.id_x == id2) c->rel2.id_x = id1;
|
||||
if (c->rel2.id_y == id1) c->rel2.id_y = id2;
|
||||
else if (c->rel2.id_y == id2) c->rel2.id_y = id1;
|
||||
if (d->text.id_source == id1) d->text.id_source = id2;
|
||||
else if (d->text.id_source == id2) d->text.id_source = id1;
|
||||
if (d->text.id_text_source == id1) d->text.id_text_source = id2;
|
||||
|
@ -595,15 +601,16 @@ _edje_parts_id_switch(Edje *ed, Edje_Real_Part *rp1, Edje_Real_Part *rp2)
|
|||
// ...and in all other descriptions
|
||||
EINA_LIST_FOREACH(p->other_desc, ll, d)
|
||||
{
|
||||
c = &d->common;
|
||||
//printf(" search in %s (%s)\n", p->name, d->state.name);
|
||||
if (d->rel1.id_x == id1) d->rel1.id_x = id2;
|
||||
else if (d->rel1.id_x == id2) d->rel1.id_x = id1;
|
||||
if (d->rel1.id_y == id1) d->rel1.id_y = id2;
|
||||
else if (d->rel1.id_y == id2) d->rel1.id_y = id1;
|
||||
if (d->rel2.id_x == id1) d->rel2.id_x = id2;
|
||||
else if (d->rel2.id_x == id2) d->rel2.id_x = id1;
|
||||
if (d->rel2.id_y == id1) d->rel2.id_y = id2;
|
||||
else if (d->rel2.id_y == id2) d->rel2.id_y = id1;
|
||||
if (c->rel1.id_x == id1) c->rel1.id_x = id2;
|
||||
else if (c->rel1.id_x == id2) c->rel1.id_x = id1;
|
||||
if (c->rel1.id_y == id1) c->rel1.id_y = id2;
|
||||
else if (c->rel1.id_y == id2) c->rel1.id_y = id1;
|
||||
if (c->rel2.id_x == id1) c->rel2.id_x = id2;
|
||||
else if (c->rel2.id_x == id2) c->rel2.id_x = id1;
|
||||
if (c->rel2.id_y == id1) c->rel2.id_y = id2;
|
||||
else if (c->rel2.id_y == id2) c->rel2.id_y = id1;
|
||||
if (d->text.id_source == id1) d->text.id_source = id2;
|
||||
else if (d->text.id_source == id2) d->text.id_source = id1;
|
||||
if (d->text.id_text_source == id1) d->text.id_text_source = id2;
|
||||
|
@ -2211,8 +2218,8 @@ edje_edit_part_selected_state_get(Evas_Object *obj, const char *part, double *va
|
|||
return eina_stringshare_add("default");
|
||||
}
|
||||
|
||||
if (value) *value = rp->chosen_description->state.value;
|
||||
return eina_stringshare_add(rp->chosen_description->state.name);
|
||||
if (value) *value = rp->chosen_description->common.state.value;
|
||||
return eina_stringshare_add(rp->chosen_description->common.state.name);
|
||||
}
|
||||
|
||||
EAPI Eina_Bool
|
||||
|
@ -2226,7 +2233,7 @@ edje_edit_part_selected_state_set(Evas_Object *obj, const char *part, const char
|
|||
if (!pd) return EINA_FALSE;
|
||||
|
||||
//printf("EDJE: Set state: %s %f\n", pd->state.name, pd->state.value);
|
||||
_edje_part_description_apply(ed, rp, pd->state.name, pd->state.value, NULL, 0.0);
|
||||
_edje_part_description_apply(ed, rp, pd->common.state.name, pd->common.state.value, NULL, 0.0);
|
||||
|
||||
edje_object_calc_force(obj);
|
||||
return EINA_TRUE;
|
||||
|
@ -2653,7 +2660,7 @@ edje_edit_part_states_list_get(Evas_Object *obj, const char *part)
|
|||
//append default state
|
||||
state = rp->part->default_desc;
|
||||
snprintf(state_name, PATH_MAX,
|
||||
"%s %.2f", state->state.name, state->state.value);
|
||||
"%s %.2f", state->common.state.name, state->common.state.value);
|
||||
states = eina_list_append(states, eina_stringshare_add(state_name));
|
||||
//printf("NEW STATE def: %s\n", state->state.name);
|
||||
|
||||
|
@ -2661,7 +2668,7 @@ edje_edit_part_states_list_get(Evas_Object *obj, const char *part)
|
|||
EINA_LIST_FOREACH(rp->part->other_desc, l, state)
|
||||
{
|
||||
snprintf(state_name, sizeof(state_name),
|
||||
"%s %.2f", state->state.name, state->state.value);
|
||||
"%s %.2f", state->common.state.name, state->common.state.value);
|
||||
states = eina_list_append(states, eina_stringshare_add(state_name));
|
||||
//printf("NEW STATE: %s\n", state_name);
|
||||
}
|
||||
|
@ -2693,8 +2700,8 @@ edje_edit_state_name_set(Evas_Object *obj, const char *part, const char *state,
|
|||
Edje_Program_Target *t = eina_list_data_get(epr->targets);
|
||||
|
||||
if (t->id == part_id &&
|
||||
!strcmp(epr->state, pd->state.name) &&
|
||||
pd->state.value == epr->value)
|
||||
!strcmp(epr->state, pd->common.state.name) &&
|
||||
pd->common.state.value == epr->value)
|
||||
{
|
||||
_edje_if_string_free(ed, epr->state);
|
||||
epr->state = eina_stringshare_add(new_name);
|
||||
|
@ -2704,10 +2711,10 @@ edje_edit_state_name_set(Evas_Object *obj, const char *part, const char *state,
|
|||
}
|
||||
|
||||
/* set name */
|
||||
_edje_if_string_free(ed, pd->state.name);
|
||||
pd->state.name = (char *)eina_stringshare_add(new_name);
|
||||
_edje_if_string_free(ed, pd->common.state.name);
|
||||
pd->common.state.name = (char *)eina_stringshare_add(new_name);
|
||||
/* set value */
|
||||
pd->state.value = new_value;
|
||||
pd->common.state.value = new_value;
|
||||
|
||||
return EINA_TRUE;
|
||||
}
|
||||
|
@ -2752,29 +2759,29 @@ edje_edit_state_add(Evas_Object *obj, const char *part, const char *name, double
|
|||
else
|
||||
rp->part->other_desc = eina_list_append(rp->part->other_desc, pd);
|
||||
|
||||
pd->state.name = eina_stringshare_add(name);
|
||||
pd->state.value = value;
|
||||
pd->visible = 1;
|
||||
pd->align.x = 0.5;
|
||||
pd->align.y = 0.5;
|
||||
pd->min.w = 0;
|
||||
pd->min.h = 0;
|
||||
pd->fixed.w = 0;
|
||||
pd->fixed.h = 0;
|
||||
pd->max.w = -1;
|
||||
pd->max.h = -1;
|
||||
pd->rel1.relative_x = 0.0;
|
||||
pd->rel1.relative_y = 0.0;
|
||||
pd->rel1.offset_x = 0;
|
||||
pd->rel1.offset_y = 0;
|
||||
pd->rel1.id_x = -1;
|
||||
pd->rel1.id_y = -1;
|
||||
pd->rel2.relative_x = 1.0;
|
||||
pd->rel2.relative_y = 1.0;
|
||||
pd->rel2.offset_x = -1;
|
||||
pd->rel2.offset_y = -1;
|
||||
pd->rel2.id_x = -1;
|
||||
pd->rel2.id_y = -1;
|
||||
pd->common.state.name = eina_stringshare_add(name);
|
||||
pd->common.state.value = value;
|
||||
pd->common.visible = 1;
|
||||
pd->common.align.x = 0.5;
|
||||
pd->common.align.y = 0.5;
|
||||
pd->common.min.w = 0;
|
||||
pd->common.min.h = 0;
|
||||
pd->common.fixed.w = 0;
|
||||
pd->common.fixed.h = 0;
|
||||
pd->common.max.w = -1;
|
||||
pd->common.max.h = -1;
|
||||
pd->common.rel1.relative_x = 0.0;
|
||||
pd->common.rel1.relative_y = 0.0;
|
||||
pd->common.rel1.offset_x = 0;
|
||||
pd->common.rel1.offset_y = 0;
|
||||
pd->common.rel1.id_x = -1;
|
||||
pd->common.rel1.id_y = -1;
|
||||
pd->common.rel2.relative_x = 1.0;
|
||||
pd->common.rel2.relative_y = 1.0;
|
||||
pd->common.rel2.offset_x = -1;
|
||||
pd->common.rel2.offset_y = -1;
|
||||
pd->common.rel2.id_x = -1;
|
||||
pd->common.rel2.id_y = -1;
|
||||
pd->image.id = -1;
|
||||
pd->fill.smooth = 1;
|
||||
pd->fill.pos_rel_x = 0.0;
|
||||
|
@ -2876,36 +2883,36 @@ edje_edit_state_copy(Evas_Object *obj, const char *part, const char *from, doubl
|
|||
return EINA_FALSE;
|
||||
/* No need to check for default desc, at this point it must exist */
|
||||
rp->part->other_desc = eina_list_append(rp->part->other_desc, pdto);
|
||||
pdto->state.name = eina_stringshare_add(to);
|
||||
pdto->state.value = val_to;
|
||||
pdto->common.state.name = eina_stringshare_add(to);
|
||||
pdto->common.state.value = val_to;
|
||||
}
|
||||
|
||||
#define PD_COPY(_x) pdto->_x = pdfrom->_x
|
||||
#define PD_STRING_COPY(_x) _edje_if_string_free(ed, pdto->_x); \
|
||||
pdto->_x = (char *)eina_stringshare_add(pdfrom->_x)
|
||||
PD_COPY(align.x);
|
||||
PD_COPY(align.y);
|
||||
PD_COPY(fixed.w);
|
||||
PD_COPY(fixed.h);
|
||||
PD_COPY(min.w);
|
||||
PD_COPY(min.h);
|
||||
PD_COPY(max.w);
|
||||
PD_COPY(max.h);
|
||||
PD_COPY(aspect.min);
|
||||
PD_COPY(aspect.max);
|
||||
PD_COPY(aspect.prefer);
|
||||
PD_COPY(rel1.relative_x);
|
||||
PD_COPY(rel1.relative_y);
|
||||
PD_COPY(rel1.offset_x);
|
||||
PD_COPY(rel1.offset_y);
|
||||
PD_COPY(rel1.id_x);
|
||||
PD_COPY(rel1.id_y);
|
||||
PD_COPY(rel2.relative_x);
|
||||
PD_COPY(rel2.relative_y);
|
||||
PD_COPY(rel2.offset_x);
|
||||
PD_COPY(rel2.offset_y);
|
||||
PD_COPY(rel2.id_x);
|
||||
PD_COPY(rel2.id_y);
|
||||
PD_COPY(common.align.x);
|
||||
PD_COPY(common.align.y);
|
||||
PD_COPY(common.fixed.w);
|
||||
PD_COPY(common.fixed.h);
|
||||
PD_COPY(common.min.w);
|
||||
PD_COPY(common.min.h);
|
||||
PD_COPY(common.max.w);
|
||||
PD_COPY(common.max.h);
|
||||
PD_COPY(common.aspect.min);
|
||||
PD_COPY(common.aspect.max);
|
||||
PD_COPY(common.aspect.prefer);
|
||||
PD_COPY(common.rel1.relative_x);
|
||||
PD_COPY(common.rel1.relative_y);
|
||||
PD_COPY(common.rel1.offset_x);
|
||||
PD_COPY(common.rel1.offset_y);
|
||||
PD_COPY(common.rel1.id_x);
|
||||
PD_COPY(common.rel1.id_y);
|
||||
PD_COPY(common.rel2.relative_x);
|
||||
PD_COPY(common.rel2.relative_y);
|
||||
PD_COPY(common.rel2.offset_x);
|
||||
PD_COPY(common.rel2.offset_y);
|
||||
PD_COPY(common.rel2.id_x);
|
||||
PD_COPY(common.rel2.id_y);
|
||||
PD_COPY(image.id);
|
||||
EINA_LIST_FREE(pdto->image.tween_list, i)
|
||||
free(i);
|
||||
|
@ -3008,7 +3015,7 @@ edje_edit_state_copy(Evas_Object *obj, const char *part, const char *from, doubl
|
|||
}
|
||||
pdto->external_params = eina_list_append(pdto->external_params, new_p);
|
||||
}
|
||||
PD_COPY(visible);
|
||||
PD_COPY(common.visible);
|
||||
#undef PD_STRING_COPY
|
||||
#undef PD_COPY
|
||||
|
||||
|
@ -3021,7 +3028,7 @@ edje_edit_state_rel1_relative_x_get(Evas_Object *obj, const char *part, const ch
|
|||
{
|
||||
GET_PD_OR_RETURN(0);
|
||||
//printf("Get rel1 rel of part: %s state: %s [%f]\n", part, state, pd->rel1.relative_x);
|
||||
return TO_DOUBLE(pd->rel1.relative_x);
|
||||
return TO_DOUBLE(pd->common.rel1.relative_x);
|
||||
}
|
||||
|
||||
EAPI double
|
||||
|
@ -3029,7 +3036,7 @@ edje_edit_state_rel1_relative_y_get(Evas_Object *obj, const char *part, const ch
|
|||
{
|
||||
GET_PD_OR_RETURN(0);
|
||||
//printf("Get rel1 rel of part: %s state: %s\n", part, state);
|
||||
return TO_DOUBLE(pd->rel1.relative_y);
|
||||
return TO_DOUBLE(pd->common.rel1.relative_y);
|
||||
}
|
||||
|
||||
EAPI double
|
||||
|
@ -3037,7 +3044,7 @@ edje_edit_state_rel2_relative_x_get(Evas_Object *obj, const char *part, const ch
|
|||
{
|
||||
GET_PD_OR_RETURN(0);
|
||||
//printf("Get rel2 rel of part: %s state: %s\n", part, state);
|
||||
return TO_DOUBLE(pd->rel2.relative_x);
|
||||
return TO_DOUBLE(pd->common.rel2.relative_x);
|
||||
}
|
||||
|
||||
EAPI double
|
||||
|
@ -3045,7 +3052,7 @@ edje_edit_state_rel2_relative_y_get(Evas_Object *obj, const char *part, const ch
|
|||
{
|
||||
GET_PD_OR_RETURN(0);
|
||||
//printf("Get rel2 rel of part: %s state: %s\n", part, state);
|
||||
return TO_DOUBLE(pd->rel2.relative_y);
|
||||
return TO_DOUBLE(pd->common.rel2.relative_y);
|
||||
}
|
||||
|
||||
EAPI void
|
||||
|
@ -3054,7 +3061,7 @@ edje_edit_state_rel1_relative_x_set(Evas_Object *obj, const char *part, const ch
|
|||
GET_PD_OR_RETURN();
|
||||
//printf("Set rel1x of part: %s state: %s to: %f\n", part, state, x);
|
||||
//TODO check boudaries
|
||||
pd->rel1.relative_x = FROM_DOUBLE(x);
|
||||
pd->common.rel1.relative_x = FROM_DOUBLE(x);
|
||||
edje_object_calc_force(obj);
|
||||
}
|
||||
|
||||
|
@ -3064,7 +3071,7 @@ edje_edit_state_rel1_relative_y_set(Evas_Object *obj, const char *part, const ch
|
|||
GET_PD_OR_RETURN();
|
||||
//printf("Set rel1y of part: %s state: %s to: %f\n", part, state, y);
|
||||
//TODO check boudaries
|
||||
pd->rel1.relative_y = FROM_DOUBLE(y);
|
||||
pd->common.rel1.relative_y = FROM_DOUBLE(y);
|
||||
edje_object_calc_force(obj);
|
||||
}
|
||||
|
||||
|
@ -3074,7 +3081,7 @@ edje_edit_state_rel2_relative_x_set(Evas_Object *obj, const char *part, const ch
|
|||
GET_PD_OR_RETURN();
|
||||
//printf("Set rel2x of part: %s state: %s to: %f\n", part, state, x);
|
||||
//TODO check boudaries
|
||||
pd->rel2.relative_x = FROM_DOUBLE(x);
|
||||
pd->common.rel2.relative_x = FROM_DOUBLE(x);
|
||||
edje_object_calc_force(obj);
|
||||
}
|
||||
|
||||
|
@ -3085,7 +3092,7 @@ edje_edit_state_rel2_relative_y_set(Evas_Object *obj, const char *part, const ch
|
|||
//printf("Set rel2y of part: %s state: %s to: %f\n", part, state, y);
|
||||
pd = _edje_part_description_find_byname(eed, part, state, value);
|
||||
//TODO check boudaries
|
||||
pd->rel2.relative_y = FROM_DOUBLE(y);
|
||||
pd->common.rel2.relative_y = FROM_DOUBLE(y);
|
||||
edje_object_calc_force(obj);
|
||||
}
|
||||
|
||||
|
@ -3095,7 +3102,7 @@ edje_edit_state_rel1_offset_x_get(Evas_Object *obj, const char *part, const char
|
|||
{
|
||||
GET_PD_OR_RETURN(0);
|
||||
//printf("Get rel1 offset of part: %s state: %s\n", part, state);
|
||||
return pd->rel1.offset_x;
|
||||
return pd->common.rel1.offset_x;
|
||||
}
|
||||
|
||||
EAPI int
|
||||
|
@ -3103,7 +3110,7 @@ edje_edit_state_rel1_offset_y_get(Evas_Object *obj, const char *part, const char
|
|||
{
|
||||
GET_PD_OR_RETURN(0);
|
||||
//printf("Get rel1 offset of part: %s state: %s\n", part, state);
|
||||
return pd->rel1.offset_y;
|
||||
return pd->common.rel1.offset_y;
|
||||
}
|
||||
|
||||
EAPI int
|
||||
|
@ -3111,7 +3118,7 @@ edje_edit_state_rel2_offset_x_get(Evas_Object *obj, const char *part, const char
|
|||
{
|
||||
GET_PD_OR_RETURN(0);
|
||||
//printf("Get rel2 offset of part: %s state: %s\n", part, state);
|
||||
return pd->rel2.offset_x;
|
||||
return pd->common.rel2.offset_x;
|
||||
}
|
||||
|
||||
EAPI int
|
||||
|
@ -3119,7 +3126,7 @@ edje_edit_state_rel2_offset_y_get(Evas_Object *obj, const char *part, const char
|
|||
{
|
||||
GET_PD_OR_RETURN(0);
|
||||
//printf("Get rel2 offset of part: %s state: %s\n", part, state);
|
||||
return pd->rel2.offset_y;
|
||||
return pd->common.rel2.offset_y;
|
||||
}
|
||||
|
||||
EAPI void
|
||||
|
@ -3128,7 +3135,7 @@ edje_edit_state_rel1_offset_x_set(Evas_Object *obj, const char *part, const char
|
|||
GET_PD_OR_RETURN();
|
||||
//printf("Set rel1x offset of part: %s state: %s to: %f\n", part, state, x);
|
||||
//TODO check boudaries
|
||||
pd->rel1.offset_x = TO_INT(FROM_DOUBLE(x));
|
||||
pd->common.rel1.offset_x = TO_INT(FROM_DOUBLE(x));
|
||||
edje_object_calc_force(obj);
|
||||
}
|
||||
|
||||
|
@ -3138,7 +3145,7 @@ edje_edit_state_rel1_offset_y_set(Evas_Object *obj, const char *part, const char
|
|||
GET_PD_OR_RETURN();
|
||||
//printf("Set rel1y offset of part: %s state: %s to: %f\n", part, state, y);
|
||||
//TODO check boudaries
|
||||
pd->rel1.offset_y = TO_INT(FROM_DOUBLE(y));
|
||||
pd->common.rel1.offset_y = TO_INT(FROM_DOUBLE(y));
|
||||
edje_object_calc_force(obj);
|
||||
}
|
||||
|
||||
|
@ -3148,7 +3155,7 @@ edje_edit_state_rel2_offset_x_set(Evas_Object *obj, const char *part, const char
|
|||
GET_PD_OR_RETURN();
|
||||
//printf("Set rel2x offset of part: %s state: %s to: %f\n", part, state, x);
|
||||
//TODO check boudaries
|
||||
pd->rel2.offset_x = TO_INT(FROM_DOUBLE(x));
|
||||
pd->common.rel2.offset_x = TO_INT(FROM_DOUBLE(x));
|
||||
edje_object_calc_force(obj);
|
||||
}
|
||||
|
||||
|
@ -3158,7 +3165,7 @@ edje_edit_state_rel2_offset_y_set(Evas_Object *obj, const char *part, const char
|
|||
GET_PD_OR_RETURN();
|
||||
//printf("Set rel2y offset of part: %s state: %s to: %f\n", part, state, y);
|
||||
//TODO check boudaries
|
||||
pd->rel2.offset_y = TO_INT(FROM_DOUBLE(y));
|
||||
pd->common.rel2.offset_y = TO_INT(FROM_DOUBLE(y));
|
||||
edje_object_calc_force(obj);
|
||||
}
|
||||
|
||||
|
@ -3172,9 +3179,9 @@ edje_edit_state_rel1_to_x_get(Evas_Object *obj, const char *part, const char *st
|
|||
|
||||
//printf("Get rel1x TO of part: %s state: %s\n", part, state);
|
||||
|
||||
if (pd->rel1.id_x == -1) return NULL;
|
||||
if (pd->common.rel1.id_x == -1) return NULL;
|
||||
|
||||
rel = ed->table_parts[pd->rel1.id_x % ed->table_parts_size];
|
||||
rel = ed->table_parts[pd->common.rel1.id_x % ed->table_parts_size];
|
||||
|
||||
if (rel->part->name)
|
||||
return eina_stringshare_add(rel->part->name);
|
||||
|
@ -3191,9 +3198,9 @@ edje_edit_state_rel1_to_y_get(Evas_Object *obj, const char *part, const char *st
|
|||
|
||||
//printf("Get rel1y TO of part: %s state: %s\n", part, state);
|
||||
|
||||
if (pd->rel1.id_y == -1) return NULL;
|
||||
if (pd->common.rel1.id_y == -1) return NULL;
|
||||
|
||||
rel = ed->table_parts[pd->rel1.id_y % ed->table_parts_size];
|
||||
rel = ed->table_parts[pd->common.rel1.id_y % ed->table_parts_size];
|
||||
|
||||
if (rel->part->name)
|
||||
return eina_stringshare_add(rel->part->name);
|
||||
|
@ -3210,9 +3217,9 @@ edje_edit_state_rel2_to_x_get(Evas_Object *obj, const char *part, const char *st
|
|||
|
||||
//printf("Get rel2x TO of part: %s state: %s\n", part, state);
|
||||
|
||||
if (pd->rel2.id_x == -1) return NULL;
|
||||
if (pd->common.rel2.id_x == -1) return NULL;
|
||||
|
||||
rel = ed->table_parts[pd->rel2.id_x % ed->table_parts_size];
|
||||
rel = ed->table_parts[pd->common.rel2.id_x % ed->table_parts_size];
|
||||
|
||||
if (rel->part->name)
|
||||
return eina_stringshare_add(rel->part->name);
|
||||
|
@ -3229,9 +3236,9 @@ edje_edit_state_rel2_to_y_get(Evas_Object *obj, const char *part, const char *st
|
|||
|
||||
//printf("Get rel2y TO of part: %s state: %s\n", part, state);
|
||||
|
||||
if (pd->rel2.id_y == -1) return NULL;
|
||||
if (pd->common.rel2.id_y == -1) return NULL;
|
||||
|
||||
rel = ed->table_parts[pd->rel2.id_y % ed->table_parts_size];
|
||||
rel = ed->table_parts[pd->common.rel2.id_y % ed->table_parts_size];
|
||||
|
||||
if (rel->part->name)
|
||||
return eina_stringshare_add(rel->part->name);
|
||||
|
@ -3253,10 +3260,10 @@ edje_edit_state_rel1_to_x_set(Evas_Object *obj, const char *part, const char *st
|
|||
{
|
||||
relp = _edje_real_part_get(ed, rel_to);
|
||||
if (!relp) return;
|
||||
pd->rel1.id_x = relp->part->id;
|
||||
pd->common.rel1.id_x = relp->part->id;
|
||||
}
|
||||
else
|
||||
pd->rel1.id_x = -1;
|
||||
pd->common.rel1.id_x = -1;
|
||||
|
||||
//_edje_part_description_apply(ed, rp, pd->state.name, pd->state.value, "state", 0.1); //Why segfault??
|
||||
// edje_object_calc_force(obj);//don't work for redraw
|
||||
|
@ -3276,10 +3283,10 @@ edje_edit_state_rel1_to_y_set(Evas_Object *obj, const char *part, const char *st
|
|||
{
|
||||
relp = _edje_real_part_get(ed, rel_to);
|
||||
if (!relp) return;
|
||||
pd->rel1.id_y = relp->part->id;
|
||||
pd->common.rel1.id_y = relp->part->id;
|
||||
}
|
||||
else
|
||||
pd->rel1.id_y = -1;
|
||||
pd->common.rel1.id_y = -1;
|
||||
|
||||
//_edje_part_description_apply(ed, rp, pd->state.name, pd->state.value, "state", 0.1); //Why segfault??
|
||||
// edje_object_calc_force(obj);//don't work for redraw
|
||||
|
@ -3299,10 +3306,10 @@ edje_edit_state_rel2_to_x_set(Evas_Object *obj, const char *part, const char *st
|
|||
{
|
||||
relp = _edje_real_part_get(ed, rel_to);
|
||||
if (!relp) return;
|
||||
pd->rel2.id_x = relp->part->id;
|
||||
pd->common.rel2.id_x = relp->part->id;
|
||||
}
|
||||
else
|
||||
pd->rel2.id_x = -1;
|
||||
pd->common.rel2.id_x = -1;
|
||||
|
||||
//_edje_part_description_apply(ed, rp, pd->state.name, pd->state.value, "state", 0.1); //Why segfault??
|
||||
// edje_object_calc_force(obj);//don't work for redraw
|
||||
|
@ -3322,10 +3329,10 @@ edje_edit_state_rel2_to_y_set(Evas_Object *obj, const char *part, const char *st
|
|||
{
|
||||
relp = _edje_real_part_get(ed, rel_to);
|
||||
if (!relp) return;
|
||||
pd->rel2.id_y = relp->part->id;
|
||||
pd->common.rel2.id_y = relp->part->id;
|
||||
}
|
||||
else
|
||||
pd->rel2.id_y = -1;
|
||||
pd->common.rel2.id_y = -1;
|
||||
|
||||
//_edje_part_description_apply(ed, rp, pd->state.name, pd->state.value, "state", 0.1); //Why segfault??
|
||||
// edje_object_calc_force(obj);//don't work for redraw
|
||||
|
@ -3424,7 +3431,7 @@ edje_edit_state_align_x_get(Evas_Object *obj, const char *part, const char *stat
|
|||
|
||||
//printf("GET ALIGN_X of state '%s' [%f]\n", state, pd->align.x);
|
||||
|
||||
return TO_DOUBLE(pd->align.x);
|
||||
return TO_DOUBLE(pd->common.align.x);
|
||||
}
|
||||
|
||||
EAPI double
|
||||
|
@ -3434,7 +3441,7 @@ edje_edit_state_align_y_get(Evas_Object *obj, const char *part, const char *stat
|
|||
|
||||
//printf("GET ALIGN_Y of state '%s' [%f]\n", state, pd->align.y);
|
||||
|
||||
return TO_DOUBLE(pd->align.y);
|
||||
return TO_DOUBLE(pd->common.align.y);
|
||||
}
|
||||
|
||||
EAPI void
|
||||
|
@ -3442,7 +3449,7 @@ edje_edit_state_align_x_set(Evas_Object *obj, const char *part, const char *stat
|
|||
{
|
||||
GET_PD_OR_RETURN();
|
||||
//printf("SET ALIGN_X of state '%s' [to: %f]\n", state, align);
|
||||
pd->align.x = FROM_DOUBLE(align);
|
||||
pd->common.align.x = FROM_DOUBLE(align);
|
||||
}
|
||||
|
||||
EAPI void
|
||||
|
@ -3451,7 +3458,7 @@ edje_edit_state_align_y_set(Evas_Object *obj, const char *part, const char *stat
|
|||
GET_PD_OR_RETURN();
|
||||
|
||||
//printf("SET ALIGN_Y of state '%s' [to: %f]\n", state, align);
|
||||
pd->align.y = FROM_DOUBLE(align);
|
||||
pd->common.align.y = FROM_DOUBLE(align);
|
||||
}
|
||||
|
||||
//min & max
|
||||
|
@ -3461,7 +3468,7 @@ edje_edit_state_min_w_get(Evas_Object *obj, const char *part, const char *state,
|
|||
GET_PD_OR_RETURN(0);
|
||||
|
||||
//printf("GET MIN_W of state '%s' [%d]\n", state, pd->min.w);
|
||||
return pd->min.w;
|
||||
return pd->common.min.w;
|
||||
}
|
||||
|
||||
EAPI void
|
||||
|
@ -3470,7 +3477,7 @@ edje_edit_state_min_w_set(Evas_Object *obj, const char *part, const char *state,
|
|||
GET_PD_OR_RETURN();
|
||||
|
||||
//printf("SET MIN_W of state '%s' [to: %d]\n", state, min_w);
|
||||
pd->min.w = min_w;
|
||||
pd->common.min.w = min_w;
|
||||
}
|
||||
|
||||
EAPI int
|
||||
|
@ -3479,7 +3486,7 @@ edje_edit_state_min_h_get(Evas_Object *obj, const char *part, const char *state,
|
|||
GET_PD_OR_RETURN(0);
|
||||
|
||||
//printf("GET MIN_H of state '%s' [%d]\n", state, pd->min.h);
|
||||
return pd->min.h;
|
||||
return pd->common.min.h;
|
||||
}
|
||||
|
||||
EAPI void
|
||||
|
@ -3488,7 +3495,7 @@ edje_edit_state_min_h_set(Evas_Object *obj, const char *part, const char *state,
|
|||
GET_PD_OR_RETURN();
|
||||
|
||||
//printf("SET MIN_H of state '%s' [to: %d]\n", state, min_h);
|
||||
pd->min.h = min_h;
|
||||
pd->common.min.h = min_h;
|
||||
}
|
||||
|
||||
EAPI int
|
||||
|
@ -3497,7 +3504,7 @@ edje_edit_state_max_w_get(Evas_Object *obj, const char *part, const char *state,
|
|||
GET_PD_OR_RETURN(0);
|
||||
|
||||
//printf("GET MAX_W of state '%s' [%d]\n", state, pd->max.w);
|
||||
return pd->max.w;
|
||||
return pd->common.max.w;
|
||||
}
|
||||
|
||||
EAPI void
|
||||
|
@ -3506,7 +3513,7 @@ edje_edit_state_max_w_set(Evas_Object *obj, const char *part, const char *state,
|
|||
GET_PD_OR_RETURN();
|
||||
|
||||
//printf("SET MAX_W of state '%s' [to: %d]\n", state, max_w);
|
||||
pd->max.w = max_w;
|
||||
pd->common.max.w = max_w;
|
||||
}
|
||||
|
||||
EAPI int
|
||||
|
@ -3515,7 +3522,7 @@ edje_edit_state_max_h_get(Evas_Object *obj, const char *part, const char *state,
|
|||
GET_PD_OR_RETURN(0);
|
||||
|
||||
//printf("GET MAX_H of state '%s' [%d]\n", state, pd->max.h);
|
||||
return pd->max.h;
|
||||
return pd->common.max.h;
|
||||
}
|
||||
|
||||
EAPI void
|
||||
|
@ -3524,7 +3531,7 @@ edje_edit_state_max_h_set(Evas_Object *obj, const char *part, const char *state,
|
|||
GET_PD_OR_RETURN();
|
||||
|
||||
//printf("SET MAX_H of state '%s' [to: %d]\n", state, max_h);
|
||||
pd->max.h = max_h;
|
||||
pd->common.max.h = max_h;
|
||||
}
|
||||
|
||||
//aspect
|
||||
|
@ -3534,7 +3541,7 @@ edje_edit_state_aspect_min_get(Evas_Object *obj, const char *part, const char *s
|
|||
GET_PD_OR_RETURN(0);
|
||||
|
||||
//printf("GET ASPECT_MIN of state '%s' [%f]\n", state, pd->aspect.min);
|
||||
return TO_DOUBLE(pd->aspect.min);
|
||||
return TO_DOUBLE(pd->common.aspect.min);
|
||||
}
|
||||
|
||||
EAPI double
|
||||
|
@ -3543,7 +3550,7 @@ edje_edit_state_aspect_max_get(Evas_Object *obj, const char *part, const char *s
|
|||
GET_PD_OR_RETURN(0);
|
||||
|
||||
//printf("GET ASPECT_MAX of state '%s' [%f]\n", state, pd->aspect.max);
|
||||
return TO_DOUBLE(pd->aspect.max);
|
||||
return TO_DOUBLE(pd->common.aspect.max);
|
||||
}
|
||||
|
||||
EAPI void
|
||||
|
@ -3552,7 +3559,7 @@ edje_edit_state_aspect_min_set(Evas_Object *obj, const char *part, const char *s
|
|||
GET_PD_OR_RETURN();
|
||||
|
||||
//printf("SET ASPECT_MIN of state '%s' [to: %f]\n", state, aspect);
|
||||
pd->aspect.min = FROM_DOUBLE(aspect);
|
||||
pd->common.aspect.min = FROM_DOUBLE(aspect);
|
||||
}
|
||||
|
||||
EAPI void
|
||||
|
@ -3561,7 +3568,7 @@ edje_edit_state_aspect_max_set(Evas_Object *obj, const char *part, const char *s
|
|||
GET_PD_OR_RETURN();
|
||||
|
||||
//printf("SET ASPECT_MAX of state '%s' [to: %f]\n", state, aspect);
|
||||
pd->aspect.max = FROM_DOUBLE(aspect);
|
||||
pd->common.aspect.max = FROM_DOUBLE(aspect);
|
||||
}
|
||||
|
||||
EAPI unsigned char
|
||||
|
@ -3570,7 +3577,7 @@ edje_edit_state_aspect_pref_get(Evas_Object *obj, const char *part, const char *
|
|||
GET_PD_OR_RETURN(0);
|
||||
|
||||
//printf("GET ASPECT_PREF of state '%s' [%d]\n", state, pd->aspect.prefer);
|
||||
return pd->aspect.prefer;
|
||||
return pd->common.aspect.prefer;
|
||||
}
|
||||
|
||||
EAPI void
|
||||
|
@ -3579,7 +3586,7 @@ edje_edit_state_aspect_pref_set(Evas_Object *obj, const char *part, const char *
|
|||
GET_PD_OR_RETURN();
|
||||
|
||||
//printf("SET ASPECT_PREF of state '%s' [to: %d]\n", state, pref);
|
||||
pd->aspect.prefer = pref;
|
||||
pd->common.aspect.prefer = pref;
|
||||
}
|
||||
|
||||
//fill
|
||||
|
@ -3725,7 +3732,7 @@ edje_edit_state_visible_get(Evas_Object *obj, const char *part, const char *stat
|
|||
{
|
||||
GET_PD_OR_RETURN(EINA_FALSE);
|
||||
//printf("Get state visible flag of part: %s state: %s\n", part, state);
|
||||
return pd->visible;
|
||||
return pd->common.visible;
|
||||
}
|
||||
|
||||
EAPI void
|
||||
|
@ -3733,8 +3740,8 @@ edje_edit_state_visible_set(Evas_Object *obj, const char *part, const char *stat
|
|||
{
|
||||
GET_PD_OR_RETURN();
|
||||
//printf("Set state visible flag of part: %s state: %s to: %d\n", part, state, visible);
|
||||
if (visible) pd->visible = 1;
|
||||
else pd->visible = 0;
|
||||
if (visible) pd->common.visible = 1;
|
||||
else pd->common.visible = 0;
|
||||
edje_object_calc_force(obj);
|
||||
}
|
||||
|
||||
|
@ -5783,28 +5790,28 @@ _edje_generate_source_of_state(Evas_Object *obj, const char *part, const char *s
|
|||
rp = _edje_real_part_get(ed, part);
|
||||
if (!rp) return EINA_FALSE;
|
||||
|
||||
BUF_APPENDF(I4"description { state: \"%s\" %g;\n", pd->state.name, pd->state.value);
|
||||
BUF_APPENDF(I4"description { state: \"%s\" %g;\n", pd->common.state.name, pd->common.state.value);
|
||||
//TODO Support inherit
|
||||
|
||||
if (!pd->visible)
|
||||
if (!pd->common.visible)
|
||||
BUF_APPEND(I5"visible: 0;\n");
|
||||
|
||||
if (pd->align.x != 0.5 || pd->align.y != 0.5)
|
||||
BUF_APPENDF(I5"align: %g %g;\n", TO_DOUBLE(pd->align.x), TO_DOUBLE(pd->align.y));
|
||||
if (pd->common.align.x != 0.5 || pd->common.align.y != 0.5)
|
||||
BUF_APPENDF(I5"align: %g %g;\n", TO_DOUBLE(pd->common.align.x), TO_DOUBLE(pd->common.align.y));
|
||||
|
||||
//TODO Support fixed
|
||||
|
||||
if (pd->min.w || pd->min.h)
|
||||
BUF_APPENDF(I5"min: %d %d;\n", pd->min.w, pd->min.h);
|
||||
if (pd->max.w != -1 || pd->max.h != -1)
|
||||
BUF_APPENDF(I5"max: %d %d;\n", pd->max.w, pd->max.h);
|
||||
if (pd->common.min.w || pd->common.min.h)
|
||||
BUF_APPENDF(I5"min: %d %d;\n", pd->common.min.w, pd->common.min.h);
|
||||
if (pd->common.max.w != -1 || pd->common.max.h != -1)
|
||||
BUF_APPENDF(I5"max: %d %d;\n", pd->common.max.w, pd->common.max.h);
|
||||
|
||||
//TODO Support step
|
||||
|
||||
if (pd->aspect.min || pd->aspect.max)
|
||||
BUF_APPENDF(I5"aspect: %g %g;\n", TO_DOUBLE(pd->aspect.min), TO_DOUBLE(pd->aspect.max));
|
||||
if (pd->aspect.prefer)
|
||||
BUF_APPENDF(I5"aspect_preference: %s;\n", prefers[pd->aspect.prefer]);
|
||||
if (pd->common.aspect.min || pd->common.aspect.max)
|
||||
BUF_APPENDF(I5"aspect: %g %g;\n", TO_DOUBLE(pd->common.aspect.min), TO_DOUBLE(pd->common.aspect.max));
|
||||
if (pd->common.aspect.prefer)
|
||||
BUF_APPENDF(I5"aspect_preference: %s;\n", prefers[pd->common.aspect.prefer]);
|
||||
|
||||
if (pd->color_class)
|
||||
BUF_APPENDF(I5"color_class: \"%s\";\n", pd->color_class);
|
||||
|
@ -5823,44 +5830,44 @@ _edje_generate_source_of_state(Evas_Object *obj, const char *part, const char *s
|
|||
pd->color3.r, pd->color3.g, pd->color3.b, pd->color3.a);
|
||||
|
||||
//Rel1
|
||||
if (pd->rel1.relative_x || pd->rel1.relative_y || pd->rel1.offset_x ||
|
||||
pd->rel1.offset_y || pd->rel1.id_x != -1 || pd->rel1.id_y != -1)
|
||||
if (pd->common.rel1.relative_x || pd->common.rel1.relative_y || pd->common.rel1.offset_x ||
|
||||
pd->common.rel1.offset_y || pd->common.rel1.id_x != -1 || pd->common.rel1.id_y != -1)
|
||||
{
|
||||
BUF_APPEND(I5"rel1 {\n");
|
||||
if (pd->rel1.relative_x || pd->rel1.relative_y)
|
||||
BUF_APPENDF(I6"relative: %g %g;\n", TO_DOUBLE(pd->rel1.relative_x), TO_DOUBLE(pd->rel1.relative_y));
|
||||
if (pd->rel1.offset_x || pd->rel1.offset_y)
|
||||
BUF_APPENDF(I6"offset: %d %d;\n", pd->rel1.offset_x, pd->rel1.offset_y);
|
||||
if (pd->rel1.id_x != -1 && pd->rel1.id_x == pd->rel1.id_y)
|
||||
BUF_APPENDF(I6"to: \"%s\";\n", ed->table_parts[pd->rel1.id_x]->part->name);
|
||||
if (pd->common.rel1.relative_x || pd->common.rel1.relative_y)
|
||||
BUF_APPENDF(I6"relative: %g %g;\n", TO_DOUBLE(pd->common.rel1.relative_x), TO_DOUBLE(pd->common.rel1.relative_y));
|
||||
if (pd->common.rel1.offset_x || pd->common.rel1.offset_y)
|
||||
BUF_APPENDF(I6"offset: %d %d;\n", pd->common.rel1.offset_x, pd->common.rel1.offset_y);
|
||||
if (pd->common.rel1.id_x != -1 && pd->common.rel1.id_x == pd->common.rel1.id_y)
|
||||
BUF_APPENDF(I6"to: \"%s\";\n", ed->table_parts[pd->common.rel1.id_x]->part->name);
|
||||
else
|
||||
{
|
||||
if (pd->rel1.id_x != -1)
|
||||
BUF_APPENDF(I6"to_x: \"%s\";\n", ed->table_parts[pd->rel1.id_x]->part->name);
|
||||
if (pd->rel1.id_y != -1)
|
||||
BUF_APPENDF(I6"to_y: \"%s\";\n", ed->table_parts[pd->rel1.id_y]->part->name);
|
||||
if (pd->common.rel1.id_x != -1)
|
||||
BUF_APPENDF(I6"to_x: \"%s\";\n", ed->table_parts[pd->common.rel1.id_x]->part->name);
|
||||
if (pd->common.rel1.id_y != -1)
|
||||
BUF_APPENDF(I6"to_y: \"%s\";\n", ed->table_parts[pd->common.rel1.id_y]->part->name);
|
||||
}
|
||||
BUF_APPEND(I5"}\n");//rel1
|
||||
}
|
||||
|
||||
//Rel2
|
||||
if (pd->rel2.relative_x != 1.0 || pd->rel2.relative_y != 1.0 ||
|
||||
pd->rel2.offset_x != -1 || pd->rel2.offset_y != -1 ||
|
||||
pd->rel2.id_x != -1 || pd->rel2.id_y != -1)
|
||||
if (pd->common.rel2.relative_x != 1.0 || pd->common.rel2.relative_y != 1.0 ||
|
||||
pd->common.rel2.offset_x != -1 || pd->common.rel2.offset_y != -1 ||
|
||||
pd->common.rel2.id_x != -1 || pd->common.rel2.id_y != -1)
|
||||
{
|
||||
BUF_APPEND(I5"rel2 {\n");
|
||||
if (TO_DOUBLE(pd->rel2.relative_x) != 1.0 || TO_DOUBLE(pd->rel2.relative_y) != 1.0)
|
||||
BUF_APPENDF(I6"relative: %g %g;\n", TO_DOUBLE(pd->rel2.relative_x), TO_DOUBLE(pd->rel2.relative_y));
|
||||
if (pd->rel2.offset_x != -1 || pd->rel2.offset_y != -1)
|
||||
BUF_APPENDF(I6"offset: %d %d;\n", pd->rel2.offset_x, pd->rel2.offset_y);
|
||||
if (pd->rel2.id_x != -1 && pd->rel2.id_x == pd->rel2.id_y)
|
||||
BUF_APPENDF(I6"to: \"%s\";\n", ed->table_parts[pd->rel2.id_x]->part->name);
|
||||
if (TO_DOUBLE(pd->common.rel2.relative_x) != 1.0 || TO_DOUBLE(pd->common.rel2.relative_y) != 1.0)
|
||||
BUF_APPENDF(I6"relative: %g %g;\n", TO_DOUBLE(pd->common.rel2.relative_x), TO_DOUBLE(pd->common.rel2.relative_y));
|
||||
if (pd->common.rel2.offset_x != -1 || pd->common.rel2.offset_y != -1)
|
||||
BUF_APPENDF(I6"offset: %d %d;\n", pd->common.rel2.offset_x, pd->common.rel2.offset_y);
|
||||
if (pd->common.rel2.id_x != -1 && pd->common.rel2.id_x == pd->common.rel2.id_y)
|
||||
BUF_APPENDF(I6"to: \"%s\";\n", ed->table_parts[pd->common.rel2.id_x]->part->name);
|
||||
else
|
||||
{
|
||||
if (pd->rel2.id_x != -1)
|
||||
BUF_APPENDF(I6"to_x: \"%s\";\n", ed->table_parts[pd->rel2.id_x]->part->name);
|
||||
if (pd->rel2.id_y != -1)
|
||||
BUF_APPENDF(I6"to_y: \"%s\";\n", ed->table_parts[pd->rel2.id_y]->part->name);
|
||||
if (pd->common.rel2.id_x != -1)
|
||||
BUF_APPENDF(I6"to_x: \"%s\";\n", ed->table_parts[pd->common.rel2.id_x]->part->name);
|
||||
if (pd->common.rel2.id_y != -1)
|
||||
BUF_APPENDF(I6"to_y: \"%s\";\n", ed->table_parts[pd->common.rel2.id_y]->part->name);
|
||||
}
|
||||
BUF_APPEND(I5"}\n");//rel2
|
||||
}
|
||||
|
|
|
@ -871,8 +871,8 @@ _edje_embryo_fn_get_state(Embryo_Program *ep, Embryo_Cell *params)
|
|||
rp = ed->table_parts[part_id % ed->table_parts_size];
|
||||
if (rp->chosen_description)
|
||||
{
|
||||
SETFLOAT(rp->chosen_description->state.value, params[4]);
|
||||
s = rp->chosen_description->state.name;
|
||||
SETFLOAT(rp->chosen_description->common.state.value, params[4]);
|
||||
s = rp->chosen_description->common.state.name;
|
||||
if (s)
|
||||
{
|
||||
if ((int) strlen(s) < params[3])
|
||||
|
@ -1599,8 +1599,8 @@ _edje_embryo_fn_custom_state(Embryo_Program *ep, Embryo_Cell *params)
|
|||
|
||||
*d = *parent;
|
||||
|
||||
d->state.name = (char *)eina_stringshare_add("custom");
|
||||
d->state.value = 0.0;
|
||||
d->common.state.name = (char *)eina_stringshare_add("custom");
|
||||
d->common.state.value = 0.0;
|
||||
|
||||
/* make sure all the allocated memory is getting copied,
|
||||
* not just referenced
|
||||
|
@ -1659,42 +1659,42 @@ _edje_embryo_fn_set_state_val(Embryo_Program *ep, Embryo_Cell *params)
|
|||
case EDJE_STATE_PARAM_ALIGNMENT:
|
||||
CHKPARAM(4);
|
||||
|
||||
GETFLOAT_T(rp->custom->description->align.x, params[3]);
|
||||
GETFLOAT_T(rp->custom->description->align.y, params[4]);
|
||||
GETFLOAT_T(rp->custom->description->common.align.x, params[3]);
|
||||
GETFLOAT_T(rp->custom->description->common.align.y, params[4]);
|
||||
|
||||
break;
|
||||
case EDJE_STATE_PARAM_MIN:
|
||||
CHKPARAM(4);
|
||||
|
||||
GETINT(rp->custom->description->min.w, params[3]);
|
||||
GETINT(rp->custom->description->min.h, params[4]);
|
||||
GETINT(rp->custom->description->common.min.w, params[3]);
|
||||
GETINT(rp->custom->description->common.min.h, params[4]);
|
||||
|
||||
break;
|
||||
case EDJE_STATE_PARAM_MAX:
|
||||
CHKPARAM(4);
|
||||
|
||||
GETINT(rp->custom->description->max.w, params[3]);
|
||||
GETINT(rp->custom->description->max.h, params[4]);
|
||||
GETINT(rp->custom->description->common.max.w, params[3]);
|
||||
GETINT(rp->custom->description->common.max.h, params[4]);
|
||||
|
||||
break;
|
||||
case EDJE_STATE_PARAM_STEP:
|
||||
CHKPARAM(4);
|
||||
|
||||
GETINT(rp->custom->description->step.x, params[3]);
|
||||
GETINT(rp->custom->description->step.y, params[4]);
|
||||
GETINT(rp->custom->description->common.step.x, params[3]);
|
||||
GETINT(rp->custom->description->common.step.y, params[4]);
|
||||
|
||||
break;
|
||||
case EDJE_STATE_PARAM_ASPECT:
|
||||
CHKPARAM(4);
|
||||
|
||||
GETFLOAT_T(rp->custom->description->aspect.min, params[3]);
|
||||
GETFLOAT_T(rp->custom->description->aspect.max, params[4]);
|
||||
GETFLOAT_T(rp->custom->description->common.aspect.min, params[3]);
|
||||
GETFLOAT_T(rp->custom->description->common.aspect.max, params[4]);
|
||||
|
||||
break;
|
||||
case EDJE_STATE_PARAM_ASPECT_PREF:
|
||||
CHKPARAM(3);
|
||||
|
||||
GETINT(rp->custom->description->aspect.prefer, params[3]);
|
||||
GETINT(rp->custom->description->common.aspect.prefer, params[3]);
|
||||
|
||||
break;
|
||||
case EDJE_STATE_PARAM_COLOR:
|
||||
|
@ -1734,53 +1734,53 @@ _edje_embryo_fn_set_state_val(Embryo_Program *ep, Embryo_Cell *params)
|
|||
case EDJE_STATE_PARAM_REL1:
|
||||
CHKPARAM(4);
|
||||
|
||||
GETFLOAT_T(rp->custom->description->rel1.relative_x, params[3]);
|
||||
GETFLOAT_T(rp->custom->description->rel1.relative_y, params[4]);
|
||||
GETFLOAT_T(rp->custom->description->common.rel1.relative_x, params[3]);
|
||||
GETFLOAT_T(rp->custom->description->common.rel1.relative_y, params[4]);
|
||||
|
||||
break;
|
||||
case EDJE_STATE_PARAM_REL1_TO:
|
||||
CHKPARAM(4);
|
||||
|
||||
GETINT(rp->custom->description->rel1.id_x, params[3]);
|
||||
GETINT(rp->custom->description->rel1.id_y, params[4]);
|
||||
GETINT(rp->custom->description->common.rel1.id_x, params[3]);
|
||||
GETINT(rp->custom->description->common.rel1.id_y, params[4]);
|
||||
|
||||
if (rp->param1.description->rel1.id_x >= 0)
|
||||
rp->param1.rel1_to_x = ed->table_parts[rp->param1.description->rel1.id_x % ed->table_parts_size];
|
||||
if (rp->param1.description->rel1.id_y >= 0)
|
||||
rp->param1.rel1_to_y = ed->table_parts[rp->param1.description->rel1.id_y % ed->table_parts_size];
|
||||
if (rp->param1.description->common.rel1.id_x >= 0)
|
||||
rp->param1.rel1_to_x = ed->table_parts[rp->param1.description->common.rel1.id_x % ed->table_parts_size];
|
||||
if (rp->param1.description->common.rel1.id_y >= 0)
|
||||
rp->param1.rel1_to_y = ed->table_parts[rp->param1.description->common.rel1.id_y % ed->table_parts_size];
|
||||
|
||||
break;
|
||||
case EDJE_STATE_PARAM_REL1_OFFSET:
|
||||
CHKPARAM(4);
|
||||
|
||||
GETINT(rp->custom->description->rel1.offset_x, params[3]);
|
||||
GETINT(rp->custom->description->rel1.offset_y, params[4]);
|
||||
GETINT(rp->custom->description->common.rel1.offset_x, params[3]);
|
||||
GETINT(rp->custom->description->common.rel1.offset_y, params[4]);
|
||||
|
||||
break;
|
||||
case EDJE_STATE_PARAM_REL2:
|
||||
CHKPARAM(4);
|
||||
|
||||
GETFLOAT_T(rp->custom->description->rel2.relative_x, params[3]);
|
||||
GETFLOAT_T(rp->custom->description->rel2.relative_y, params[4]);
|
||||
GETFLOAT_T(rp->custom->description->common.rel2.relative_x, params[3]);
|
||||
GETFLOAT_T(rp->custom->description->common.rel2.relative_y, params[4]);
|
||||
|
||||
break;
|
||||
case EDJE_STATE_PARAM_REL2_TO:
|
||||
CHKPARAM(4);
|
||||
|
||||
GETINT(rp->custom->description->rel2.id_x, params[3]);
|
||||
GETINT(rp->custom->description->rel2.id_y, params[4]);
|
||||
GETINT(rp->custom->description->common.rel2.id_x, params[3]);
|
||||
GETINT(rp->custom->description->common.rel2.id_y, params[4]);
|
||||
|
||||
if (rp->param1.description->rel2.id_x >= 0)
|
||||
rp->param1.rel2_to_x = ed->table_parts[rp->param1.description->rel2.id_x % ed->table_parts_size];
|
||||
if (rp->param1.description->rel2.id_y >= 0)
|
||||
rp->param1.rel2_to_y = ed->table_parts[rp->param1.description->rel2.id_y % ed->table_parts_size];
|
||||
if (rp->param1.description->common.rel2.id_x >= 0)
|
||||
rp->param1.rel2_to_x = ed->table_parts[rp->param1.description->common.rel2.id_x % ed->table_parts_size];
|
||||
if (rp->param1.description->common.rel2.id_y >= 0)
|
||||
rp->param1.rel2_to_y = ed->table_parts[rp->param1.description->common.rel2.id_y % ed->table_parts_size];
|
||||
|
||||
break;
|
||||
case EDJE_STATE_PARAM_REL2_OFFSET:
|
||||
CHKPARAM(4);
|
||||
|
||||
GETINT(rp->custom->description->rel2.offset_x, params[3]);
|
||||
GETINT(rp->custom->description->rel2.offset_y, params[4]);
|
||||
GETINT(rp->custom->description->common.rel2.offset_x, params[3]);
|
||||
GETINT(rp->custom->description->common.rel2.offset_y, params[4]);
|
||||
|
||||
break;
|
||||
case EDJE_STATE_PARAM_IMAGE:
|
||||
|
@ -1909,73 +1909,73 @@ _edje_embryo_fn_set_state_val(Embryo_Program *ep, Embryo_Cell *params)
|
|||
case EDJE_STATE_PARAM_VISIBLE:
|
||||
CHKPARAM(3);
|
||||
|
||||
GETINT(rp->custom->description->visible, params[3]);
|
||||
GETINT(rp->custom->description->common.visible, params[3]);
|
||||
|
||||
break;
|
||||
case EDJE_STATE_PARAM_MAP_OM:
|
||||
CHKPARAM(3);
|
||||
|
||||
GETINT(rp->custom->description->map.on, params[3]);
|
||||
GETINT(rp->custom->description->common.map.on, params[3]);
|
||||
|
||||
break;
|
||||
case EDJE_STATE_PARAM_MAP_PERSP:
|
||||
CHKPARAM(3);
|
||||
|
||||
GETINT(rp->custom->description->map.id_persp, params[3]);
|
||||
GETINT(rp->custom->description->common.map.id_persp, params[3]);
|
||||
|
||||
break;
|
||||
case EDJE_STATE_PARAM_MAP_LIGNT:
|
||||
CHKPARAM(3);
|
||||
|
||||
GETINT(rp->custom->description->map.id_light, params[3]);
|
||||
GETINT(rp->custom->description->common.map.id_light, params[3]);
|
||||
|
||||
break;
|
||||
case EDJE_STATE_PARAM_MAP_ROT_CENTER:
|
||||
CHKPARAM(3);
|
||||
|
||||
GETINT(rp->custom->description->map.rot.id_center, params[3]);
|
||||
GETINT(rp->custom->description->common.map.rot.id_center, params[3]);
|
||||
|
||||
break;
|
||||
case EDJE_STATE_PARAM_MAP_ROT_X:
|
||||
CHKPARAM(3);
|
||||
|
||||
GETFLOAT_T(rp->custom->description->map.rot.x, params[3]);
|
||||
GETFLOAT_T(rp->custom->description->common.map.rot.x, params[3]);
|
||||
|
||||
break;
|
||||
case EDJE_STATE_PARAM_MAP_ROT_Y:
|
||||
CHKPARAM(3);
|
||||
|
||||
GETFLOAT_T(rp->custom->description->map.rot.y, params[3]);
|
||||
GETFLOAT_T(rp->custom->description->common.map.rot.y, params[3]);
|
||||
|
||||
break;
|
||||
case EDJE_STATE_PARAM_MAP_ROT_Z:
|
||||
CHKPARAM(3);
|
||||
|
||||
GETFLOAT_T(rp->custom->description->map.rot.z, params[3]);
|
||||
GETFLOAT_T(rp->custom->description->common.map.rot.z, params[3]);
|
||||
|
||||
break;
|
||||
case EDJE_STATE_PARAM_MAP_BACK_CULL:
|
||||
CHKPARAM(3);
|
||||
|
||||
GETINT(rp->custom->description->map.backcull, params[3]);
|
||||
GETINT(rp->custom->description->common.map.backcull, params[3]);
|
||||
|
||||
break;
|
||||
case EDJE_STATE_PARAM_MAP_PERSP_ON:
|
||||
CHKPARAM(3);
|
||||
|
||||
GETINT(rp->custom->description->map.persp_on, params[3]);
|
||||
GETINT(rp->custom->description->common.map.persp_on, params[3]);
|
||||
|
||||
break;
|
||||
case EDJE_STATE_PARAM_PERSP_ZPLANE:
|
||||
CHKPARAM(3);
|
||||
|
||||
GETINT(rp->custom->description->persp.zplane, params[3]);
|
||||
GETINT(rp->custom->description->common.persp.zplane, params[3]);
|
||||
|
||||
break;
|
||||
case EDJE_STATE_PARAM_PERSP_FOCAL:
|
||||
CHKPARAM(3);
|
||||
|
||||
GETINT(rp->custom->description->persp.focal, params[3]);
|
||||
GETINT(rp->custom->description->common.persp.focal, params[3]);
|
||||
|
||||
break;
|
||||
default:
|
||||
|
@ -2016,42 +2016,42 @@ _edje_embryo_fn_get_state_val(Embryo_Program *ep, Embryo_Cell *params)
|
|||
case EDJE_STATE_PARAM_ALIGNMENT:
|
||||
CHKPARAM(4);
|
||||
|
||||
SETFLOAT_T(rp->custom->description->align.x, params[3]);
|
||||
SETFLOAT_T(rp->custom->description->align.y, params[4]);
|
||||
SETFLOAT_T(rp->custom->description->common.align.x, params[3]);
|
||||
SETFLOAT_T(rp->custom->description->common.align.y, params[4]);
|
||||
|
||||
break;
|
||||
case EDJE_STATE_PARAM_MIN:
|
||||
CHKPARAM(4);
|
||||
|
||||
SETINT(rp->custom->description->min.w, params[3]);
|
||||
SETINT(rp->custom->description->min.h, params[4]);
|
||||
SETINT(rp->custom->description->common.min.w, params[3]);
|
||||
SETINT(rp->custom->description->common.min.h, params[4]);
|
||||
|
||||
break;
|
||||
case EDJE_STATE_PARAM_MAX:
|
||||
CHKPARAM(4);
|
||||
|
||||
SETINT(rp->custom->description->max.w, params[3]);
|
||||
SETINT(rp->custom->description->max.h, params[4]);
|
||||
SETINT(rp->custom->description->common.max.w, params[3]);
|
||||
SETINT(rp->custom->description->common.max.h, params[4]);
|
||||
|
||||
break;
|
||||
case EDJE_STATE_PARAM_STEP:
|
||||
CHKPARAM(4);
|
||||
|
||||
SETINT(rp->custom->description->step.x, params[3]);
|
||||
SETINT(rp->custom->description->step.y, params[4]);
|
||||
SETINT(rp->custom->description->common.step.x, params[3]);
|
||||
SETINT(rp->custom->description->common.step.y, params[4]);
|
||||
|
||||
break;
|
||||
case EDJE_STATE_PARAM_ASPECT:
|
||||
CHKPARAM(4);
|
||||
|
||||
SETFLOAT_T(rp->custom->description->aspect.min, params[3]);
|
||||
SETFLOAT_T(rp->custom->description->aspect.max, params[4]);
|
||||
SETFLOAT_T(rp->custom->description->common.aspect.min, params[3]);
|
||||
SETFLOAT_T(rp->custom->description->common.aspect.max, params[4]);
|
||||
|
||||
break;
|
||||
case EDJE_STATE_PARAM_ASPECT_PREF:
|
||||
CHKPARAM(3);
|
||||
|
||||
SETINT(rp->custom->description->aspect.prefer, params[3]);
|
||||
SETINT(rp->custom->description->common.aspect.prefer, params[3]);
|
||||
|
||||
break;
|
||||
case EDJE_STATE_PARAM_COLOR:
|
||||
|
@ -2091,43 +2091,43 @@ _edje_embryo_fn_get_state_val(Embryo_Program *ep, Embryo_Cell *params)
|
|||
case EDJE_STATE_PARAM_REL1:
|
||||
CHKPARAM(4);
|
||||
|
||||
SETFLOAT_T(rp->custom->description->rel1.relative_x, params[3]);
|
||||
SETFLOAT_T(rp->custom->description->rel1.relative_y, params[4]);
|
||||
SETFLOAT_T(rp->custom->description->common.rel1.relative_x, params[3]);
|
||||
SETFLOAT_T(rp->custom->description->common.rel1.relative_y, params[4]);
|
||||
|
||||
break;
|
||||
case EDJE_STATE_PARAM_REL1_TO:
|
||||
CHKPARAM(4);
|
||||
|
||||
SETINT(rp->custom->description->rel1.id_x, params[3]);
|
||||
SETINT(rp->custom->description->rel1.id_y, params[4]);
|
||||
SETINT(rp->custom->description->common.rel1.id_x, params[3]);
|
||||
SETINT(rp->custom->description->common.rel1.id_y, params[4]);
|
||||
|
||||
break;
|
||||
case EDJE_STATE_PARAM_REL1_OFFSET:
|
||||
CHKPARAM(4);
|
||||
|
||||
SETINT(rp->custom->description->rel1.offset_x, params[3]);
|
||||
SETINT(rp->custom->description->rel1.offset_y, params[4]);
|
||||
SETINT(rp->custom->description->common.rel1.offset_x, params[3]);
|
||||
SETINT(rp->custom->description->common.rel1.offset_y, params[4]);
|
||||
|
||||
break;
|
||||
case EDJE_STATE_PARAM_REL2:
|
||||
CHKPARAM(4);
|
||||
|
||||
SETFLOAT_T(rp->custom->description->rel2.relative_x, params[3]);
|
||||
SETFLOAT_T(rp->custom->description->rel2.relative_y, params[4]);
|
||||
SETFLOAT_T(rp->custom->description->common.rel2.relative_x, params[3]);
|
||||
SETFLOAT_T(rp->custom->description->common.rel2.relative_y, params[4]);
|
||||
|
||||
break;
|
||||
case EDJE_STATE_PARAM_REL2_TO:
|
||||
CHKPARAM(4);
|
||||
|
||||
SETINT(rp->custom->description->rel2.id_x, params[3]);
|
||||
SETINT(rp->custom->description->rel2.id_y, params[4]);
|
||||
SETINT(rp->custom->description->common.rel2.id_x, params[3]);
|
||||
SETINT(rp->custom->description->common.rel2.id_y, params[4]);
|
||||
|
||||
break;
|
||||
case EDJE_STATE_PARAM_REL2_OFFSET:
|
||||
CHKPARAM(4);
|
||||
|
||||
SETINT(rp->custom->description->rel2.offset_x, params[3]);
|
||||
SETINT(rp->custom->description->rel2.offset_y, params[4]);
|
||||
SETINT(rp->custom->description->common.rel2.offset_x, params[3]);
|
||||
SETINT(rp->custom->description->common.rel2.offset_y, params[4]);
|
||||
|
||||
break;
|
||||
case EDJE_STATE_PARAM_IMAGE:
|
||||
|
@ -2256,7 +2256,7 @@ _edje_embryo_fn_get_state_val(Embryo_Program *ep, Embryo_Cell *params)
|
|||
case EDJE_STATE_PARAM_VISIBLE:
|
||||
CHKPARAM(3);
|
||||
|
||||
SETINT(rp->custom->description->visible, params[3]);
|
||||
SETINT(rp->custom->description->common.visible, params[3]);
|
||||
|
||||
break;
|
||||
default:
|
||||
|
|
|
@ -490,14 +490,14 @@ _edje_object_file_set_internal(Evas_Object *obj, const char *file, const char *g
|
|||
for (i = 0; i < ed->table_parts_size; i++)
|
||||
{
|
||||
rp = ed->table_parts[i];
|
||||
if (rp->param1.description->rel1.id_x >= 0)
|
||||
rp->param1.rel1_to_x = ed->table_parts[rp->param1.description->rel1.id_x % ed->table_parts_size];
|
||||
if (rp->param1.description->rel1.id_y >= 0)
|
||||
rp->param1.rel1_to_y = ed->table_parts[rp->param1.description->rel1.id_y % ed->table_parts_size];
|
||||
if (rp->param1.description->rel2.id_x >= 0)
|
||||
rp->param1.rel2_to_x = ed->table_parts[rp->param1.description->rel2.id_x % ed->table_parts_size];
|
||||
if (rp->param1.description->rel2.id_y >= 0)
|
||||
rp->param1.rel2_to_y = ed->table_parts[rp->param1.description->rel2.id_y % ed->table_parts_size];
|
||||
if (rp->param1.description->common.rel1.id_x >= 0)
|
||||
rp->param1.rel1_to_x = ed->table_parts[rp->param1.description->common.rel1.id_x % ed->table_parts_size];
|
||||
if (rp->param1.description->common.rel1.id_y >= 0)
|
||||
rp->param1.rel1_to_y = ed->table_parts[rp->param1.description->common.rel1.id_y % ed->table_parts_size];
|
||||
if (rp->param1.description->common.rel2.id_x >= 0)
|
||||
rp->param1.rel2_to_x = ed->table_parts[rp->param1.description->common.rel2.id_x % ed->table_parts_size];
|
||||
if (rp->param1.description->common.rel2.id_y >= 0)
|
||||
rp->param1.rel2_to_y = ed->table_parts[rp->param1.description->common.rel2.id_y % ed->table_parts_size];
|
||||
if (rp->part->clip_to_id >= 0)
|
||||
{
|
||||
rp->clip_to = ed->table_parts[rp->part->clip_to_id % ed->table_parts_size];
|
||||
|
|
|
@ -231,6 +231,7 @@ typedef struct _Edje_Part_Collection Edje_Part_Collection;
|
|||
typedef struct _Edje_Part Edje_Part;
|
||||
typedef struct _Edje_Part_Image_Id Edje_Part_Image_Id;
|
||||
typedef struct _Edje_Part_Description Edje_Part_Description;
|
||||
typedef struct _Edje_Part_Description_Common Edje_Part_Description_Common;
|
||||
typedef struct _Edje_Patterns Edje_Patterns;
|
||||
|
||||
typedef struct _Old_Edje_File Old_Edje_File;
|
||||
|
@ -626,7 +627,7 @@ struct _Edje_Part_Image_Id
|
|||
Eina_Bool set;
|
||||
};
|
||||
|
||||
struct _Edje_Part_Description
|
||||
struct _Edje_Part_Description_Common
|
||||
{
|
||||
struct {
|
||||
double value; /* the value of the state (for ranges) */
|
||||
|
@ -652,6 +653,32 @@ struct _Edje_Part_Description
|
|||
int id_y; /* -1 = whole part collection, or part ID */
|
||||
} rel1, rel2;
|
||||
|
||||
struct {
|
||||
int id_persp;
|
||||
int id_light;
|
||||
struct {
|
||||
int id_center;
|
||||
FLOAT_T x, y, z;
|
||||
} rot;
|
||||
unsigned char backcull;
|
||||
unsigned char on;
|
||||
unsigned char persp_on;
|
||||
unsigned char smooth;
|
||||
unsigned char alpha;
|
||||
} map;
|
||||
|
||||
struct {
|
||||
int zplane;
|
||||
int focal;
|
||||
} persp;
|
||||
|
||||
unsigned char visible; /* is it shown */
|
||||
};
|
||||
|
||||
struct _Edje_Part_Description
|
||||
{
|
||||
Edje_Part_Description_Common common;
|
||||
|
||||
struct {
|
||||
Eina_List *tween_list; /* list of Edje_Part_Image_Id */
|
||||
int id; /* the image id to use */
|
||||
|
@ -723,29 +750,8 @@ struct _Edje_Part_Description
|
|||
} padding;
|
||||
} table;
|
||||
|
||||
struct {
|
||||
int id_persp;
|
||||
int id_light;
|
||||
struct {
|
||||
int id_center;
|
||||
FLOAT_T x, y, z;
|
||||
} rot;
|
||||
unsigned char backcull;
|
||||
unsigned char on;
|
||||
unsigned char persp_on;
|
||||
unsigned char smooth;
|
||||
unsigned char alpha;
|
||||
} map;
|
||||
|
||||
struct {
|
||||
int zplane;
|
||||
int focal;
|
||||
} persp;
|
||||
|
||||
Edje_Color color, color2, color3; /* color for rect or text, shadow etc. */
|
||||
Eina_List *external_params; /* parameters for external objects */
|
||||
|
||||
unsigned char visible; /* is it shown */
|
||||
};
|
||||
|
||||
|
||||
|
|
|
@ -644,8 +644,8 @@ _edje_program_run(Edje *ed, Edje_Program *pr, Eina_Bool force, const char *ssig,
|
|||
if (rp->program)
|
||||
_edje_program_end(ed, rp->program);
|
||||
_edje_part_description_apply(ed, rp,
|
||||
rp->param1.description->state.name,
|
||||
rp->param1.description->state.value,
|
||||
rp->param1.description->common.state.name,
|
||||
rp->param1.description->common.state.value,
|
||||
pr->state,
|
||||
pr->value);
|
||||
_edje_part_pos_set(ed, rp, pr->tween.mode, ZERO);
|
||||
|
@ -1136,7 +1136,7 @@ static Eina_Bool _edje_glob_callback(Edje_Program *pr, void *dt)
|
|||
{
|
||||
rp = _edje_real_part_get(data->ed, pr->filter.part ? pr->filter.part : data->source);
|
||||
if (rp)
|
||||
exec = (rp->chosen_description->state.name == pr->filter.state);
|
||||
exec = (rp->chosen_description->common.state.name == pr->filter.state);
|
||||
}
|
||||
|
||||
if (exec)
|
||||
|
|
|
@ -2855,7 +2855,7 @@ edje_object_size_min_restricted_calc(Evas_Object *obj, Evas_Coord *minw, Evas_Co
|
|||
didw = 0;
|
||||
if (ep->chosen_description)
|
||||
{
|
||||
if (!ep->chosen_description->fixed.w)
|
||||
if (!ep->chosen_description->common.fixed.w)
|
||||
{
|
||||
if (w > maxw)
|
||||
{
|
||||
|
@ -2869,7 +2869,7 @@ edje_object_size_min_restricted_calc(Evas_Object *obj, Evas_Coord *minw, Evas_Co
|
|||
/* FIXME: do something */
|
||||
}
|
||||
}
|
||||
if (!ep->chosen_description->fixed.h)
|
||||
if (!ep->chosen_description->common.fixed.h)
|
||||
{
|
||||
if (!((ep->part->type == EDJE_PART_TYPE_TEXTBLOCK) &&
|
||||
(!ep->chosen_description->text.min_x) &&
|
||||
|
@ -2959,18 +2959,18 @@ edje_object_part_state_get(const Evas_Object *obj, const char *part, double *val
|
|||
}
|
||||
if (rp->chosen_description)
|
||||
{
|
||||
if (val_ret) *val_ret = rp->chosen_description->state.value;
|
||||
if (rp->chosen_description->state.name)
|
||||
return rp->chosen_description->state.name;
|
||||
if (val_ret) *val_ret = rp->chosen_description->common.state.value;
|
||||
if (rp->chosen_description->common.state.name)
|
||||
return rp->chosen_description->common.state.name;
|
||||
return "default";
|
||||
}
|
||||
else
|
||||
{
|
||||
if (rp->param1.description)
|
||||
{
|
||||
if (val_ret) *val_ret = rp->param1.description->state.value;
|
||||
if (rp->param1.description->state.name)
|
||||
return rp->param1.description->state.name;
|
||||
if (val_ret) *val_ret = rp->param1.description->common.state.value;
|
||||
if (rp->param1.description->common.state.name)
|
||||
return rp->param1.description->common.state.name;
|
||||
return "default";
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue