edje - support edc source_visible

This commit is contained in:
ChunEon Park 2013-05-31 17:35:30 +09:00
parent f87c050342
commit 80e1353807
8 changed files with 39 additions and 5 deletions

View File

@ -1,3 +1,6 @@
2013-05-31 ChunEon Park (Hermet)
* Edje: support edc proxy.source_visible
2013-05-31 Jérémy Zurcher
* Added --enable-image-loader-xyz=yes|static|auto|no for all loaders
* compilation fail if not found and option set to yes or static

1
NEWS
View File

@ -103,6 +103,7 @@ Additions:
* Edje:
- Add edje_object_part_text_input_panel_layout_variation_set/get API
- Add EDJE_INPUT_PANEL_LAYOUT_DATETIME layout
- support edc proxy.source_visible
* Evil:
- Add mkdtemp.
* ecore_x:

View File

@ -14,7 +14,7 @@ endif
" A bunch of useful keywords
syn keyword edcBlock images data fonts collections group contained
syn keyword edcBlock part parts dragable description contained
syn keyword edcBlock text font fill origin size image contained
syn keyword edcBlock text font fill origin size image proxy contained
syn keyword edcBlock programs program styles style contained
syn keyword edcBlock gradient spectra spectrum contained
syn keyword edcBlock color_classes color_class rel1 rel2 contained
@ -31,6 +31,7 @@ syn keyword edcLabel source5 source6 multiline pointer_mode contained
syn keyword edcLabel state visible step aspect fixed middle contained
syn keyword edcLabel aspect_preference ellipsis elipsis image contained
syn keyword edcLabel relative offset to to_x to_y contained
syn keyword edcLabel source_visible contained
syn keyword edcLabel border border_scale scale_hint color color2 color3 font size contained
syn keyword edcLabel signal action transition in filter contained
syn keyword edcLabel target after fit align contained

View File

@ -321,6 +321,8 @@ static void st_collections_group_parts_part_description_table_homogeneous(void);
static void st_collections_group_parts_part_description_table_align(void);
static void st_collections_group_parts_part_description_table_padding(void);
static void st_collections_group_parts_part_description_table_min(void);
static void st_collections_group_parts_part_description_proxy_source_visible(void);
#ifdef HAVE_EPHYSICS
static void st_collections_group_parts_part_description_physics_mass(void);
static void st_collections_group_parts_part_description_physics_restitution(void);
@ -633,6 +635,8 @@ New_Statement_Handler statement_handlers[] =
{"collections.group.parts.part.description.table.align", st_collections_group_parts_part_description_table_align},
{"collections.group.parts.part.description.table.padding", st_collections_group_parts_part_description_table_padding},
{"collections.group.parts.part.description.table.min", st_collections_group_parts_part_description_table_min},
{"collections.group.parts.part.description.proxy.source_visible", st_collections_group_parts_part_description_proxy_source_visible},
#ifdef HAVE_EPHYSICS
{"collections.group.parts.part.description.physics.mass", st_collections_group_parts_part_description_physics_mass},
{"collections.group.parts.part.description.physics.restitution", st_collections_group_parts_part_description_physics_restitution},
@ -1095,7 +1099,7 @@ _edje_part_description_alloc(unsigned char type, const char *collection, const c
ed = mem_alloc(SZ(Edje_Part_Description_Proxy));
ed->proxy.id = -1;
ed->proxy.source_visible = EINA_TRUE;
_edje_part_description_fill(&ed->proxy.fill);
result = &ed->common;
@ -7391,6 +7395,24 @@ static void st_collections_group_parts_part_description_table_padding(void)
ed->table.padding.y = parse_int_range(1, 0, 0x7fffffff);
}
static void
st_collections_group_parts_part_description_proxy_source_visible(void)
{
Edje_Part_Description_Proxy *ed;
check_arg_count(1);
if (current_part->type != EDJE_PART_TYPE_PROXY)
{
ERR("parse error %s:%i. proxy attributes in non-PROXY part.",
file_in, line - 1);
exit(-1);
}
ed = (Edje_Part_Description_Proxy*) current_desc;
ed->proxy.source_visible = parse_bool(0);
}
static void
st_collections_group_parts_part_description_table_min(void)
{

View File

@ -2486,9 +2486,13 @@ _edje_proxy_recalc_apply(Edje *ed, Edje_Real_Part *ep, Edje_Calc_Params *p3, Edj
}
eo_do(ep->object,
evas_obj_image_fill_set(p3->type.common.fill.x, p3->type.common.fill.y,
p3->type.common.fill.w, p3->type.common.fill.h),
evas_obj_image_smooth_scale_set(p3->smooth));
evas_obj_image_fill_set(p3->type.common.fill.x,
p3->type.common.fill.y,
p3->type.common.fill.w,
p3->type.common.fill.h),
evas_obj_image_smooth_scale_set(p3->smooth),
evas_obj_image_source_visible_set(chosen_desc->proxy.source_visible)
);
}
static void

View File

@ -723,6 +723,7 @@ _edje_edd_init(void)
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_proxy, Edje_Part_Description_Proxy, "proxy.fill.angle", proxy.fill.angle, EET_T_INT);
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_proxy, Edje_Part_Description_Proxy, "proxy.fill.spread", proxy.fill.spread, EET_T_INT);
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_proxy, Edje_Part_Description_Proxy, "proxy.fill.type", proxy.fill.type, EET_T_CHAR);
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_proxy, Edje_Part_Description_Proxy, "proxy.source_visible", proxy.source_visible, EET_T_CHAR);
EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_Part_Description_Text);
eddc.func.mem_free = mem_free_text;

View File

@ -3095,6 +3095,7 @@ edje_edit_state_add(Evas_Object *obj, const char *part, const char *name, double
memset(&pro->proxy, 0, sizeof (pro->proxy));
pro->proxy.id = -1;
pro->proxy.source_visible = EINA_TRUE;
pro->proxy.fill.smooth = 1;
pro->proxy.fill.pos_rel_x = 0.0;
pro->proxy.fill.pos_abs_x = 0;

View File

@ -1130,6 +1130,7 @@ struct _Edje_Part_Description_Spec_Proxy
Edje_Part_Description_Spec_Fill fill;
int id; /* the part id to use as a source for this state */
Eina_Bool source_visible; /* source object visibility */
};
struct _Edje_Part_Description_Spec_Text