From cda9532f446b1f465a6bc478e3a7d29a79b3573b Mon Sep 17 00:00:00 2001 From: "Carsten Haitzler (Rasterman)" Date: Mon, 30 Oct 2017 17:01:39 +0900 Subject: [PATCH] edje_cc - add offset_scale/offscale per desc to allow offsets to scale there already was this flag but only set implicitly with anchor stuff. allow to be able to set this flag explicitly to allow offsets to be scaled if part is marked to scale @feature --- src/bin/edje/edje_cc_handlers.c | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/src/bin/edje/edje_cc_handlers.c b/src/bin/edje/edje_cc_handlers.c index 3f83283c75..c6aed3de83 100644 --- a/src/bin/edje/edje_cc_handlers.c +++ b/src/bin/edje/edje_cc_handlers.c @@ -442,6 +442,7 @@ static void st_collections_group_parts_part_description_orientation_look_to(void static void st_collections_group_parts_part_description_orientation_angle_axis(void); static void st_collections_group_parts_part_description_orientation_quaternion(void); static void st_collections_group_parts_part_description_scale(void); +static void st_collections_group_parts_part_description_offset_scale(void); static void st_collections_group_parts_part_description_mesh_primitive(void); static void ob_collections_group_parts_part_description_texture(void); static void st_collections_group_parts_part_description_texture_image(void); @@ -875,6 +876,7 @@ New_Statement_Handler statement_handlers[] = {"collections.group.parts.part.description.rel2.to", st_collections_group_parts_part_description_rel2_to}, {"collections.group.parts.part.description.rel2.to_x", st_collections_group_parts_part_description_rel2_to_x}, {"collections.group.parts.part.description.rel2.to_y", st_collections_group_parts_part_description_rel2_to_y}, + {"collections.group.parts.part.description.offset_scale", st_collections_group_parts_part_description_offset_scale}, {"collections.group.parts.part.description.anchors.top", st_collections_group_parts_part_description_anchors_top}, {"collections.group.parts.part.description.anchors.bottom", st_collections_group_parts_part_description_anchors_bottom}, {"collections.group.parts.part.description.anchors.left", st_collections_group_parts_part_description_anchors_left}, @@ -1165,6 +1167,7 @@ New_Statement_Handler statement_handlers_short[] = desc { vis; -> visible: 1; hid; -> visible: 0; + offscale; -> offset_scale: 1; } } } @@ -1192,6 +1195,7 @@ New_Statement_Handler statement_handlers_short_single[] = {"collections.group.parts.part.norequired", st_collections_group_parts_part_norequired}, {"collections.group.parts.part.description.vis", st_collections_group_parts_part_description_vis}, {"collections.group.parts.part.description.hid", st_collections_group_parts_part_description_hid}, + {"collections.group.parts.part.description.offscale", st_collections_group_parts_part_description_offset_scale}, {"collections.group.mouse", st_collections_group_mouse}, {"collections.group.nomouse", st_collections_group_nomouse}, {"collections.group.broadcast", st_collections_group_broadcast}, @@ -12571,6 +12575,31 @@ st_collections_group_parts_part_description_scale(void) } } +/** + @page edcref + @property + offset_scale + @parameters + [1 or 0] + @effect + Makes rel1/2 offset values scale by scale factor like min/max if set + to 1, otherwise 0 means they will not scale. 0 is the default. Note + that the part as a whole has to be set to scale too like: + + part { name: "partname"; scale: 1; + ... + + @endproperty +*/ +static void +st_collections_group_parts_part_description_offset_scale(void) +{ + if (get_arg_count() == 1) + current_desc->offset_is_scaled = parse_bool(0); + else + current_desc->offset_is_scaled = EINA_TRUE; +} + /** @edcsubsection{collections_group_parts_description_texture, Group.Parts.Part.Description.Texture}