forked from enlightenment/efl
parent
bf293931a1
commit
3c71b10522
|
@ -208,6 +208,7 @@ static void st_collections_group_parts_part_description_map_rotation_x(void);
|
|||
static void st_collections_group_parts_part_description_map_rotation_y(void);
|
||||
static void st_collections_group_parts_part_description_map_rotation_z(void);
|
||||
static void st_collections_group_parts_part_description_map_on(void);
|
||||
static void st_collections_group_parts_part_description_map_backface_cull(void);
|
||||
static void st_collections_group_parts_part_description_perspective_zplane(void);
|
||||
static void st_collections_group_parts_part_description_perspective_focal(void);
|
||||
static void st_collections_group_parts_part_api(void);
|
||||
|
@ -429,6 +430,7 @@ New_Statement_Handler statement_handlers[] =
|
|||
{"collections.group.parts.part.description.map.rotation.y", st_collections_group_parts_part_description_map_rotation_y},
|
||||
{"collections.group.parts.part.description.map.rotation.z", st_collections_group_parts_part_description_map_rotation_z},
|
||||
{"collections.group.parts.part.description.map.on", st_collections_group_parts_part_description_map_on},
|
||||
{"collections.group.parts.part.description.map.backface_cull", st_collections_group_parts_part_description_map_backface_cull},
|
||||
{"collections.group.parts.part.description.perspective.zplane", st_collections_group_parts_part_description_perspective_zplane},
|
||||
{"collections.group.parts.part.description.perspective.focal", st_collections_group_parts_part_description_perspective_focal},
|
||||
{"collections.group.parts.part.description.params.int", st_collections_group_parts_part_description_params_int},
|
||||
|
@ -3092,6 +3094,7 @@ ob_collections_group_parts_part_description(void)
|
|||
ed->map.rot.y = FROM_DOUBLE(0.0);
|
||||
ed->map.rot.z = FROM_DOUBLE(0.0);
|
||||
ed->map.on = 0;
|
||||
ed->map.backcull = 0;
|
||||
ed->persp.zplane = 0;
|
||||
ed->persp.focal = 1000;
|
||||
ed->external_params = NULL;
|
||||
|
@ -5754,6 +5757,23 @@ st_collections_group_parts_part_description_map_on(void)
|
|||
ed->map.on = parse_bool(0);
|
||||
}
|
||||
|
||||
static void
|
||||
st_collections_group_parts_part_description_map_backface_cull(void)
|
||||
{
|
||||
Edje_Part_Collection *pc;
|
||||
Edje_Part *ep;
|
||||
Edje_Part_Description *ed;
|
||||
|
||||
check_arg_count(1);
|
||||
|
||||
pc = eina_list_data_get(eina_list_last(edje_collections));
|
||||
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->map.backcull = parse_bool(0);
|
||||
}
|
||||
|
||||
static void
|
||||
st_collections_group_parts_part_description_perspective_zplane(void)
|
||||
{
|
||||
|
|
|
@ -2111,6 +2111,16 @@ _edje_part_recalc(Edje *ed, Edje_Real_Part *ep, int flags)
|
|||
}
|
||||
evas_object_map_set(mo, map);
|
||||
evas_object_map_enable_set(mo, 1);
|
||||
if (ep->param1.description->map.backcull)
|
||||
{
|
||||
if (pf->visible)
|
||||
{
|
||||
if (evas_map_util_clockwise_get(map))
|
||||
evas_object_show(mo);
|
||||
else
|
||||
evas_object_hide(mo);
|
||||
}
|
||||
}
|
||||
evas_map_free(map);
|
||||
}
|
||||
else
|
||||
|
|
|
@ -356,6 +356,7 @@ _edje_edd_init(void)
|
|||
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.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_LIST(_edje_edd_edje_part_description, Edje_Part_Description, "external_params", external_params, _edje_edd_edje_external_param);
|
||||
|
|
|
@ -671,6 +671,7 @@ struct _Edje_Part_Description
|
|||
int id_center;
|
||||
FLOAT_T x, y, z;
|
||||
} rot;
|
||||
unsigned char backcull;
|
||||
unsigned char on;
|
||||
} map;
|
||||
|
||||
|
|
Loading…
Reference in New Issue