summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog2
-rw-r--r--NEWS2
-rw-r--r--data/edje/vim/syntax/edc.vim2
-rw-r--r--src/bin/edje/edje_cc_handlers.c21
-rw-r--r--src/lib/edje/edje_calc.c4
-rw-r--r--src/lib/edje/edje_data.c1
-rw-r--r--src/lib/edje/edje_edit.c1
-rw-r--r--src/lib/edje/edje_private.h1
8 files changed, 29 insertions, 5 deletions
diff --git a/ChangeLog b/ChangeLog
index d08de9ff8d..71570ff19d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,5 @@
12013-05-31 ChunEon Park (Hermet) 12013-05-31 ChunEon Park (Hermet)
2 * Edje: support edc proxy.source_visible 2 * Edje: support edc proxy.source_visible, proxy.source_clip
3 3
42013-05-31 Jérémy Zurcher 42013-05-31 Jérémy Zurcher
5 * Added --enable-image-loader-xyz=yes|static|auto|no for all loaders 5 * Added --enable-image-loader-xyz=yes|static|auto|no for all loaders
diff --git a/NEWS b/NEWS
index bae0c24d6b..16bcda4c85 100644
--- a/NEWS
+++ b/NEWS
@@ -103,7 +103,7 @@ Additions:
103 * Edje: 103 * Edje:
104 - Add edje_object_part_text_input_panel_layout_variation_set/get API 104 - Add edje_object_part_text_input_panel_layout_variation_set/get API
105 - Add EDJE_INPUT_PANEL_LAYOUT_DATETIME layout 105 - Add EDJE_INPUT_PANEL_LAYOUT_DATETIME layout
106 - support edc proxy.source_visible 106 - support edc proxy.source_visible, proxy.source_clip
107 * Evil: 107 * Evil:
108 - Add mkdtemp. 108 - Add mkdtemp.
109 * ecore_x: 109 * ecore_x:
diff --git a/data/edje/vim/syntax/edc.vim b/data/edje/vim/syntax/edc.vim
index 08c6bec6e9..6f41ae326f 100644
--- a/data/edje/vim/syntax/edc.vim
+++ b/data/edje/vim/syntax/edc.vim
@@ -31,7 +31,7 @@ syn keyword edcLabel source5 source6 multiline pointer_mode contained
31syn keyword edcLabel state visible step aspect fixed middle contained 31syn keyword edcLabel state visible step aspect fixed middle contained
32syn keyword edcLabel aspect_preference ellipsis elipsis image contained 32syn keyword edcLabel aspect_preference ellipsis elipsis image contained
33syn keyword edcLabel relative offset to to_x to_y contained 33syn keyword edcLabel relative offset to to_x to_y contained
34syn keyword edcLabel source_visible contained 34syn keyword edcLabel source_visible source_clip contained
35syn keyword edcLabel border border_scale scale_hint color color2 color3 font size contained 35syn keyword edcLabel border border_scale scale_hint color color2 color3 font size contained
36syn keyword edcLabel signal action transition in filter contained 36syn keyword edcLabel signal action transition in filter contained
37syn keyword edcLabel target after fit align contained 37syn keyword edcLabel target after fit align contained
diff --git a/src/bin/edje/edje_cc_handlers.c b/src/bin/edje/edje_cc_handlers.c
index dd9840c910..7017816ab2 100644
--- a/src/bin/edje/edje_cc_handlers.c
+++ b/src/bin/edje/edje_cc_handlers.c
@@ -322,6 +322,7 @@ static void st_collections_group_parts_part_description_table_align(void);
322static void st_collections_group_parts_part_description_table_padding(void); 322static void st_collections_group_parts_part_description_table_padding(void);
323static void st_collections_group_parts_part_description_table_min(void); 323static void st_collections_group_parts_part_description_table_min(void);
324static void st_collections_group_parts_part_description_proxy_source_visible(void); 324static void st_collections_group_parts_part_description_proxy_source_visible(void);
325static void st_collections_group_parts_part_description_proxy_source_clip(void);
325 326
326#ifdef HAVE_EPHYSICS 327#ifdef HAVE_EPHYSICS
327static void st_collections_group_parts_part_description_physics_mass(void); 328static void st_collections_group_parts_part_description_physics_mass(void);
@@ -636,6 +637,7 @@ New_Statement_Handler statement_handlers[] =
636 {"collections.group.parts.part.description.table.padding", st_collections_group_parts_part_description_table_padding}, 637 {"collections.group.parts.part.description.table.padding", st_collections_group_parts_part_description_table_padding},
637 {"collections.group.parts.part.description.table.min", st_collections_group_parts_part_description_table_min}, 638 {"collections.group.parts.part.description.table.min", st_collections_group_parts_part_description_table_min},
638 {"collections.group.parts.part.description.proxy.source_visible", st_collections_group_parts_part_description_proxy_source_visible}, 639 {"collections.group.parts.part.description.proxy.source_visible", st_collections_group_parts_part_description_proxy_source_visible},
640 {"collections.group.parts.part.description.proxy.source_clip", st_collections_group_parts_part_description_proxy_source_clip},
639 641
640#ifdef HAVE_EPHYSICS 642#ifdef HAVE_EPHYSICS
641 {"collections.group.parts.part.description.physics.mass", st_collections_group_parts_part_description_physics_mass}, 643 {"collections.group.parts.part.description.physics.mass", st_collections_group_parts_part_description_physics_mass},
@@ -1100,6 +1102,7 @@ _edje_part_description_alloc(unsigned char type, const char *collection, const c
1100 1102
1101 ed->proxy.id = -1; 1103 ed->proxy.id = -1;
1102 ed->proxy.source_visible = EINA_TRUE; 1104 ed->proxy.source_visible = EINA_TRUE;
1105 ed->proxy.source_clip = EINA_TRUE;
1103 _edje_part_description_fill(&ed->proxy.fill); 1106 _edje_part_description_fill(&ed->proxy.fill);
1104 1107
1105 result = &ed->common; 1108 result = &ed->common;
@@ -7396,6 +7399,24 @@ static void st_collections_group_parts_part_description_table_padding(void)
7396} 7399}
7397 7400
7398static void 7401static void
7402st_collections_group_parts_part_description_proxy_source_clip(void)
7403{
7404 Edje_Part_Description_Proxy *ed;
7405
7406 check_arg_count(1);
7407
7408 if (current_part->type != EDJE_PART_TYPE_PROXY)
7409 {
7410 ERR("parse error %s:%i. proxy attributes in non-PROXY part.",
7411 file_in, line - 1);
7412 exit(-1);
7413 }
7414
7415 ed = (Edje_Part_Description_Proxy*) current_desc;
7416 ed->proxy.source_clip = parse_bool(0);
7417}
7418
7419static void
7399st_collections_group_parts_part_description_proxy_source_visible(void) 7420st_collections_group_parts_part_description_proxy_source_visible(void)
7400{ 7421{
7401 Edje_Part_Description_Proxy *ed; 7422 Edje_Part_Description_Proxy *ed;
diff --git a/src/lib/edje/edje_calc.c b/src/lib/edje/edje_calc.c
index ce1796aab9..f6723138de 100644
--- a/src/lib/edje/edje_calc.c
+++ b/src/lib/edje/edje_calc.c
@@ -2491,8 +2491,8 @@ _edje_proxy_recalc_apply(Edje *ed, Edje_Real_Part *ep, Edje_Calc_Params *p3, Edj
2491 p3->type.common.fill.w, 2491 p3->type.common.fill.w,
2492 p3->type.common.fill.h), 2492 p3->type.common.fill.h),
2493 evas_obj_image_smooth_scale_set(p3->smooth), 2493 evas_obj_image_smooth_scale_set(p3->smooth),
2494 evas_obj_image_source_visible_set(chosen_desc->proxy.source_visible) 2494 evas_obj_image_source_visible_set(chosen_desc->proxy.source_visible),
2495 ); 2495 evas_obj_image_source_clip_set(chosen_desc->proxy.source_clip));
2496} 2496}
2497 2497
2498static void 2498static void
diff --git a/src/lib/edje/edje_data.c b/src/lib/edje/edje_data.c
index 7a9a31d92e..324c2a2598 100644
--- a/src/lib/edje/edje_data.c
+++ b/src/lib/edje/edje_data.c
@@ -724,6 +724,7 @@ _edje_edd_init(void)
724 EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_proxy, Edje_Part_Description_Proxy, "proxy.fill.spread", proxy.fill.spread, EET_T_INT); 724 EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_proxy, Edje_Part_Description_Proxy, "proxy.fill.spread", proxy.fill.spread, EET_T_INT);
725 EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_proxy, Edje_Part_Description_Proxy, "proxy.fill.type", proxy.fill.type, EET_T_CHAR); 725 EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_proxy, Edje_Part_Description_Proxy, "proxy.fill.type", proxy.fill.type, EET_T_CHAR);
726 EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_proxy, Edje_Part_Description_Proxy, "proxy.source_visible", proxy.source_visible, EET_T_CHAR); 726 EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_proxy, Edje_Part_Description_Proxy, "proxy.source_visible", proxy.source_visible, EET_T_CHAR);
727 EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_proxy, Edje_Part_Description_Proxy, "proxy.source_clip", proxy.source_clip, EET_T_CHAR);
727 728
728 EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_Part_Description_Text); 729 EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_Part_Description_Text);
729 eddc.func.mem_free = mem_free_text; 730 eddc.func.mem_free = mem_free_text;
diff --git a/src/lib/edje/edje_edit.c b/src/lib/edje/edje_edit.c
index c9b9f84e60..0e772c534e 100644
--- a/src/lib/edje/edje_edit.c
+++ b/src/lib/edje/edje_edit.c
@@ -3096,6 +3096,7 @@ edje_edit_state_add(Evas_Object *obj, const char *part, const char *name, double
3096 3096
3097 pro->proxy.id = -1; 3097 pro->proxy.id = -1;
3098 pro->proxy.source_visible = EINA_TRUE; 3098 pro->proxy.source_visible = EINA_TRUE;
3099 pro->proxy.source_clip = EINA_TRUE;
3099 pro->proxy.fill.smooth = 1; 3100 pro->proxy.fill.smooth = 1;
3100 pro->proxy.fill.pos_rel_x = 0.0; 3101 pro->proxy.fill.pos_rel_x = 0.0;
3101 pro->proxy.fill.pos_abs_x = 0; 3102 pro->proxy.fill.pos_abs_x = 0;
diff --git a/src/lib/edje/edje_private.h b/src/lib/edje/edje_private.h
index 968bc4962e..5aeaf99066 100644
--- a/src/lib/edje/edje_private.h
+++ b/src/lib/edje/edje_private.h
@@ -1131,6 +1131,7 @@ struct _Edje_Part_Description_Spec_Proxy
1131 1131
1132 int id; /* the part id to use as a source for this state */ 1132 int id; /* the part id to use as a source for this state */
1133 Eina_Bool source_visible; /* source object visibility */ 1133 Eina_Bool source_visible; /* source object visibility */
1134 Eina_Bool source_clip; /* source object clip */
1134}; 1135};
1135 1136
1136struct _Edje_Part_Description_Spec_Text 1137struct _Edje_Part_Description_Spec_Text